Роль управляющего блока процесса


 

Управляющий блок процесса — это самая важная структура данных из всех имеющихся в операционной системе. В управляющий блок каждого процесса входит вся необходимая операционной системе информация о нем. Информация в этих блоках считывается и/или модифицируется почти каждым модулем опе­рационной системы, включая те, которые связаны с планированием, распределе­нием ресурсов, обработкой прерываний, а также осуществлением контроля и анализа. Можно сказать, что состояние операционной системы задается совокуп­ностью управляющих блоков процессов.

Рассмотрим в связи с этим один из аспектов архитектур операционных систем. В состав операционной системы входит ряд программ, которым нужен доступ к блокам управления процессами. Предоставить прямой доступ совсем не трудно — каждому процессу присваивается свой уникальный идентификатор, который может быть использован в качестве индекса в таблице указателей на управляющие блоки про­цессов. Трудность состоит не в том, чтобы предоставить доступ, а в том, чтобы обес­печить защиту, и в связи с этим возникают две проблемы.

• Ошибка в какой-нибудь подпрограмме (например, в обработчике прерываний) может привести к повреждению управляющего блока процесса, в результате чего система потеряет возможность управлять данным процессом.

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

В качестве возможного способа решения этих проблем можно потребовать, чтобы выполнение всех действий с управляющими блоками осуществлялось операционной системой только через программу-обработчик, единственной задачей которой будет защита управляющего блока процесса и которая в единоличном порядке отвечает за чтение информации из этих блоков и запись информации в них. Целесообразность использования такой программы определяется тем, на­сколько она повлияет на производительность системы, а также степенью надеж­ности остального программного обеспечения системы.


УПРАВЛЕНИЕ ПРОЦЕССАМИ

 

Модели выполнения

 

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

Режим с меньшими привилегиями часто называют пользовательским (user) режимом, потому что обычно в этом режиме выполняются пользовательские

программы. Режим с более высокими привилегиями называется системным режимом (system mode), режимом управления (control mode) или режимом ядра (kernel mode). В последнем названии упоминается ядро, т.е. та часть операцион­ной системы, которая выполняет важнейшие ее функции. В табл. 3.7 перечислены те из функций операционной системы, которые обычно возлагаются на ядро.

Таблица 3.7. Типичные функции ядра операционной системы



Дата добавления: 2016-06-05; просмотров: 2160;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.018 сек.