Блок управления процессом (РСВ -process control block) - это объект, который определяет процесс для операционной системы и является структурой данных, сосредотачивающей всю ключевую информацию о процессе:
· текущее состояние процесса;
· уникальный идентификатор процесса;
· приоритет процесса;
· указатели памяти процесса;
· указатели выделенных процессу ресурсов;
· область сохранения регистров (когда ОС переключает ЦП с процесса на процесс, она использует области сохранения регистров, предусмотренные в РСВ, чтобы запомнить информацию, необходимую для повторного запуска каждого процесса, когда он получит в очередной раз в свое распоряжение ЦП).
Концепция процессов является базовой для ОС UNIX. По сути порождение любого процесса - это создание некоторой виртуальной машины. Она имеет свое собственное адресное пространство, куда помещается процедурный сегмент и сегмент данных.
Дескриптор и контекст процесса. Системные данные, используемые для идентификации процесса, которые существуют в течение всего времени его жизни, образуют дескриптор (описатель) процесса. Множество дескрипторов образуют таблицу процессов - в современных версиях UNIX это несколько сотен процессов.
Дескриптор процесса содержит следующие параметры процесса:
· расположение (адрес в памяти);
· размер выгружаемой части образа процесса;
· идентификатор процесса и пользователя.
Другая важная информация о процессе хранится в таблице пользователя (называемой также - контекст процесса), здесь записаны:
· идентификационные номера пользователей, для определения привилегий доступа к файлам;
· ссылки на системную таблицу файлов для всех открытых процессом файлов;
· указатель на индексный дескриптор текущего каталога в таблице индексных дескрипторов;
· список реакций на различные сигналы.
Прерывание(interrupt) - это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Если произошло прерывание, то
· управление передается ОС;
· ОС запоминает состояние прерванного процесса;
· ОС анализирует тип прерывания и передает управление соответствующей программе обработки прерывания.
Рассмотрим основные типы прерываний.
Инициатором этих прерываний является работающий процесс, который выполняет команду SVС, т.е. генерируемый программой пользователя запрос на предоставление конкретной системной услуги (например, на выполнение операции ввода-вывода, на увеличение размера выделенной памяти и т.п.). Механизм SVC позволяет защитить ОС от пользователей.