Definisi Deadlock
Di minggu pertama setelah Ujian Tengah Semester, mendapat materi tentang deadlock. Deadlock adalah keadaan dimana dua atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya.
Ada 4 Kondisi Deadlock.
- Mutual Exclution : HAnya satu proses yamg bisa memperoleh resource.
-No-Preemtion Recurce : Resource dapat dibebaskan dengan sukarela oleh proses.
-Hold and wait : Satu proses menahan (hold) resource dan menunggu mendapatkan resource lain(wait)
-Circular wait : saling menunggu resource sehingga terbentuk lingkaran/ circular.
Strategi mengatasi Deadlock
- Prevention : Mencegah deadlock dengan cara memastikan tidak ada pentebab deadlock.
- Avoidance : Menghindari deadlock dengan menolak proses yang meminta recource yang berpotensi deadlock
-Detection dan Recovery : Membiarkan deadlock terjadi, mencari msalah yang membuat deadlock, matikan masalahnya dan recovery / kembalikan ke semula.
Algoritma menangani Deadlock.
Untuk menangani deadlock ada yang dinamakan:
– Algoritma Banker : Algoritmahttp://www.blogger.com/blogger.g?blogID=1240671161138143225#editor/target=post;postID=3051043776196714965 ini sering dipakai pada strategi Avoidance ( Menghindari / penolakan) untuk mencegah terjadinya deadlock. Analoginya disamakan dengan kegiatandi dalam bank .
Dimana Nasabah dianggap sebagai proses;
Banker sebagai OS;
Dan Uang sebagai resource;
Nasabah (proses) membutuhkan uang (resource).Kemudiam meminjam ke bankir (OS). dengan jatah tertentu. Bila nasabah(Proses) dapat mengembalikan Uang (resource) tepat waktu Bankir (OS) dapat memberikan (resource ) tambahan.Bila Proses lambat mengembalikan (tidak menggunakan ) resource. Maka OS akan menghindari/ menolak proses tersebut (deadlock).
–AlgoritmaSafty
Algoritma ini untuk menentukan apakah sistem berada dalam state selamat atau
tidak.
1. Work dan Finish adalah vector dengan panjang m dan n. Inisialisasi : Work =
Available dan Finish[i] = false untuk i = 1,3, …, n.
2. Cari i yang memenuhi kondisi berikut :
(a) Finish [i] = false
(b) Needi ≤ Work
Jika tidak terdapat i ke langkah 4.
3. Work = Work + Allocationi
Finish[i] = true
Kembali ke langkah 2.
4. Jika Finish [i] == true untuk semua i, maka sistem dalam state selamat
–AlgoritmaOstrich
Algoritma ini sering digunakan pada strategi Detection and Recovery. Analoginya. OS membiarkan proses atu ancaman terjadinya deadlock, karena kemungkinan deadlock sangatlah kecil atau biaya untuk memperbaiki deadlock lebih besar daripada akibat deadlock itu sendiri. Jadi semisal deadlock terjadi karena virus, tinggal babad virusnya lalu instal ulang deh OS nya.
Sekian Semoga bermanfaat.
Tidak ada komentar:
Posting Komentar