"Kumpulan Materi Kuliah [2009080 Deden Wahiddin]"

Senin, 12 Desember 2011

Deadlock ( Algoritma )


 Deadlock merupakan masalah yang biasa terjadi pada suatu sistem komputer, yaitu keadaan dimana 2 atau lebih proses saling menunggu meminta resource untuk waktu yang tidak terbatas lamanya. Pada keadaan tersebut mungkin proses masih berjalan hanya saja membutuhkan waktu yang relatif lama untuk bergantian menggunakan resource. disamping itu ada juga deadlock yang mengakibatkan komputer menjadi ‘hang’ alias benar – benar tidak bisa berjalan sama sekali. 

Deadlock harus ditangani dengan baik, karena Jika komputer sering mengalami deadlock, bukan tidak mungkin dalam jangka waktu tertentu bisa merusak sistem bahkan hardware dari komputer tersebut.  Nah, berikut ini adalah 3 algoritma yang digunakan untuk mengatasi deadlock :

1.      Algoritma Banker
Algoritma Banker ini merupakan proses penjadwalan yang dilakukan oleh komputer untuk mencegah terjadinya deadlock, karena mencegah lebih baik dari pada membiarkan deadlock itu terjadi kemudian mengatasinya. Nah, deskripsi dari algoritma ini misalnya suatu aplikasi akan dijalankan/melakukan proses, maka aplikasi tersebut akan meminta resource untuk dapat berjalan.  Setelah itu komputer akan memberi / mengalokasikan resource yang dibutuhkan untuk menjalankan aplikasi tadi, tentu saja harus sesuai dengan batasan resource yang tersedia. Kemudian dengan resource yang dimilikinya itulah aplikasi tadi melakukan proses tanpa harus menunggu atau mengganggu resource yang sedang digunakan aplikasi lain, sehingga aplikasi – aplikasi tersebut bisa berjalan secara bersamaan.

2.      Algoritma Ostrict
Cycle time proses atau waktu proses yang terlihat sedikit lebih lama dari biasanya, bisa jadi menunjukan bahwa sistem sedang mengalami deadlock. Pada Algoritma Ostrict ini proses dibiarkan berjalan seakan – akan tidak akan terjadi deadlock. Nah, ketika dirasa terjadi deadlock pada sistem, barulah kemudian proses eksekusi dihentikan.
Dengan membiarkan proses tetap di resolve untuk dijalankan meskipun besar kemungkinan akan terjadi deadlock, akan berakibat pada user yang harus mematikan/menghentikan proses yang mengalami deadlock.  

3.      Algoritma Safety
Algoritma terakhir dalam penanganan deadlock yaitu algoritma safety. Dari namanya saja kita sudah bisa mengetahui bahwa algoritma ini mementingkan kondisi/keadaan  yang aman bagi sistem. Pada algoritma ini sendiri, penanganan dan antisipasi deadlock bisa dikatakan seperti proses decision pada flowchart, yang artinya memeriksa keadaan dari proses yang sedang berjalan sudah selesai atau belum. Dengan demikian, jika proses dalam kondisi run/berjalan maka proses yang lain belum bisa dieksekusi (menunggu) hingga proses yang sedang berjalan selesai. Dengan demikian estimasi terjadinya deadlock akan sangat kecil, dan memungkinkan system dalam keadaan safety / aman.