Deadlock
Deadlock
Model Sistem
Model Sistem (2)
Model Sistem (3)
Model Sistem (4)
Resource Allocation Graph
(RAG)
Contoh RAG
Penjelasan RAG
Himpunan P, R dan E :
P (proses) : {P1, P2, P3}
R (resource) : {R1/1, R2/2, R3/1, R4/3}
Artinya :
Resource R1 punya 1 anggota
Resource R2 punya 2 anggota
Resource R3 punya 1 anggota
Resource R4 punya 3 anggota
E (edge) : {P1 R1, P2 R3, R1 P2, R2 P2, R2 P1, R3 P3}
Artinya :
Contoh RAG dengan Deadlock
Contoh RAG dengan siklus
tapi tidak terjadi Deadlock
Kapan Terjadi Deadlock?
Mutual Exclusion
Hold and Wait
No Preemption
Circular Wait
Pencegahan Deadlock :
Mutual Exclusion
Mutual Exclusion diwujudkan karena sifat
alami resource, dimana resource tidak bisa
dipakai secara bersamaan
Untuk mencegah deadlock karena mutual
exclusion maka resource harus dibuat agar
shareable (dapat dipakai secara
bersamaan)
Kelemahan :
Tidak semua resource dapat dibuat seperti itu
Setidaknya satu resource dibuat shareable
Pencegahan Deadlock :
Hold and Wait
Hold and Wait terjadi ketika proses sedang
menunggu suatu resource tapi di waktu yang sama
dia juga memegang resource lain
Untuk mencegahnya, dapat dilakukan :
Sebelum eksekusi proses dimulai, semua resource yang
akan dibutuhkan diminta dulu di awal
Sistem hanya mengizinkan sebuah proses untuk meminta
resource hanya jika proses tersebut tidak sedang
memegang resource lain
Kelemahan :
Resource utilization rendah, karena ada resource yang
tidak digunakan dalam waktu lama
Starvation, karena proses menunggu resource yg populer
Pencegahan Deadlock :
No Preemption
Pencegahan Deadlock :
Circular Wait
Question?