Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Стоулин ГЛАВА 3 Процессы.doc
Скачиваний:
47
Добавлен:
11.05.2015
Размер:
5.19 Mб
Скачать

3.6. Рекомендуемая литература

Материал этой главы изложен в учебниках, приведенных в разделе 2.9. Описание управления процессами в операционной системе UNIX можно найти в [GOOD94] и [GRAY97]. В [NEHM75] обсуждаются состояния процессов и прими­тивов операционной системы, использующиеся при диспетчеризации процессов.

GOOD94 Goodheart В., Сох J. The Magic Garden Explained: The Internals of UNIX System V Release 4. — Englewood Cliffs, NJ: Prentice Hall, 1994.

GRAY97 Gray J. Interprocess Communication in UNIX: The Nooks and Crannies. — Upper Saddle River, NJ: Prentice Hall, 1997.

NEHM75 Nehmer J. Dispatcher Primitives for the Construction of Operating System Kernels. — Acta Informatica, vol. 5, 1975.

3.7. Задачи

Назовите пять основных функций операционной системы при управлении процессами; обоснуйте в общих чертах их необходимость.

  1. В [PINK89] определены такие состояния процессов: выполняющийся, готовый к выполнению, блокированный и приостановленный. Процесс находится в блокированном состоянии, если он ожидает разрешения использовать какой-то ресурс; процесс является приостановленным, если он ждет, пока освободится ресурс, запрос на использование которого он уже отправил. Во многих операционных системах эти два состояния объединяются в одно, и называются блокированным состоянием. В этом случае определение приостановленного состояния совпадает с тем, которое использовалось в данной главе. Сравните преимущества использования этих двух наборов состояний.

  2. Нарисуйте диаграмму с использованием очередей для модели с семью состояниями, изображенной на рис. 3.6,6. В качестве основы возьмите диаграмму, представленную на рис. 3.5,6.

  3. Рассмотрим диаграмму переходов состояний, изображенную на рис. 3.6,6. Предположим, что для операционной системы пришло время переключать процесс. Пусть у нас имеются процессы как в состоянии готовности, так и готовые к выполнению приостановленные. Кроме того, по крайней мере один из готовых к выполнению приостановленных процессов имеет более высокий приоритет по сравнению с приоритетом любого процесса в состоянии готовности. Можно действовать в соответствии с одной из двух следующих стратегий.

  1. Всегда выбирать процесс в состоянии готовности, чтобы свести свопинг к минимуму.

  2. Всегда отдавать предпочтение процессу с более высоким приоритетом, даже если для этого приходится выполнять свопинг, который не является необходимым.

Предложите промежуточную стратегию, в которой была бы предпринята попытка сбалансировать концепции приоритета и производительности.

3.5. В табл. 3.13 приведены состояния процессов, использующиеся в операционной системе VAX/VMS.

а. Сможете ли вы найти оправдание наличию такого большого количества различных состояний ожидания?

б. Почему нет резидентных и приостановленных версий таких состояний, как ожидание загрузки страницы в основную память, ожидание разрешения конфликта доступа к странице, ожидание общего события, ожидание свободной страницы и ожидание ресурса.

в. Изобразите диаграмму переходов состояний и укажите на ней действие или событие, которое приводит к каждому из изображенных переходов.

Таблица 3.13. Состояния процессов в операционной системе VAX/VMS

Выполняющееся Выполняющийся процесс

Выполнимое (резидентное) Готовый к выполнению процесс, находящийся в основной памяти

Выполнимое (выгруженное) Готовый к выполнению процесс, выгруженный из основной памяти

Состояние ожидания

загруз­ки страницы Процесс обратился к странице, которая отсутствует в основной памяти, и должен ждать, пока она будет считана

Состояние ожидания

разре­шения конфликта

доступа к странице Процесс обратился к совместно используемой странице, загрузку которой уже ожидает другой процесс, или к персональной странице, для которой как раз выполняет­ся чтение или запись

Состояние ожидания

общего события Ожидание переключения совместно используемого флага событий (флаги событий — это однобитовые механизмы передачи сигналов от одного процесса другому)

Состояние ожидания

свобод­ной страницы Процесс ожидает, пока ко множеству выделенных ему и находящихся в основной памяти страниц (рабочему мно­жеству процесса) будет добавлена свободная страница ос­новной памяти

Состояние сна Процесс переводит сам себя в состояние ожидания

(резидентное)

Состояние сна

(выгруженное) Процесс в состоянии сна выгружается из основной памяти

Ожидание локального

собы­тия (резидентное) Процесс находится в основной памяти и ожидает наступ­ления локального события (обычно этим событием явля­ется завершение ввода-вывода)

Ожидание локального

собы­тия (выгруженное) Процесс в ожидании локального события выгружен из основной памяти

Приостановленное

(резидентное) Процесс, переведенный другим процессом в состояние ожидания

Приостановленное

(выгруженное) Приостановленный процесс выгружается из основной памяти

Ожидание ресурса Процесс, ожидающий, пока ему будет предоставлен какой-то системный ресурс