Организация очередей процессов



Лабораторная работа №4

Моделирование очереди процессов

Основные понятия управления процессами

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

Для управления процессом ОС использует системную структуру данных PCB(Process Control Block) – Блок управления процессом.

PCB – это массив структур содержащих информацию, специфическую для данного процесса:

- состояние, в котором находится процесс;

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

- содержимое регистров процессора;

- данные, необходимые для планирования использования процессора и управления памятью (приоритет процесса, размер и расположение адресного пространства и т. д.);

- учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом и т. д.);

- сведения об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов).

 

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

Процесс в системе может находиться в различных состояниях. Количество состояний процесса разное в разных ОС (так, в ОС Unix различают 9 возможных состояний процесса, в ОС Windows – 7, QNX - 11), но все они сводятся к трем основным, показанным на Рис.1.1.


Рисунок 1.1 – Состояния процесса

Активное состояние – процесс имеет все необходимые для выполнения ресурсы, в том числе и ресурс центрального процессора; активный процесс выполняется.

Готовое состояние – процесс имеет все необходимые для выполнения ресурсы, кроме ресурса центрального процессора.

Заблокированное (ожидающее) состояние – процессу не хватает еще какого-либо ресурса (ресурсов).

В рамках принятой модели состояний процессов содержимое PCB между операциями остается постоянным.

 

Новый PCB создается при рождении процесса. Система заводит с состоянием процесса рождение и начинает его заполнять. Новый процесс получает собственный уникальный идентификационный номер.

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

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

Организация очередей процессов

Для управления процессами ОС организует следующие очереди:

1. Очередь заданий (job queue) – cодержит множество всех процессов в системе. В нее попадает каждый новый процесс и остается в ней в течение всего пребывания в системе.

2. Очередь готовых процессов (ready queue) – наиболее часто используемая и изменяемая очередь, содержащая множество всех процессов, находящихся в основной памяти и готовых к выполнению. В нее попадает каждый новый процесс, который система допускает к выполнению, а также каждый процесс после выполнения ввода-вывода или наступление ожидаемого события.

3. Очереди процессов, ожидающих ввода-вывода (device queues) – множества процессов, ожидающих результата работы устройств ввода-вывода (для каждого устройства организуется своя очередь).

 

Элементами очередей на “физическом уровне” являются дескрипторы задач.

На 1.2 изображена схема организации очереди готовых процессов и очередей к устройствам ввода-вывода.

Рис. 1.2 – Очередь готовых процессов и очереди к устройствам ввода-вывода.

Как видно из схемы, в очереди готовых процессов находятся те процессы, ввод-вывод в которых завершен. Процессы, выполняющие ввод-вывод или ждущие возможности его выполнить (освобождения соответствующего устройства) стоят в очереди к устройству. Некоторые устройства могут быть свободны, другие – содержать более одного процесса в очереди. Следует также обратить внимание на организацию очереди, с точки зрения представления данных. Полезный прием состоит в том, что для очереди хранится не только ссылка на начало (голову), но и ссылка на конец (хвост), что позволяет более эффективно управлять очередями (например, быстро добавить элемент в конец очереди). Место процесса в очереди определяется его приоритетом.


Дата добавления: 2015-12-21; просмотров: 58; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!