
К9-12В. Вопросы и ответы к ГОСам 2013 / Операционные системы / 06. Принципы организации многозадачного режима в ОС
.docx06. Принципы организации многозадачного режима в ОС.
Операционная система UNIX - многопользовательская многозадачная система.
Задача – программа, которой выделены ресурсы. В любой момент в системе могут работать несколько пользователей, и для обеспечения выполнения вычислительных заданий каждого из пользователей может быть инициализировано по несколько процессов. Все процессы развиваются параллельно в режиме мультипрограммирования. Концепция процесса является базовой в ОС UNIX. Процессом называется как выполнение программы так и структура данных.
Процесс строится для каждой прикладной(например, sh-процедуры) и системной задачи(например, утилиты) с помощью системного вызова fork. Является единицей вычислительной работы и потребления ресурсов. В процессе жизни в системе процесс
непосредственно управляется специальными системными вызовами, которые обеспечивают его построение— передачу управления— завершение:
fork - exec - exit— совокупность этих переключений состояний процесса определяет время существования процесса.
В общем случае активный процесс (выполняемая задача) может находиться в одном из шести состояний (в Linux):
• ожидание процессора в очереди;
• выполнение на процессоре в течение выделенного кванта времени;
• ожидание освобождения ресурса(например– устройства);
• приостановлен специальным сигналом;
• завершился, но его дескриптор еще в оперативной памяти ядра ОС;
• процесс свопирован на внешнюю память.
В ОП в активном состоянии находится несколько процессов— до 30000. Каждому процессу выделяется виртуальная память практически без ограничений(за счет страничной организации).
При выполнении любого вычислительного задания прикладные и системные процессы ядра должны взаимодействовать между собой. Это необходимо для обмена данными, для передачи управляющей информации при использовании системных ресурсов, для синхронизации или управления последовательностью выполнения процессов и т.п.
Процесссор выделяется каждому процессу в очереди на ограниченные кванты времени в отличие от однозадачного режима(DOS), где процессор выделяется процессам последовательно на все время выполнения процесса. Это принципиально отличает многозадачный режим обработки заданий в UNIX. В UNIX пересчет приоритетов происходит постоянно по прерываниям определенного типа с частотой— около одного раза в секунду.
+ см. вопрос 10 по процессам