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