ВУЗ:
Составители:
18
Передать сигнал (Е);
begin
if очередь (Е) пуста then Е:=1
else
Перевести первый процесс в очереди к (Е) в состояние “Готов” из состояния “Блокирован” и
исключить его из очереди;
end
Ждать сигнал (Е);
begin
if E=1 then E:=0
else
Изменить состояние процесса, выполняющего команду “ждать сигнал” на “блокирован”, и
включить этот процесс в очередь (Е);
End
Рассмотрим решение задач синхронизации, которые были решены ранее.
Var E: сигнал
begin
cobegin
Процесс 1 : begin . . . Запустить процесс 2 ; . . . Ждать сигнал (Е); . . . end;
Процесс 2 : begin . . . Передать сигнал (Е); end;
coend;
end;
2) Var
E1, E2 : сигнал;
begin
cobegin
Процесс 1 : begin
. . . Передать сигнал (Е1); end;
Процесс 2 : begin
. . . Передать сигнал (Е2); end;
Процесс 3 : begin . . . Ждать сигнал (Е1); Ждать сигнал (Е2); . . . end;
coend;
end;
Между аппаратом семафоров и сигналов имеется существенное различие, а именно:
семафор предназначен для использования внутри одного процесса;
сигналы предназначены для использования в разных процессах;
с помощью сигналов решить задачу взаимного исключения нельзя.
Список рекомендуемой литературы
1. Дейтел Г. Введение в операционные системы. Т 1.- М.: Мир, 1987.
2. Элементы параллельного программирования/ Э. Вальковский и др.-М.:Мир, 1988.
3. Майерс Г. Архитектура современных ЭВМ. В 2 кн.,- М.: Мир, 1985.-364+312 с.
4. Хоар Ч. Взаимодействующие последовательные процессы. - М.: Мир, 1988. - 264 с.
5. Автономное управление асинхронными процессами в ЭВМ и дискретных систе-
мах /Под ред. В.И. Варшавского. - М.: Наука, 1986. - 400 с.
Передать сигнал (Е);
begin
if очередь (Е) пуста then Е:=1
else
Перевести первый процесс в очереди к (Е) в состояние “Готов” из состояния “Блокирован” и
исключить его из очереди;
end
Ждать сигнал (Е);
begin
if E=1 then E:=0
else
Изменить состояние процесса, выполняющего команду “ждать сигнал” на “блокирован”, и
включить этот процесс в очередь (Е);
End
Рассмотрим решение задач синхронизации, которые были решены ранее.
Var E: сигнал
begin
cobegin
Процесс 1 : begin . . . Запустить процесс 2 ; . . . Ждать сигнал (Е); . . . end;
Процесс 2 : begin . . . Передать сигнал (Е); end;
coend;
end;
2) Var
E1, E2 : сигнал;
begin
cobegin
Процесс 1 : begin . . . Передать сигнал (Е1); end;
Процесс 2 : begin . . . Передать сигнал (Е2); end;
Процесс 3 : begin . . . Ждать сигнал (Е1); Ждать сигнал (Е2); . . . end;
coend;
end;
Между аппаратом семафоров и сигналов имеется существенное различие, а именно:
семафор предназначен для использования внутри одного процесса;
сигналы предназначены для использования в разных процессах;
с помощью сигналов решить задачу взаимного исключения нельзя.
Список рекомендуемой литературы
1. Дейтел Г. Введение в операционные системы. Т 1.- М.: Мир, 1987.
2. Элементы параллельного программирования/ Э. Вальковский и др.-М.:Мир, 1988.
3. Майерс Г. Архитектура современных ЭВМ. В 2 кн.,- М.: Мир, 1985.-364+312 с.
4. Хоар Ч. Взаимодействующие последовательные процессы. - М.: Мир, 1988. - 264 с.
5. Автономное управление асинхронными процессами в ЭВМ и дискретных систе-
мах /Под ред. В.И. Варшавского. - М.: Наука, 1986. - 400 с.
18
