ВУЗ:
Составители:
177
интервал (участок). Для того, чтобы не монополизировать доступ к РР
читателей, когда их будет слишком много и они могли бы заблокировать
запись, должен быть предусмотрен счетчик читателей (СчЧ), в который
заносится некоторая константа Е. Занесение этой константы в СчЧ должно
выполняться при пустом счетчике после окончания работы читателя.
Читатель получает доступ к данным только в том случае, если в
настоящий момент нет как работающего, так и ожидающего писателя.
Первое условие должно обеспечиваться взаимоисключением критических
интервалов обращения читателей и писателей к PР. Второе условие
предотвращает бесконечное откладывание реализации процессов писателей
из-за наплыва читателей. После окончания работы читателя СчЧ
уменьшается на единицу и, если он будет не пустой, то работа читателей
может быть продолжена до тех пор, пока СчЧ не станет пустым. Вычитание
единицы из СчЧ осуществляется для непустого счетчика после окончания
работы читателя.
Писатель получает монопольный доступ к РР, если в
предшествующий момент времени не было ни чтения, ни записи в РР. В
дальнейшем писатель может получить доступ к РР только в том случае, если
в настоящий момент времени нет работающего читателя и СчЧ пуст или
когда, независимо от состояния СчЧ, нет как ожидающего, так и
работающего читателя. Так как доступ писателя к РР для обоих вариантов
возможен только при условии отсутствия работающего читателя, то это
условие должно обеспечиваться взаимоисключением критических
интервалов обращения читателей и писателей к РР. Когда писатель
заканчивает работу и СчЧ не пуст, то предпочтение отдается ожидающим
читателям, а не ожидающим писателям, что предотвращает бесконечное
откладывание процессов читателей из-за наплыва писателей. Если после
окончания работы писателя СчЧ пуст, то в него заносится константа Е и
предпочтение также отдается ожидающим читателям, а не ожидающим
писателям. Это обстоятельство обеспечивается, как это будет в дельнейшем
показано, надлежащей формализацией события, характеризующего
ожидающего писателя [74].
Учитывая основные требования к алгоритму взаимодействия
процессов в задаче «читатели-писатели», его формальное описание начнем с
определения событий, характеризующих ожидающих и работающих
писателей и читателей. При этом будем базироваться на методику
формализации алгоритмов взаимодействия параллельных процессов при
обращении к РР в [2, 71]. Представим также для наглядности алгоритм
управления параллельными процессами в виде графа НДА (рис.6.7).
Представленный на рис.6.7 граф НДА, несмотря на отсутствие в нем
некоторых логических вершин, которые опущены для простоты схемы графа,
в достаточной степени дает представление об общей структуре алгоритма
управления процессами.
интервал (участок). Для того, чтобы не монополизировать доступ к РР
читателей, когда их будет слишком много и они могли бы заблокировать
запись, должен быть предусмотрен счетчик читателей (СчЧ), в который
заносится некоторая константа Е. Занесение этой константы в СчЧ должно
выполняться при пустом счетчике после окончания работы читателя.
Читатель получает доступ к данным только в том случае, если в
настоящий момент нет как работающего, так и ожидающего писателя.
Первое условие должно обеспечиваться взаимоисключением критических
интервалов обращения читателей и писателей к PР. Второе условие
предотвращает бесконечное откладывание реализации процессов писателей
из-за наплыва читателей. После окончания работы читателя СчЧ
уменьшается на единицу и, если он будет не пустой, то работа читателей
может быть продолжена до тех пор, пока СчЧ не станет пустым. Вычитание
единицы из СчЧ осуществляется для непустого счетчика после окончания
работы читателя.
Писатель получает монопольный доступ к РР, если в
предшествующий момент времени не было ни чтения, ни записи в РР. В
дальнейшем писатель может получить доступ к РР только в том случае, если
в настоящий момент времени нет работающего читателя и СчЧ пуст или
когда, независимо от состояния СчЧ, нет как ожидающего, так и
работающего читателя. Так как доступ писателя к РР для обоих вариантов
возможен только при условии отсутствия работающего читателя, то это
условие должно обеспечиваться взаимоисключением критических
интервалов обращения читателей и писателей к РР. Когда писатель
заканчивает работу и СчЧ не пуст, то предпочтение отдается ожидающим
читателям, а не ожидающим писателям, что предотвращает бесконечное
откладывание процессов читателей из-за наплыва писателей. Если после
окончания работы писателя СчЧ пуст, то в него заносится константа Е и
предпочтение также отдается ожидающим читателям, а не ожидающим
писателям. Это обстоятельство обеспечивается, как это будет в дельнейшем
показано, надлежащей формализацией события, характеризующего
ожидающего писателя [74].
Учитывая основные требования к алгоритму взаимодействия
процессов в задаче «читатели-писатели», его формальное описание начнем с
определения событий, характеризующих ожидающих и работающих
писателей и читателей. При этом будем базироваться на методику
формализации алгоритмов взаимодействия параллельных процессов при
обращении к РР в [2, 71]. Представим также для наглядности алгоритм
управления параллельными процессами в виде графа НДА (рис.6.7).
Представленный на рис.6.7 граф НДА, несмотря на отсутствие в нем
некоторых логических вершин, которые опущены для простоты схемы графа,
в достаточной степени дает представление об общей структуре алгоритма
управления процессами.
177
Страницы
- « первая
- ‹ предыдущая
- …
- 175
- 176
- 177
- 178
- 179
- …
- следующая ›
- последняя »
