Операционные системы. Учебное пособие. Марапулец Ю.В. - 46 стр.

UptoLike

Составители: 

процесс переводится супервизором операционной системы в состояние готовности к
исполнению в связи с появлением более приоритетной задачи или в связи с оконча-
нием выделенного ему кванта времени;
процесс блокируется (переводится в состояние ожидания) либо вследствие запроса
операции ввода/вывода (которая должна быть выполнена прежде, чем он сможет
продолжить исполнение), либо в силу невозможности предоставить ему ресурс, за-
прошенный в настоящий момент, а также по команде оператора на приостановку за-
дачи или по требованию через супервизор от другой задачи.
При наступлении соответствующего события (завершилась операция ввода/вывода,
освободился затребованный ресурс, в оперативную память загружена необходимая
страница виртуальной памяти и т. д.) процесс деблокируется и переводится в состояние
готовности к исполнению.
Таким образом, движущей силой, меняющей состояния процессов, являются со-
бытия. Одним из основных видов событий являются прерывания, которые будут рас-
смотрены далее.
Для того чтобы операционная система могла управлять процессами, она должна
располагать всей необходимой для этого информацией. С этой целью на каждый про-
цесс заводится специальная информационная структура, называемая дескриптором
процесса (описателем задачи, блоком управления задачей). В общем случае дескриптор
процесса содержит следующую информацию [2]:
идентификатор процесса (так называемый PID - process identificator);
тип (или класс) процесса, который определяет для супервизора некоторые правила
предоставления ресурсов;
приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы. В
рамках одного класса процессов в первую очередь обслуживаются более приоритет-
ные процессы;
переменную состояния, которая определяет, в каком состоянии находится процесс
(готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т.
д.);
защищенную область памяти (или адрес такой зоны), в которой хранятся текущие
значения регистров процессора, если процесс прерывается, не закончив работы. Эта
информация называется контекстом задачи;
информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться
(указатели на открытые файлы, информация о незавершенных операциях вво-
да/вывода и т. п.);
место (или его адрес) для организации общения с другими процессами;
параметры времени запуска (момент времени, когда процесс должен активизиро-
ваться, и периодичность этой процедуры);
в случае отсутствия системы управления файлами - адрес задачи на диске в ее ис-
ходном состоянии и адрес на диске, куда она выгружается из оперативной памяти,
если ее вытесняет другая.
Дескрипторы задач, как правило, постоянно располагаются в оперативной памяти
с целью ускорить работу супервизора, который организует их в списки (очереди) и ото-
бражает изменение состояния процесса перемещением соответствующего описателя из
одного списка в другой. Для каждого состояния ОС ведет соответствующий список за-
дач, находящихся в этом состоянии. Для состояния ожидания может быть не один спи-
сок, а столько, сколько различных видов ресурсов могут вызывать состояние ожидания.
В некоторых операционных системах количество дескрипторов определяется же-
стко и заранее (на этапе генерации варианта операционной системы или в конфигураци-
онном файле, который используется при загрузке ОС), в других - по мере необходимо-
сти система может выделять участки памяти под новые дескрипторы. Например, в OS/2
48
•   процесс переводится супервизором операционной системы в состояние готовности к
    исполнению в связи с появлением более приоритетной задачи или в связи с оконча-
    нием выделенного ему кванта времени;
• процесс блокируется (переводится в состояние ожидания) либо вследствие запроса
    операции ввода/вывода (которая должна быть выполнена прежде, чем он сможет
    продолжить исполнение), либо в силу невозможности предоставить ему ресурс, за-
    прошенный в настоящий момент, а также по команде оператора на приостановку за-
    дачи или по требованию через супервизор от другой задачи.
      При наступлении соответствующего события (завершилась операция ввода/вывода,
освободился затребованный ресурс, в оперативную память загружена необходимая
страница виртуальной памяти и т. д.) процесс деблокируется и переводится в состояние
готовности к исполнению.
      Таким образом, движущей силой, меняющей состояния процессов, являются со-
бытия. Одним из основных видов событий являются прерывания, которые будут рас-
смотрены далее.
      Для того чтобы операционная система могла управлять процессами, она должна
располагать всей необходимой для этого информацией. С этой целью на каждый про-
цесс заводится специальная информационная структура, называемая дескриптором
процесса (описателем задачи, блоком управления задачей). В общем случае дескриптор
процесса содержит следующую информацию [2]:
• идентификатор процесса (так называемый PID - process identificator);
• тип (или класс) процесса, который определяет для супервизора некоторые правила
    предоставления ресурсов;
• приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы. В
    рамках одного класса процессов в первую очередь обслуживаются более приоритет-
    ные процессы;
• переменную состояния, которая определяет, в каком состоянии находится процесс
    (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т.
    д.);
• защищенную область памяти (или адрес такой зоны), в которой хранятся текущие
    значения регистров процессора, если процесс прерывается, не закончив работы. Эта
    информация называется контекстом задачи;
• информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться
    (указатели на открытые файлы, информация о незавершенных операциях вво-
    да/вывода и т. п.);
• место (или его адрес) для организации общения с другими процессами;
• параметры времени запуска (момент времени, когда процесс должен активизиро-
    ваться, и периодичность этой процедуры);
• в случае отсутствия системы управления файлами - адрес задачи на диске в ее ис-
    ходном состоянии и адрес на диске, куда она выгружается из оперативной памяти,
    если ее вытесняет другая.
      Дескрипторы задач, как правило, постоянно располагаются в оперативной памяти
с целью ускорить работу супервизора, который организует их в списки (очереди) и ото-
бражает изменение состояния процесса перемещением соответствующего описателя из
одного списка в другой. Для каждого состояния ОС ведет соответствующий список за-
дач, находящихся в этом состоянии. Для состояния ожидания может быть не один спи-
сок, а столько, сколько различных видов ресурсов могут вызывать состояние ожидания.
      В некоторых операционных системах количество дескрипторов определяется же-
стко и заранее (на этапе генерации варианта операционной системы или в конфигураци-
онном файле, который используется при загрузке ОС), в других - по мере необходимо-
сти система может выделять участки памяти под новые дескрипторы. Например, в OS/2

                                        48