Отношения между процессами

Между процессами в мультипрограммной ВС могут возникать различного типа отношения. Рассмотрим основные из них:

Отношение предшествования. Для двух процессов существование такого отношения означает, что один процесс должен переходить в активное состояние всегда раньше второго процесса.

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

— в состоянии готовности к рассматриваемому процессору НЕТ процессов с большим приоритетом;

— процессор либо свободен, либо используется процессом с приоритетом меньшим Р.

Отношение взаимного исключения.

Отношения между процессами

Пусть два процесса A и B используют при своем развитии некоторый общий ресурс R. Тогда совокупность действий над этим ресурсом в ходе каждого процесса называется критической областью (секцией), а совместно используемый ресурс называется критическим ресурсом.

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

Отношения производители — потребители.

Отношения между процессами

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

В эту область памяти процесс-производитель должен помещать очередное сообщение, а процесс потребитель должен считывать очередное сообщение.

Синхронизация этих двух процессов требует выполнения следующих условий:

— обеспечить отношения взаимного исключения по отношению к буферной памяти для хранения сообщений;

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

Процесс-производитель должен быть переведен в состояние ожидания, если предыдущее сообщение не было забрано из буфера процессом-потребителем.

Аналогично процесс-потребитель должен быть переведен в состояние ожидания, если процесс-производитель не поместил в буфер очередное сообщение.

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

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

— первый тип- процессы-читатели — они могут одновременно считывать информацию из области памяти;

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

Существует множество вариантов взаимодействия таких процессов.

Наиболее распространенные следующие два:

1) устанавливается приоритетность в использовании критического ресурса процессам-читателям. Если хотя бы один процесс-читатель пользуется ресурсом, то он закрыт для использования всем процессам-писателям и доступен для использования всем процессам -читателям.

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

Отношения обедающие философы.

Отношения между процессами

Пусть имеются три параллельных процесса X,Y,Z и три ресурса P1- (клавиатура), P2- (дисплей), P3- (накопитель на магнитном диске)

Особенность развития процессов такова, что

— для пребывания процесса X в активном состоянии ему требуется выделить одновременно ресурсы Р1 и Р2

— для пребывания процесса Y в активном состоянии ему требуется выделить одновременно ресурсы Р2 и Р3

— для пребывания процесса Z в активном состоянии ему требуется выделить одновременно ресурсы Р3 и Р1

Переходы процессов в активное состояние происходят в непредсказуемые моменты времени.

Применение бизнес процессов в семейных отношениях. Семейный бизнес в многодетной семье.


Похожие статьи.

Понравилась статья? Поделиться с друзьями: