Deadlock Prevention
- Bisa saling block dan sifatnya permanen
- Tidak ada solusi efisien
- Melibatkan kebutuhan yang bertentangan untuk sumber daya dengan dua atau lebih proses
Condition for Resource Deadlock
- Mutual exclusion : Hanya ada 1 proses yang bisa memakai 1 resource
- Hold and wait : Proses A sedang mengambil 1 resource, ditahan dan ambil proses lain
- No preemption : Tidak bisa di interupsi / dipotong
- Circular wait : Proses 1 menunggu proses 2, proses 2 menunggu proses 3, proses 3 menunggu proses 1
(a) Resource R sedang dipegang oleh proses A
(b) Proses B meminta resource S
(c) Resource T dipegang proses D, D merequest U, U dipegang C, C merequest T
Cara Pencegahan Deadlock
- Mutual exclution : multiple akses untuk read, write hanya yang exclusive
- Hold and Wait : blocking system, blok proses lain
- No-preemption : pakai task manager
- Circular wait : di blok
Strategy dealing with Deadlock
- Abaikan saja, tapi hal ini merupakan bahaya
- Deteksi dan pemulihan
- Penghindaran dinamis oleh alokasi resource secara hati hati
- Pencegahan
Deadlock Avoidance
- Model yang paling sederhana dan paling berguna mengharuskan tiap proses menyatakan jumlah maksimum resource dari setiap tipe yang mungkin dibutuhkan
- Algoritma penghindaran deadlock secara dinamis memeriksa state alokasi resource untuk memastikan bahwa tidak akan pernah terjadi keadaan circular-wait
- State alokasi resource didefinisikan dengan jumlah resource yang tersedia dan teralokasi, dan tuntutan maksimum proses
Starvation
- Algoritma untuk mengalokasikan sebuah resource
- Bekerja dengan baik pada beberapa pekerjaan singkat di sebuah system
- Mungkin saja mengakibatkan pekerjaan panjang untuk ditunda tanpa batas waktu
Tidak ada komentar:
Posting Komentar