Deadlock adalah keadaan di mana dua atau lebih proses tidak dapat berjalan karena saling menunggu resources dari yang lainnya.
Deadlock mungkin terjadi karena :
- Mutual Exclusion : Hanya satu proses yang dapat menggunakan sumber daya pada satu kali waktu.
Hold-and-wait :
Suatu proses dapat menahan sumber daya yang dialokasikan sambil menunggu sumber daya lainnya dapat dipakai.
No preemption : Tidak ada sumber daya yang dapat dilepaskan dari proses yang sedang menggunakannya.
Sedangkan penyebab deadlock adalah :
- Circular wait
Circular wait adalah situasi di mana dua atau lebih proses saling menunggu hasil output dari masing - masing proses. Misal P1 menunggu data dari P2 sedangkan P2 juga menunggu data dari P1. Maka dari itu semua proses tidak bisa berjalan.
Pencegahan Deadlock
- Pada Mutual Exclusion
Pada Hold and Wait
Pada No Preemption
Pada Circular Wait
0 komentar:
Posting Komentar