ОС / 4. ОС - Управление процессами - 1
.pdfОперационные системы
Управление процессами – 1: общие вопросы
лектор: Дроздов Сергей Николаевич
доцент кафедры МОП ЭВМ ЮФУ
dr@pochtamt.ru _dr@mail.ru
Таганрог 2012 г.
2
Основные задачи управления процессами
В однозадачном режиме:
загрузка и запуск программы;
выполнение системных вызовов процесса;
обработка ошибок, возникших в ходе выполнения;
нормальное завершение процесса;
прекращение процесса в случае ошибки или вмешательства пользователя.
В многозадачном режиме – дополнительно:
эффективная реализация параллельного выполнения процессов на единственном процессоре, переключение процессора между процессами;
выбор очередного процесса для выполнения;
исключение возможности несанкционированного вмешательства одного процесса в выполнение другого;
предотвращение или устранение тупиковых ситуаций, возникающих при конкуренции процессов за системные ресурсы;
обеспечение синхронизации процессов и обмена данными между ними.
Операционные системы. Управление процессами - 1
3
Основные понятия
Процесс: работа, производимая последовательным процессором при выполнении программы с ее данными.
Параллельные процессы: два или более процесса, одновременно выполняющиеся в системе.
Ресурс: любой аппаратный или программный объект, доступ к которому может вызвать конкуренцию процессов.
Операционные системы. Управление процессами - 1
4
Уровни рассмотрения управления процессами в ОС
Нижний уровень: проблемы корректной и эффективной реализации параллельного выполнения процессов.
Верхний уровень: проблемы корректного взаимодействия параллельных процессов. При этом считается, что низкоуровневые проблемы реализации процессов так или иначе решены.
Разделение на уровни облегчает проектирование и отладку систем, позволяет лучше понять существо рассматриваемых проблем.
Операционные системы. Управление процессами - 1
5
Квазипараллельная реализация процессов
На верхнем уровне рассмотрения:
кажется, что процессы работают параллельно.
На нижнем (детальном по времени) уровне: процессы работают поочередно, переключаясь через малые кванты времени.
Операционные системы. Управление процессами - 1
6
Основные состояния процесса
Б |
л |
|
Работа: команды процесса выполняются процессором;
Готовность: процесс может продолжить работу, как только системный планировщик ему разрешит;
Сон (Ожидание): процесс не может продолжить работу, пока не произойдет некоторое внешнее событие. Состояние сна есть состояние пассивного ожидания.
Операционные системы. Управление процессами - 1
7
Переходы между состояниями
Работа Сон: блокировка процесса при вызове блокирующей системной функции.
Сон Готовность: пробуждение процесса, выполняется системой при возникновении соответствующего условия.
Работа Готовность: вытеснение процесса, когда планировщик принимает решение о смене текущего процесса.
Готовность Работа: выбор процесса планировщиком для выполнения.
Операционные системы. Управление процессами - 1
8
Дополнительные состояния процесса
Старт: процесс находится на этапе создания и пока не готов вступить в работу.
Завершение (состояние «зомби»): процесс завершил свою работу, но пока присутствует в системе в виде записи о результатах и причине завершения.
Приостановка (suspended): выполнение процесса временно прервано оператором (или другим процессом) и позднее должно быть им же возобновлено.
В конкретных ОС могут различаться и иные состояния процесса.
Операционные системы. Управление процессами - 1
9
Блокировка процесса
Процесс вызывает системную функцию, которая не может быть выполнена сразу, например:
ввод/вывод на дисковое устройство;
ожидание нажатия клавиши;
запрос ресурса, который сейчас занят;
пауза на заданный промежуток времени;
запрос сообщения, когда очередь сообщений пуста:
ожидание завершения другого процесса;
и т.п.
Система переводит процесс в состояние ожидания и запоминает причину ожидания.
Системные функции, которые могут вызвать переход в ожидание, называются блокирующими.
Операционные системы. Управление процессами - 1
10
Пробуждение процесса
Происходит событие, которого ожидали один или несколько спящих процессов, например:
завершается операция ввода/вывода на дисковое устройство;
пользователь нажимает клавишу;
освобождается запрошенный ресурс;
истекает заданная пауза (приходит сигнал от таймера);
приходит сообщение для процесса;
завершается другой процесс;
и т.п.
Система проверяет список спящих процессов и, если находит процесс, ожидавший этого события, переводит его в состояние готовности.
Одно событие может (в принципе) разбудить сразу несколько процессов.
Операционные системы. Управление процессами - 1