Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОС / 4. ОС - Управление процессами - 1

.pdf
Скачиваний:
39
Добавлен:
01.06.2015
Размер:
1.1 Mб
Скачать

Операционные системы

Управление процессами – 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