Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 3_управление процессами.doc
Скачиваний:
76
Добавлен:
20.06.2014
Размер:
1.59 Mб
Скачать

3.1.2.2. Модель с семью состояниями

Существует 4 комбинации:

  1. готовый – процесс в памяти и готов к выполнению;

  2. блокированный – в памяти, но не готов, ожидает события;

  3. готовый, но приостановленный – на диске, готов, ожидает события;

  4. блокированный, приостановленный – на диске, не готов, ожидает события.

С учетом указанных комбинаций получается модель с 7-ю состояниями (рис. 7).

Рис.7

В состояние «завершенный» можно переходить из любого состояния.

7-6 стандартное вытеснение процесса;

6-2 происходит событие, которого ожидал вытесненный процесс;

2-3

1) нет готовых процессов в памяти и приходится загружать их с диска;

2) приоритет вытесненного процесса может превышать приоритет процесса в памяти;

3-2 обычно такой переход не целесообразен, но иногда это единственный способ освободить достаточно большой блок памяти;

1-2, 2-1 когда система перегружена, она может загружать новые задания;

6-7 если ОС обладает информацией, что скоро произойдет событие, которого ожидает блокированный вытесненный процесс (процесс с высоким приоритетом), такой переход целесообразен;

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

Процесс может быть подвергнут swapping’у не только при нехватке памяти. Другие причины:

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

2) Запрос пользователя.

3) Запрос родительского процесса.

3.1.3. Управляющие структуры ос для процессов и ресурсов

3.1.3.1. Основные виды системных таблиц. Сегментация виртуального адресного пространства процесса

Рис.8

В общем случае любые системные таблицы, так или иначе, связанны с первичными таблицами процессов (рис. 8).

Таблицы памяти включают:

  1. Объем основной памяти процесса

  2. Объем вторичной памяти процесса

  3. Атрибуты защиты блоков памяти

  4. Информация по управлению виртуальной памятью

Таблицы ввода/вывода:

  1. Занято или свободно устройство

  2. Каким процессом используется

  3. Состояние текущей операции вв/выв

  4. Адреса буферов, очередей и т.п.

Таблицы файлов:

  1. Работу с файлами ведет файловая система

  2. Файловые таблицы ведутся самой ОС

Первичные таблицы процессов

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

Процессу должен быть выделен такой объем памяти, чтобы поместились программный код, данные, стек. ОС требуется управлять процессом, для этого потребуется память для хранения специальных атрибутов, называемых в совокупности управляющим блоком процесса (PCB–processcontrolblock,TCB–taskcontrolblock, дескриптор процесса, дескриптор задачи).

В большинстве современных ОС используется такая схема, в которой образ процесса состоит из набора блоков, не обязательно расположенных последовательно. Если эти блоки могут быть переменной длины – сегментная организация памяти, фиксированный – страничная организация. Каждый такой блок может находиться в оперативной памяти или на диске. Поэтому таблицы процессов должны содержать сведения о местонахождении каждого сегмента или страницы.