Операционные системы. Курс лекций

Структура управления процессами.


Чтобы ОС могла управлять процессом, во-первых, она должна знать, где находиться этот процесс, а, во-вторых, ей должны быть известны необходимые для управления атрибуты процесса.

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

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

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

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

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

Управляющий блок содержит:

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

2) регистры, доступные пользователю.

3) управляющие регистры и регистры состояния.

4) указатели на стек.

5) информацию по планированию и состоянию. Включает состояние процесса (его готовность к выполнению), приоритет, информацию о событиях.



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


7) обмен информацией между процессами.

8) привилегии процессов.

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

10) владение ресурсами и их использование

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

1) информация по идентификации процесса;

2) информация по состоянию процесса;

3) информация, использующаяся при управлении процессом.

Почти во всех ОС процессу присваивается числовой идентификатор, который может быть индексом в первичной таблице процессов. Идентификаторы могут использоваться для реализации перекрестных ссылок на таблицу процессов из других таблиц. Аналогичные ссылки могут быть в таблицах ввода-вывода или таблицах файлов. Таблицы памяти представляют информацию об основной памяти с указанием всех областей, выделяемых каждому процессу, указываемому посредством его идентификатора.

Информация о состоянии процесса состоит из содержимого его регистров. В процессорах любого вида имеется регистр, называемый «слово состояния программы» (PSW).

управляющий

блок процесса
 
Идентификатор процесса

Информация о процессе

Информация управления процессом

Пользовательский стек

Пользовательское адресное пространство

Совместно используемое адресное пр-во


Содержание раздела