ОТНОШЕНИЯ МЕЖДУ ПРОЦЕССАМИ




 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


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