Структура управления процессами.
Чтобы ОС могла управлять процессом, во-первых, она должна знать, где находиться этот процесс, а, во-вторых, ей должны быть известны необходимые для управления атрибуты процесса.
Множество, в которое входят программа, данные, стек и атрибуты процесса, называется образом процесса. Местонахождение образа процесса зависит от используемой схемы управления памятью.
Чтобы ОС могла управлять процессом, по крайней мере небольшая часть его образа должна находиться в основной памяти. Чтобы можно было запустить процесс, его образ необходимо полностью загрузить в основную память.
В большинстве современных ОС используется система управления памятью, в которой образ процесса состоит из набора блоков переменной или фиксированной длины. Это позволяет хранить в ОП только часть образа процесса. Поэтому таблицы процессов, поддерживаемые ОС, должны содержать сведения о местонахождении каждого сегмента всех образов процессов.
Первичная таблица процессов содержит по одной записи для каждого процесса. Эта запись должна содержать указатель на образ процесса.
Сведения о каждом процессе находятся в управляющем блоке процесса. Различные ОС организуют эту информацию по разному, но в любом случае управляющий блок должен содержать типичные виды информации, требующиеся ОС для каждого процесса.
Управляющий блок содержит:
1) идентификаторы. В управляющем блоке можно хранить идентификаторы данного процесса, идентификаторы родительского процесса и идентификаторы пользователя.
2) регистры, доступные пользователю.
3) управляющие регистры и регистры состояния.
4) указатели на стек.
5) информацию по планированию и состоянию. Включает состояние процесса (его готовность к выполнению), приоритет, информацию о событиях.
6) структурирование данных. Процесс может быть связан с другими процессами посредством очереди или какой-либо другой структуры. Процессы могут быть родительскими или дочерними по отношению друг к другу. Для поддержания этих структур управляющий блок процесса содержит указатели на другие процессы.
7) обмен информацией между процессами.
8) привилегии процессов.
9) управление памятью. Содержит указатели на таблицы сегментов или страниц, в которых описывается распределение процесса в виртуальной памяти.
10) владение ресурсами и их использование
Информация, которая находиться в управляющем блоке процесса может быть разбита на три основных категории:
1) информация по идентификации процесса;
2) информация по состоянию процесса;
3) информация, использующаяся при управлении процессом.
Почти во всех ОС процессу присваивается числовой идентификатор, который может быть индексом в первичной таблице процессов. Идентификаторы могут использоваться для реализации перекрестных ссылок на таблицу процессов из других таблиц. Аналогичные ссылки могут быть в таблицах ввода-вывода или таблицах файлов. Таблицы памяти представляют информацию об основной памяти с указанием всех областей, выделяемых каждому процессу, указываемому посредством его идентификатора.
Информация о состоянии процесса состоит из содержимого его регистров. В процессорах любого вида имеется регистр, называемый «слово состояния программы» (PSW).
Информация о процессе Информация управления процессом Пользовательский стек Пользовательское адресное пространство Совместно используемое адресное пр-во |