Sedikit pengenalan mengenai dead lock. Gambar di bawah akan mengilustrasikan sedikit tentang gambaran saat dead lock terjadi.
Kondisi kondisi yang ada pada dead lock
- Mutual exclusion
Hanya satu proses yang dapat berjalan. - Hold and wait
Proses yang menggunakan satu proses dan sedang menunggu proses lain. - Circular wait
Masing proses saling menunggu. - No Preemption
Tidak dapat diinterupsi jika proses telah selesai
Gambar di bawah merupakan ilustrasi dalam mengalokasi resource: (a) Holding resource (b) Request a resource (c) Deadlock
Gambar berikut akan menjelaskan momen ketika dead lock dan ketika dead lock dapat dihindari.
Dead lock |
No Dead Lock |
Strategi ketika terjadi deadlock adalah:
- Abaikan masalahnya
- Salah satu ada yang mengalah
- Pencegahan dilakukan secara dinamis
- Pencegahan berdasarkan kondisi yang ada
Ada dua pendekatan dalam hal deadlock avoidance yaitu:
- Jangan memulai program yang memungkinkna terjadinya deadlock
- Jangan menjamin penambahan resource jika berakhir dengan deadlock
Pencegahan deadlock dapat dilakukan dengan beberapa cara yaitu:
- Mutual exclusion
- Hold and wait
- Circular wait
- No preemption
Tabel di bawah akan meringkas hal hal tentang pencegahan deadlock.
Tidak ada komentar:
Posting Komentar