ВУЗ:
Составители:
168
В случае, если в многопроцессорной ВС необходимо использовать
время ожидания обращения к разделяемым данным в каком-либо i-м
процессе для решения других задач (реализуемых подпроцессом), не
требующих обращения к разделяемым данным, то событие, инициирующее
выполнение такого подпроцесса можно представить в следующем виде
(рис.6.3):
,)1(
дрЗ,ддр
S
S
S
SS
t
S
i
p
i
i
k
i
i
i
(6.15)
где
S
i
З,д
- сокращенное обозначение события, определяющего заявку на
реализацию подпроцесса в i-м процессе.
П р и м е р 6.1. Построить систему уравнений для событий
S
i
пр
,
определяющих приоритетность доступа к разделяемым критическим
ресурсам для 3-х параллельных процессов при циклической дисциплине
обслуживания, и событий
S
i
вз
, обеспечивающих взаимоисключение
критических интервалов.
На основании уравнений (6.10), (6.11) и (6.12) и учитывая при этом
примечания относительно определения индексов событий, представленных в
них, получим следующие представления искомых событий для i=1,2,3:
.,,
],[)1(
],[)1(
],[)1(
21
3
вз
31
2
вз
32
1
вз
2
З,2
1
З,2З,1
3
З,3
З,2З,1
З,30
3
пр
1
З,1
3
З,3З,1
2
З,2
З,1
З,20
2
пр
3
З,3
2
З,3З,2
1
З,1З,10
1
пр
SS
S
SS
S
SS
S
S
S
S
SS
SS
SS
SxS
t
S
S
S
S
SS
SS
S
SxS
t
S
S
S
S
SS
SSSxS
t
S
kkkkkk
pkpkpkn
pkpkpkn
pkpkpkn
6.5. Формализация алгоритма управления
взаимодействующими параллельными процессами
в задаче «производители-потребители»
Задача «производители-потребители»
является одной из классических
задач синхронизации двух асинхронных процессов: процесс производитель
(например, процессор) вырабатывает символы (слова), которые должны быть
переданы другому процессу – потребителю (например, печать). Так как
интенсивность воспроизведения и потребления символов (слов) различная,
то требуется обеспечить передачу символов (слов) с согласованием их
интенсивностей [67,70,72]. Процессы взаимодействуют через некоторую
обобщенную область памяти – согласующий буфер сообщений. В эту область
памяти процесс-производитель помещает очередное сообщение, а процесс-
потребитель считывает очередное сообщение. В общем случае буфер
способен хранить несколько сообщений. Необходимо согласовать работу
двух процессов при одностороннем обмене сообщениями по мере развития
процессов таким образом, чтобы удовлетворить следующие требования:
В случае, если в многопроцессорной ВС необходимо использовать
время ожидания обращения к разделяемым данным в каком-либо i-м
процессе для решения других задач (реализуемых подпроцессом), не
требующих обращения к разделяемым данным, то событие, инициирующее
выполнение такого подпроцесса можно представить в следующем виде
(рис.6.3):
i i i i i
S др (t 1) S i S д ,З S k S др S p , (6.15)
где S iд ,З - сокращенное обозначение события, определяющего заявку на
реализацию подпроцесса в i-м процессе.
П р и м е р 6.1. Построить систему уравнений для событий S iпр ,
определяющих приоритетность доступа к разделяемым критическим
ресурсам для 3-х параллельных процессов при циклической дисциплине
обслуживания, и событий S iвз , обеспечивающих взаимоисключение
критических интервалов.
На основании уравнений (6.10), (6.11) и (6.12) и учитывая при этом
примечания относительно определения индексов событий, представленных в
них, получим следующие представления искомых событий для i=1,2,3:
1 1 2 3
S пр (t 1) S 0 xn S1,З S1,З [S pk S 2,З S 3,З S pk S 3,З S pk ],
2 2 3 1
S пр (t 1) S 0 xn S 2,З S 1,З S 2,З [ S pk S 1,З S 3,З S pk S 1,З S pk ],
3 3 1 2
S пр (t 1) S 0 xn S 3,З S 1,З S 2,З S 3,З [ S pk S 1,З S 2,З S pk S 2,З S pk ],
1 2 3 2 1 3 3 1 2
S вз S k S k , S вз S k S k , S вз S k S k .
6.5. Формализация алгоритма управления
взаимодействующими параллельными процессами
в задаче «производители-потребители»
Задача «производители-потребители» является одной из классических
задач синхронизации двух асинхронных процессов: процесс производитель
(например, процессор) вырабатывает символы (слова), которые должны быть
переданы другому процессу – потребителю (например, печать). Так как
интенсивность воспроизведения и потребления символов (слов) различная,
то требуется обеспечить передачу символов (слов) с согласованием их
интенсивностей [67,70,72]. Процессы взаимодействуют через некоторую
обобщенную область памяти – согласующий буфер сообщений. В эту область
памяти процесс-производитель помещает очередное сообщение, а процесс-
потребитель считывает очередное сообщение. В общем случае буфер
способен хранить несколько сообщений. Необходимо согласовать работу
двух процессов при одностороннем обмене сообщениями по мере развития
процессов таким образом, чтобы удовлетворить следующие требования:
168
Страницы
- « первая
- ‹ предыдущая
- …
- 166
- 167
- 168
- 169
- 170
- …
- следующая ›
- последняя »
