Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
155572.rtf
Скачиваний:
35
Добавлен:
18.05.2015
Размер:
108.32 Кб
Скачать

Блок управление процессом

Блок управления процессом (РСВ - process control block) - это объект, который определяет процесс для операционной системы и является структурой данных, сосредотачивающей всю ключевую информацию о процессе:

  • текущее состояние процесса;

  • уникальный идентификатор процесса;

  • приоритет процесса;

  • указатели памяти процесса;

  • указатели выделенных процессу ресурсов;

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

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

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

Дескриптор процесса содержит следующие параметры процесса:

  • расположение (адрес в памяти);

  • размер выгружаемой части образа процесса;

  • идентификатор процесса и пользователя.

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

  • идентификационные номера пользователей, для определения привилегий доступа к файлам;

  • ссылки на системную таблицу файлов для всех открытых процессом файлов;

  • указатель на индексный дескриптор текущего каталога в таблице индексных дескрипторов;

  • список реакций на различные сигналы.

Обработка прерываний

Прерывание(interrupt) - это событие, при котором меняется нормальная последовательность команд, выполняемых процессором. Если произошло прерывание, то

  • управление передается ОС;

  • ОС запоминает состояние прерванного процесса;

  • ОС анализирует тип прерывания и передает управление соответствующей программе обработки прерывания.

Рассмотрим основные типы прерываний.

SVС(supervisor call instruction)-прерывания.

Инициатором этих прерываний является работающий процесс, который выполняет команду SVС, т.е. генерируемый программой пользователя запрос на предоставление конкретной системной услуги (например, на выполнение операции ввода-вывода, на увеличение размера выделенной памяти и т.п.). Механизм SVC позволяет защитить ОС от пользователей.

Прерывания ввода-вывода.

Инициируются аппаратурой ввода-вывода и сигнализируют ЦП о том, что произошло изменение состояния канала или устройства ввода-вывода, например, произошло завершение операции ввода-вывода, возникла ошибка или устройство перешло в состояние готовности.

Внешние прерывания.

Причинами таких прерываний могут быть различные внешние события, например, истечение кванта времени, заданного на таймере прерываний.

Прерывания по рестарту.

Эти прерывания происходят по команде рестарта ОС.

Прерывания по контролю программы.

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

Прерывания по контролю машины.

Эти прерывания вызываются аппаратными ошибками.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]