Структуры управления процессами


 

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

Местоположение процесса

Перед тем как перейти к рассмотрению вопроса о размещении процесса или о его атрибутах, зададим себе еще более фундаментальный вопрос: в чем заключаются физические проявления процесса? Как минимум, в процесс входит про­грамма или набор программ, которые нужно выполнить. С этими программами связан набор ячеек памяти, в которых хранятся локальные и глобальные переменные и константы. Таким образом, процессу должен быть выделен такой объ­ем памяти, в котором поместились бы программа и данные, принадлежащие процессу. Кроме того, при работе программы обычно используется стек, с помо­щью которого реализуются вызовы процедур и передача параметров. Наконец, с каждым процессом связано несколько атрибутов, которые используются операционной системой для управления этим процессом. Обычно такой набор атрибутов называется управляющим блоком процесса (process control block).8 Множество, в которое входят программа, данные, стек и атрибуты, называется образом процесса (process image) (табл. 3.4).

 

8 Часто используются другие названия этой структуры данных блок управле­ния задачей, дескриптор процесса, дескриптор задачи.

Таблица 3.4. Типичные элементы образа процесса

Данные пользователя Допускающая изменения часть пользовательского адресного пространства. Сюда могут входить данные программы, пользо­вательский стек и модифицируемый код
Пользовательская программа Программа, которую нужно выполнить
Системный стек С каждым процессом связаны один или несколько системных стеков. Стек используется для хранения параметров, адресов вызова процедур и системных служб  
Управляющий блок процесса Данные, необходимые операционной системе для управления процессом (см. табл. 3.6)

Местонахождение образа процесса зависит от используемой схемы управления памятью (в простейшем случае образ процесса имеет вид непрерывного блока памяти, который расположен во вторичной памяти, обычно на диске). Чтобы операционная система могла управлять процессом, по крайней мере небольшая часть его образа должна находиться в основной памяти. Чтобы можно было за­пустить процесс, его образ необходимо полностью загрузить в основную (или в виртуальную) память. Таким образом, операционной системе нужно знать местонахождение каждого процесса на диске, а для тех процессов, которые загру­жены в основную память — их местонахождение в основной памяти. В главе 2, "Обзор операционных систем", мы рассматривали несколько более сложную модификацию этой схемы, использующуюся в системах CTSS, где при свопинге процесс может выгружаться из основной памяти только частично. При этом операционная система должна следить за тем, какая часть образов каждого из про­цессов осталась в основной памяти.

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

Таблица 3.5.



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


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

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

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

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