Образ процесса. Управляющий блок процесса
Атрибуты процессов
Сложная многозадачная система должна располагать обширными сведениями в каждом процессе. Эта информация находится в управляющем блоке процесса (PCB).
Типичные элементы управляющего блока процесса (PCB- Process Control Block).
1.Идентификация процессов
Числовые идентификаторы, которые могут храниться в управляющем блоке процесса:
- идентификатор данного процесса;
- идентификатор родительского процесса;
- идентификатор пользователя.
Что касается идентификатора процесса, то почти во всех ОС каждому процессу присваивается числовой идентификатор, который может быть просто индексом в первичной таблице процессов. В любом случае должно иметься некоторое отображение, позволяющее операционной системе найти по идентификатору процесса соответствующие ему таблицы. Идентификаторы могут использоваться в разных ситуациях. В частности, они используются для реализации перекрестных ссылок на таблицы процессов из других таблиц, находящихся под управлением ОС. Например, таблицы памяти могут предоставлять информацию об основной памяти с указанием всех областей, выделенных каждому из процессов, указываемому посредством его идентификатора. Аналогичные ссылки могут быть и в таблицах ввода-вывода или таблицах файлов. Если процессы обмениваются между собой информацией, их идентификаторы указывают ОС участников такого обмена. При создании нового идентификаторы указывают родительский и дочерние процессы. Кроме того, процессу может быть присвоен идентификатор пользователя, который указывает, кто из пользователей отвечает за данное задание.
2.3.2.2 Информация о состоянии процесса
- Регистры доступные пользователю;
- Управляющие регистры и регистры состояния: счетчик команд; коды условия, отражают результат выполнения последней арифметической или логической операции (например, знак, равенство нулю, наличие переноса, равенство, переполнение); информация о состоянии: сюда входят флаги разрешения прерываний и информация о режиме выполнения;
- Указатели на стек – с каждым процессом связаны один или несколько системных стеков. В стеке хранятся параметры и адреса вызовов процедур и системных служб. Указатель стека указывает на его вершину;
2.3.2.3 Управляющая информация процесса
- Информация по планированию и состоянию
Состояние процесса. Определяет готовность планируемого процесса к выполнению (т.е. выполняющийся, готовый к выполнению, блокированный);
Приоритет. Одно или несколько полей могут использоваться для описания приоритета процесса;
Информация, связанная с планированием. Эта информация зависит от используемого алгоритма планирования. В качестве примера можно привести такие показатели, как время ожидания или время, в течение которого процесс выполняется при последнем запуске;
- Информация о событии. Идентификация события, наступление которого позволит продолжить выполнение процесса, находящегося в состоянии ожидания;
- Структурирование данных. Процесс может быть связан с другими процессами посредством очереди, кольца или какой-либо другой структуры. Например, все процессы в состоянии ожидания, имеющие один и тот же приоритет, могут находиться в одной очереди. Процессы могут иметь родственные отношения (быть родительскими или дочерними по отношению друг к другу). Для поддержания этих структур управляющий блок процесса может содержать указатели на другие процессы;
- Обмен информацией между процессами. Различные флагу, сигналы и сообщения могут иметь отношение к обмену информацией между двумя независимыми процессами. Некоторая часть этой информации, или вся она, может храниться в управляющем блоке процесса;
- Привилегии процессов. Процессы имеют привилегии, которые могут выражаться в предоставлении права доступа к определенной области памяти или возможности выполнять определенные виды команд. Кроме того, привилегии могут определять возможность использования различных системных утилит и служб;
- Управление памятью. Этот раздел может содержать указатели на таблицы сегментов и /или страниц, в которых описывается распределение процесса в виртуальной памяти;
- Владение ресурсами и их использование. здесь могут быть указаны ресурсы, которыми управляет процесс, (например, перечень открытых файлов). Кроме того, в данный раздел могут быть включены сведения по истории использования процессора и других ресурсов; эта информация может потребоваться при планировании.
Информацию, которая находится в управляющем блоке процесса, можно разбить на три основные категории:
- информация по идентификации процесса;
- информация по состоянию процесса;
- информация, используемая при управлении процессом.
Дата добавления: 2015-12-01; просмотров: 2458;