Реализация процессов.
Каждый программный процесс однозначно определяется информационной структурой, называемой дескриптором процесса. В типичной системе дескриптор процесса состоит из:
1. Переменной состояния, которая определяет положение процесса (готов к работе, работающий, заблокирован).
2. Защищенной области памяти, в которой находятся текущие значения регистров, когда процесс прерывается, не закончив работы.
3. Информации о ресурсах, которыми процесс владеет или имеет право пользоваться.
Кроме этого, в дескрипторе процесса может быть отведено место для организации общения с другими процессам.
Очень важно различать абстрактный и программный процессы.
Программный процесс – это и абстрактный процесс, а обратное не всегда верно.
Дескриптор и область памяти, из которой состоит программный процесс, должны быть выделены из имеющихся у машин ресурсов.
Есть два подхода к образованию программных процессов.
Можно построить систему с фиксированным числом программных процессов, которые существуют всегда. В таком случае программные процессы образуются одновременно с системой.
Чтобы выполнить работу, необходимо только получить в свое распоряжение один из существующих программных процессов.
Абстрактных процессов может быть больше, чем имеется программных процессов. Поэтому абстрактному процессу, возможно, придется ожидать, когда ему будет предоставлен программный процесс для выполнения работы.
Другой путь состоит в том, что в системе предусматривают механизм, который образует и уничтожает программные процессы, когда поступает соответствующий запрос.
Этот механизм, который сам программным процессом не является, дает системе возможность манипулировать программными процессам. Он называется стержнем.
В процессе могут вызывать образования или уничтожение других процессов. Так один процесс может потребовать, чтобы стержень образовал другой процесс. Стержень заводит дескриптор нового процесса, выделяет для процессов память и сообщает о завершении этой деятельности образующему процессу. Тогда образующий процесс помещает в память нового процесса программу (т.е. представления некоторой функции действия). В стержне предусмотрена команда “запустить”, которая выделяет процессу процессор.
Аналогично команда “остановить” отбирает у процесса процессор, а команда “уничтожить” отбирает дескриптор и ресурсы.
В системе с единственным процессором может существовать несколько процессов. При этом стержень дает каждому процессу возможность пользоваться процессором в определенные моменты времени.
Процессы могут существовать как не связанные друг с другом единицы, или могут быть связаны особыми отношениями, образуя структуры. Если система не предусматривает такой структурной организации, то супервизор обязан по мере надобности образовывать процессы. При появлении задачи супервизор образует процесс для выполнения задачи. Когда задача выполнена, процесс уничтожается. При такой организации все процессы равны.
В более сложных системах процессы могут быть неравными. Например, они могут составлять древовидную структуру.
В системе с древовидной структурой процесс называют отцом всех процессов, которые он образует, и процесс называют сыномтого процесса, который его образовал. Здесь имеет место определение предков и потомков. Генеалогическое дерево процессов в системе есть ориентированный граф, где каждый процесс представляется вершиной, а дуга выходит из вершины A и заходит в вершину B тогда и только тогда, когда A – отец B. Генеалогическое дерево описывает упорядоченность процессов внутри системы в любой момент времени.
В системе с древовидной структурой могут быть очень строгие правила, относительно передачи ресурсов и организации управления.
Например, при образовании каждый процесс может получить лишь те ресурсы, которые “принадлежат” его отцу. Отец может иметь право контролировать действия своих сыновей и принимать действия для исправления ненормальных ситуаций.
У такой структурированной системы есть преимущества:
· Распределение ресурсов находится под строгим контролем. Ресурсы всякого процесса были когда-то собственностью каждого из его предков. Если процесс хочет освободить некоторые из своих ресурсов, он может отдать их только своему отцу. Никогда не бывает неясностей, какой ресурс принадлежит какому процессу.
· Вся структура в целом такова, что у одних процессов больше власти, чем у других, т.е. в ней предусмотрен простой механизм разделения труда.
· Благодаря наличию структуры всегда ясно, какому процессу принадлежит управление: отец управляет сыновьями.
В бесструктурной системе все знает и делает супервизор. Хотя централизованное управление допускает большую свободу при разбиении задач, оно усложняет ведение учета, так как супервизору приходится следить за каждым процессом в системе.
Дата добавления: 2016-06-15; просмотров: 2280;