
- •Вопросы к экзамену по информатике и311
- •Информация и данные. Свойства информации.
- •Операции над данными.
- •Измерение и представление информации. Синтаксический, семантический и прагматический подход к оценке информации.
- •Количество информации. Формула Хартли. Формула Шеннона.
- •Основные структуры данных: линейные, табличные и иерархические.
- •Файлы и файловая структура.
- •7 Представление целых и действительных чисел в двоичном коде.
- •8 Система счисления. Переход из q-ой в десятичную и наоборот.
- •9 Кодирование символьных и текстовых данных.
- •10 Кодирование графических данных.
- •Кодирование звуковой информации.
- •12 Алгебра логики. Логические операции и их таблицы истинности
- •13 Логические функции и их скнф и сднф.
- •14 Элементы теории множеств.
- •15 Элементы теории графов. Способы задания графов.
- •16 Элементы теории графов. Метрические характеристики графов.
- •17 Релейно-контактные схемы.
- •18 Вычислительная техника.
- •19 Классификация компьютеров по сферам применения.
- •20 Базовая система элементов компьютерных систем.
- •21 Функциональные узлы компьютерных систем. Триггеры.
- •22 Функциональные узлы компьютерных систем. Регистры.
- •23 Архитектура эвм. Принципы Дж. Фон Неймана.
- •24 Архитектура эвм с фиксированным набором устройств.
- •25 Открытая архитектура.
- •26 Архитектура многопроцессорных вычислительных систем.
- •27 Центральный процессор.
- •29 Оперативное запоминающее устройство.
- •30 Внутренние шины передачи данных.
- •2.7.3. Внутренние шины передачи данных
- •31 Внешние запоминающие устройства компьютера.
- •32 Видеотерминалы.
- •33 Клавиатура. Мышь.
- •34 Устройство печати. Сканер.
- •35 Звуковая карта. Модемы.
- •36 Состав системного программного обеспечения.
- •37 Операционные системы.
- •3.3. Виды операционных систем и их базовые понятия
- •38 Операционные системы. Процессы и потоки.
- •39 Операционные системы. Управление памятью.
- •40 Операционные системы. Организация ввода-вывода.
- •41 Драйверы устройств.
- •42 Файловые системы.
- •43 Служебные программы.
- •3.11.3. Программы резервирования данных
- •3.11.4. Программы записи компакт-дисков, просмотра и конвертации, сравнения файлов
- •44 Прикладное программное обеспечение.
- •3.13. Прикладное программное обеспечение
- •3.13.1. Ппо общего назначения
- •3.13.2. Ппо специального назначения
- •8 Система счисления. Переход из q-ой в десятичную и наоборот.
38 Операционные системы. Процессы и потоки.
Все ЭВМ могут одновременно выполнять несколько операций, например, чтение с диска и вывод текста на экран монитора или на принтер. В многозадачной системе процессор переключается между программами, предоставляя каждой от десятков до сотен миллисекунд. При этом создается иллюзия параллельной работы всех программ. Если центральный процессор один, то речь идет о псевдопараллелизме, в отличие от настоящего параллелизма в многопроцессорных системах.
Всякая ОС осуществляет модель последовательных процессов, именно работа всех программ и частей персонального компьютера организована в виде набора последовательных процессов. Например, процессом является выполняемая программа вместе с текущим значением счетчика команд, регистров и переменных. С позиции этой абстрактной модели у каждого процесса есть собственный центральный виртуальный процессор. На самом деле ЦП переключается с процесса на процесс. Это переключение называется многозадачностью или мультипрограммированием.
Операционной системе нужен способ создания и прерывания процессов по мере необходимости. Обычно при загрузке ОС создаются несколько процессов. Некоторые из них обеспечивают взаимодействие с пользователем и выполняют заданную работу, остальные являются фоновыми и выполняют особые функции, не связанные с данным пользователем.
Текущий процесс может создать один или несколько новых процессов. Это полезно в тех случаях, когда выполняемую задачу можно сформулировать как набор связанных, но независимых взаимодействующих процессов. Например, если выбирается большое количество данных из сети, то удобно создать один процесс для выборки данных и размещения их в буфере, другой — для считывания и обработки данных из буфера.
Все процессы завершаются по мере выполнения своей работы. Процессы являются независимыми объектами со своими счетчиками команд и внутренними состояниями. Процессы могут взаимодействовать друг с другом. Модель процессов упрощает представление о внутреннем поведении системы. Эту модель можно представить следующей схемой — рис. 3.3. Нижний уровень — планировщик — специальная программа. На верхних уровнях расположены процессы. Обработка прерываний и процедуры, связанные с запуском и остановкой процессов, выполняются планировщиком. Вся остальная часть ОС структурирована в виде набора процессов.
Рис. 3.3. Модель процессов
В таблице процессов о каждом открытом процессе хранится следующая информация:
о состоянии процесса;
счетчик команд;
распределение памяти;
состояние открытых файлов;
указатель стека;
об использовании и распределении ресурсов.
Модель процесса базируется на двух независимых концепциях: группировании ресурсов и выполнении программы. Когда эти концепции разделяют, появляется понятие потока.
В обычных ОС каждый процесс определяется соответствующим адресным пространством и одиночным управляющим потоком. Однако нередки ситуации, когда в одном адресном пространстве желательно иметь несколько квазипараллельных управляющих процессов.
Прежде всего, каждый процесс рассматривается как способ объединения родственных ресурсов в одну группу. У процесса есть адресное пространство, содержащее программу, данные, открытые файлы, дочерние процессы, аварийные необработанные события, обработчики сигналов, учетная информация и п. п. Это ресурсы процесса.
С другой стороны, каждый процесс можно рассматривать как поток исполняемых команд. Поток имеет счетчик команд, регистры с текущими переменными, стек, где хранится протокол выполнения процесса. Если процессы используются для группирования ресурсов, то потоки являются объектами, поочередно исполняющимися на центральном процессоре.
Концепция потоков позволяет в одной и той же модели процесса поочередно выполнять несколько достаточно независимых программ. При запуске многопоточного процесса в системе с одним процессом потоки работают поочередно. Процессор быстро переключается с одного потока на другой, создавая иллюзию параллельной работы потоков. При этом все потоки остаются в одном адресном пространстве и совместно используют одни и те же выделенные ресурсы.
Необходимость введения потоков диктуется следующими причинами. Во-первых, все программы выполняют большое количество действий, которые могут время от времени блокироваться. В этом случае появляется возможность выполнять другие действия в одном и том же адресном пространстве. Во-вторых, потоки легко создать и уничтожить, т. к. с потоком не связаны никакие особо выделенные ресурсы. Время создания потока в сто раз меньше времени создания процесса. В-третьих, при использовании потоков во многих случаях увеличивается производительность компьютера.