Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Классификация процессов



Для реализации функции управления процессами в ОС необходимо определить их свойства, так как сложность и особенности реализации этой функции, решаемые задачи зависят от характеристик процессов, порождаемых в этой системе, от отношений, которые могут между ними возникать.

Существуют различные критерии классификации процессов в зависимости от их свойств, существенных с точки зрения реализации функций управления процессами операционной системы:

– по временным характеристикам;

– по принадлежности к центральному процессору;

– по принадлежности ОС;

– по связности.

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

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

– процессы называются последовательными, если интервалы их существования не пересекаются во времени;

параллельными являются процессы, интервалы существования которых пересекаются во времени.

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

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

– процессы реального времени (требуют такого планирования, чтоб гарантировать окончание процесса за конкретное время или к конкретному моменту времени, то есть время центрального процессора является для них критическим ресурсом);

интерактивные процессы (время их существования - не больше времени допустимой реакции ВС на запрос пользователя);

пакетные процессы (время их существования с момента порождения и до окончания практически не ограничивается, они могут как угодно долго находиться в очередях, ожидая распределения ресурсов, выполняться “на фоне”).

Существующие типы процессов учитываются при реализации систем планирования: процессы реального времени обычно получают максимальный приоритет, а наименьшим приоритетом обладают пакетные процессы; требуемый режим выполнения программ определяет также и способ перераспределения времени центрального процессора.

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

внутренние (или программные) процессы, которые развиваются на центральных процессорах;

внешние процессы, развитие которых происходит под контролем ОС на устройствах, отличных от ЦП (например, процессы ввода/вывода при использовании прямого доступа к памяти).

Программные процессы в ВС принято делить на

системные (соответствующие программам ОС) и

пользовательские (порожденные прикладными программами, приложениями).

По наличию связей процессы также можно классифицировать. По связности различают два типа процессов:

взаимосвязанные - это процессы, между которыми существует хотя бы один тип связи, поддерживаемой с помощью системы управления процессами операционной системы:

· функциональные связи,

· связи по управлению,

· информационные связи (связи по данным),

· пространственно-временные;

изолированные - в противном случае (нет никаких связей или влияние может быть только косвенным).

Управление взаимосвязанными процессами в ВС основано на контроле и удовлетворении определенных ограничений, которые накладываются на порядок выполнения таких процессов. Эти ограничения определяются видами отношений, которые допустимы между процессами.

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

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

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

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

Если процессы не связаны друг с другом по данным, то они называются информационно-независимыми. Между такими процессами может быть функциональная или пространственно-временная связь.

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

При наличии конкурирующих процессов в ВС конфликтные ситуации обычно разрешаются на основе приоритетов. Отношение приоритетности процессов означает, что при выполнении арбитража их запросов на ресурсы процесс может получить ресурс только при выполнении следующих условий: на данный ресурс нет запросов от процессов с большим приоритетом, ресурс свободен и/или используется процессом с меньшим приоритетом.

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

Соблюдаемые правила, ограничения при реализации функции управления процессами в ОС, являющиеся следствием отношений, в которые вступают процессы, составляют в совокупности правила синхронизации.

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

Процессы, выполняемые на ВС параллельно, могут вступать и в более сложные отношения при организации их взаимодействия (например, отношения “производитель-потребитель”, “читатель-писатель” и т.п.).

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

Механизмы организации взаимодействия таких процессов рассматриваются ниже.





Дата публикования: 2014-11-29; Прочитано: 7354 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...