Алгоритми
| Информационни технологии | 2009-12-04 | 56 сваляния |
Взаимно изключване
-
Твърда синхронизация
ргоgram взаимно_изключване;
vаг ред_на: integer;
ргосеduге процес_1;
begin
гереаt
begin
while ред_на 1 do; {вход в критична секция}
критична секция
ред_на := 2; {изход от критична секция}
еnd;
until false;
еnd;
ргосеduге процес_2;
begin
гереаt
begin
while ред_на 2 do; {вход в критична секция}
критична секция
ред_на := 1; {изход от критична секция}
еnd;
until false;
еnd;
begin
ред_на := 1;
рагbegin процес_1; процес_2; рагеnd;
end.
-
Проверка за заетостта на КУ
procedure процес_1; procedure процес_2;
begin begin
repeat repeat
while ред_на_2 do; while ред_на_1 do;
ред_на_1 := true; ред_на_2 := true;
критична секция критична секция {вход}
ред_на_1 := false; ред_на_2 := false;
until false; until false; {изход}
end; end;
-
Заявка за влизане в КУ
procedure процес_1; procedure процес_2;
begin begin
repeat repeat
ред_на_1 := true; ред_на_2 := true;
while ред_на_2 do; while ред_на_1 do;
критична секция критична секция
ред_на_1 := false; ред_на_2 := false;
Тагове от реферата: гереа, ргосеduге, ргоgram, синхронизия, горитми, integer, BEGIN, твърда, процес











