Основные задачи параллельного программирования. Конспект лекций. Степанов Б.М. - 18 стр.

UptoLike

Составители: 

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