Simulasi Mutual Exclusion(Variable Lock)-e.pptx

Download Report

Transcript Simulasi Mutual Exclusion(Variable Lock)-e.pptx

Simulasi Mutual Exclusion
Dosen: Jajang Kusnendar, M.T
Variable Lock
Algoritma Variable Lock
Program Mutex_with_lock;
• Var
lock : Integer;
• Procedure enter_critical_section; //prosedur proses dalam critical section
{ mengerjakan kode-kode kritis }
Procedure ProsesA;
• Begin
• While lock <> 0 Do Begin End;
• lock := 1;
• enter_critical_section;
• lock :=0;
• End;
Procedure ProsesB;
• Begin
• While lock <> 0 Do Begin End;
• lock := 1;
• enter_critical_section;
• lock :=0;
• End;
Penjelasan Prosedur Proses
Procedure ProsesA;
• Begin //memulai prosedur proses
• While lock <> 0 Do Begin End;
//melakukan pengecekan apakah variable “lock” = 0 atau tidak. selama
“lock” = 0 proses terus berulang
• lock := 1; //mengubah “lock” menjadi = 1(ada proses)
• enter_critical_section;
//memanggil prosedur enter_critical_section
• lock :=0;
//setelah proses selesai “lock” di ubah menjadi = 0 (tidak ada proses dalam
critical section)
• End; //mengakhiri proses
Proses
Penjadwal
Simulasi Variable Lock
A
Variable
Lock
1
0
B
Critical Section
Proses
10
Penjadwal
B
A
Proses
1
0
Penjadwal
B
Simulasi Kegagalan Variable Lock
Proses
Variable
Lock
Penjadwal
B
1
0
A Section
Critical
C
Proses
Penjadwal
B
1
0
C
Disini lah terjadi kesalahan
dimana proses B memasuki
critical Section Padahal Proses C
ada di dalamnya