Page 101 - C:\Users\RENO\Documents\MK Sistem Operasi\Folder Baru\
P. 101
2. The Raider and Writer Problem
Pada masalah ini terdapat 2 variasi anatara lain :
a. Raider adalah prioritas lebih tinggi dibandingkan writer.
b. Jika ada write yang sedang menunggu, maka tidak boleh ada raider lain yang
bekerja ( writer yang memiliki prioritas yang lebih tinggi)
Jika terdapat writer dan raider dalam critical section sedang menunggu, maka satu
raider akan mengantri di wrt dan n-1 raider akan antri di mutex. Jika writer
mengeksekusi signal (wtr), maka eksekusi akan menunggu raider.
Variabel umum : VAR mutex, wrt : semaphore; {diinisialkan 1}
Readcount : integer ; {diinisialkan 0}
Proses writer Proses Raider
Wait(wtr); Wait(mutx);
... Readcount :=readcount+1;
Menulis IF readcount = 1 THEN wait(wtr);
... Signal(mutex);
Signal(wtr); ...
Membaca
...
Wait(mutex);
Readcount :=readcount-1;
IF readcount = 0 THEN signal(wtr);
Signal(mutex);
3. The Dining-Philoshoper Problem
Pada dining philoshoper problem ini dapat kita ilustrasikan seperti dibawah ini :
Terdapat 5 filosof yang menghabiskan hidupnya dengan berfikir dan makan.
Filosof tersebut menggunakan meja melingkar untuk makan dan membaginya
menjadi 5 bagian yang masing-masing bagian terdapat kursi.
Di tengah meja terdapat semangkok nasi dan 5 sendok.
Bila filosof berfikir, maka tidak ada interaksi dengan teman disebelahnya,
namun bila filosof lapar maka dia akan mengambil 2 sendok yang terdekat (
teman disebelah kiri dan kanan).
Filosof tidak akan mengambil sendok temanya yang sedang digunakan.
Apabila dia ingin mengambil sendok tersebut maka filosof harus
mengunggunya sampai temanya selesai.
87