Minggu, 10 Mei 2015

Dead Lock

Suatu dead lock akan terjadi jika setiap proses yang ada saling menunggu satu sama lain.
Sedikit  pengenalan mengenai dead lock. Gambar di bawah akan mengilustrasikan sedikit tentang gambaran saat  dead lock terjadi.


Kondisi kondisi yang ada pada dead lock
  1. Mutual exclusion
    Hanya satu proses yang dapat berjalan.
  2. Hold and wait
    Proses yang menggunakan satu proses dan sedang menunggu proses lain.
  3. Circular wait
    Masing proses saling menunggu.
  4. 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:
  1. Abaikan masalahnya
  2. Salah satu ada yang mengalah
  3. Pencegahan dilakukan secara dinamis
  4. 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:
  1. Mutual exclusion
  2. Hold and wait
  3. Circular wait
  4. No preemption
Tabel di bawah akan meringkas hal hal tentang pencegahan deadlock.




Tidak ada komentar:

Posting Komentar