Dekker's Algorithm -A Correct Solution Begin flag 0: false; flag[1: false; turn: =1; pa arbegin P0;P1; pa arent end PROCESSES AND SCHEDULING
PROCESSES AND SCHEDULING Dekker’s Algorithm –A Correct Solution Begin flag[0]:=false; flag[1]:=false; turn:=1; parbegin P0; P1; parend end
Dekker's Algorithm -A Correct Solution ☆ Analysis(P0) Set flago: =true; Do, while flagyl false, PO enters, when finish, set turn: =1; flago: =false true, check value of turn 1, busy waiting 0, PI has finished (but has not modified flag), PO enters PROCESSES AND SCHEDULING
PROCESSES AND SCHEDULING Dekker’s Algorithm –A Correct Solution ❖ Analysis (P0) Set flag[0]:=true; Do, while flag[1] ٭ false, P0 enters,when finish,set turn:=1; flag[0]:=false; ٭ true, check value of turn ▪ 1,busy waiting ▪ 0, P1 has finished (but has not modified flag), P0 enters
Peterson Algorithm Var flag: array0.1] of boolean; turn: 0.1 Procedure po Procedure p1: Begin Begin repeat repeat flag[o]:=truei flagyl:=truer turn:=1 turn:=O: while flag[ 1] and turn =1 do while flaglo] and turn =0 do nothing nothing <critical section> <critical section> flag[o]: =false flag[1]: =false <remainder> <remainder> forever forever Ene Endi PROCESSES AND SCHEDULING
PROCESSES AND SCHEDULING Peterson Algorithm Var flag:array[0..1] of boolean; turn: 0..1; Procedure P0; Begin repeat flag[0]:=true; turn:=1; while flag[1] and turn =1 do {nothing} <critical section> flag[0]:=false; <remainder> forever End; Procedure P1; Begin repeat flag[1]:=true; turn:=0; while flag[0] and turn =0 do {nothing} <critical section> flag[1]:=false; <remainder> forever End;
Peterson Algorithm Begi flag[0]: =false; flag1: fals turn:=1 parbegin P0:P1 parend End PROCESSES AND SCHEDULING
PROCESSES AND SCHEDULING Peterson Algorithm Begin flag[0]:=false; flag[1]:=false; turn:=1; parbegin P0; P1; parend End
Peterson Algorithm 心 Analysis Flag is used for who wants to enter. s Turn is used to avoid deadlock. PROCESSES AND SCHEDULING
PROCESSES AND SCHEDULING Peterson Algorithm ❖ Analysis ٭ Flag is used for who wants to enter. ٭ Turn is used to avoid deadlock