Deadlock(chapter 9-10)
Deadlock merupakan sekumpulan proses dikatakan deadlock jika masing-masing proses menunggu
Kondisi sumber terjadinya deadlock :
1. Mutual exclusion : Cuma ada 1 proses yang menggunakan sebuah resource
2. Hold and wait : proses 1 pegang resources tapi au ambil resource lain
3. No preemption : bisa di interupsi (preemption) ,tidak akan memberikan resource sampe rela melepaskan karena proses tersebut belum selesai digunakan
Deadlock Modelling
Resource allocation graphs
a. Holding resources
1. Hidnari masalah biarkan masalah tersebut terjadi dan hadapi masalah tersebut .
2. Ada 2 printer dimana terdeteksi erornya , maka catat kapan terjadinya , besok-besok tidak boleh terulang lagi errornya
3. Mencari penyebab masalah menggunakan resource seminimal mungkun , mengarahkan masalah lihat dulu kemudian diubah jalurnya , saat sudah tahu akan terjadi maslaah maka hendaknya dihindari .
4. Sifatnya mencegah tapi sulit karena tidak dapat mencegah sesuatu secara tiba-tiba
Deadlock avoidance
1. Harus tau berapa jumlah resource yang dibutuhkan dan resource yang sudah ada
2. The deadlock-avoidance algorithm : digunakan untuk menguji resources allocation state untuk memastikan bahwa tak akan terjadi kondisi circular.
3. Resource allocation : digunakan untuk mendefinisikan berapa jumlah resource yang dibutuhkan dan berapa jumlah yang ada
Algoritma safe and unsafe :
1. Jika request<= kebutuhan(need) maka dibolehin , selain itu error
2. Jika dia request dan barangnya ada maka langsung ke proses 3 kalo tidak maka wait
3. Available=available-request
Allocation =allocation +request
Need =need +request
Demonstrasi diatas menandakan bahwa unsafe state
0 komentar: