Similar presentations:
Последовательный процесс в ОС
1. Последовательный процесс в ОС
Для того чтобы операционная система могла управлять процессами, она должнарасполагать всей необходимой для этого информацией, поэтому на каждый процесс
заводится специальная информационная структура, называемая дескриптором
процесса (описатель задачи, блок управления задачей).
Структура дескриптора процесса
- Идентификатор процесса (так называемый PID — process identificator)
- Тип (или класс) процесса (определяет для супервизора некоторые правила
предоставления ресурсов)
- Приоритет процесса (в соответствии с ним супервизор предоставляет ресурсы. В рамках
одного класса процессов вперед обслуживаются более приоритетные процессы)
- Переменная состояния (определяет, в каком состоянии находится процесс - готов к
работе, в состоянии выполнения, ожидание устройства ввода/вывода и т. д.)
- Защищенная область памяти (или ее адрес, в которой хранятся текущие значения
регистров процессора, если процесс прерывается, не закончив работы. Эта информация
называется контекстом задачи)
- Информация о ресурсах (которыми процесс владеет и/или имеет право пользоваться)
- Место (или адрес) для организации общения с другими процессами
- Параметры времени запуска (момент времени, когда процесс должен активизироваться,
и периодичность этой процедуры)
- В случае отсутствия системы управления файлами — адрес задачи на диске в ее
исходном состоянии и адрес на диске, куда она выгружается из оперативной
памяти, если ее вытесняет другая (для диск-резидентных задач).
2. Последовательный процесс в ОС
С целью ускорения работы супервизора, организующего управление процессами,дескрипторы задач, как правило, постоянно располагаются в оперативной памяти.
Для каждого состояния (за исключением состояния выполнения для
однопроцессорной системы) операционная система ведет соответствующий список
задач, находящихся в этом состоянии. Однако для состояния ожидания может быть не
один список, а столько, сколько различных видов ресурсов могут вызывать состояние
ожидания (например на каждое устройство ввода-вывода).
В некоторых ОС количество дескрипторов определяется жестко и заранее (например в
ОСРВ), в других ОС выделяет участки памяти под новые описатели (дескрипторы).
ВАЖНО: т.к. дескрипторы процессов постоянно располагаются в оперативной памяти, то их
количество не должно быть слишком большим. Один и тот же дескриптор может
предоставляться для разных задач и это снижает скорость реагирования системы.
Для аппаратной поддержки работы ОС с этими информационными структурами
(дескрипторами задач) в современных процессорах реализованы соответствующие
механизмы. Так, например, в микропроцессорах архитектуры x86, начиная с 80286,
имеется специальный регистр TR (task register), указывающий местонахождение
сегмента состояния задачи TSS (task state segment - сегмент состояния задачи), в
котором при переключении с задачи на задачу автоматически сохраняется содержимое
регистров процессора. Как правило, в современных ОС для этих микропроцессоров
дескриптор задачи включает в себя TSS.