Rabu, 02 Januari 2013

Penanganan DeadLock dengan algoritma Banker, Safety dan Ostrich


       Deadlock adalah dimana terjadinya suatu antrian data yang masuk untuk di proses yang mana biasanya menyebabkan komputer yang kita gunakan tidak bekerja dengan baik, ngehang, ngeblang atau bahkan bisa terjadi blue screen.

Terdapat bermacam macam algoritma penanganan terhadap deadlock. Diantaranya adalah


1. Algoritma Bangker,
2. Safety dan


3.Ostrich.

1. Algoritma Banker


      Algoritma Banker atau algoritma penjadwalan, algorima ini diambil dari pemisalan dari sebagai sebuah bank yang ingin meminjamkan kredit kepada nasabah-nasabahnya.



      Pada Algoritma Banker, kondisi mutual exclusion, hold and wait dan non preemption diijinkan dan proses-proses melakukkan klaim penggunaan eksklusif sumber daya-sumber daya yang diperlukan. Proses-proses diijinkan menggenggam sumber daya-sumber daya sambil meminta dan menunggu sumber daya-sumber daya lain serta sumber daya-sumber daya itu tidak diijinkan di preempt proses lain.



       Proses-proses dapat meminta satu sumber daya pada suatu waktu. Sistem Operasi dapat memberikan akses sumber daya atau menolak permintaan. Jika ditolak, proses masih menggengam sumber daya yang telah dialokasikan untuknya dan menunggu selama waktu berhingga sampai permintaannya dapat diberikan.



          Sistem hanya memberikan permintaan yang menghasilkan state selamat. Permintaan proses yang akan menghasilkan state tak selamat secara berulang ditolak sampai permintaan dapat dipenuhi. Tentunya karena sistem selalu memelihara agar dalam state safe, cepat atau lambat (yaitu dalam waktu yang berhingga) semua permintaan dapat dipenuhi dan semua proses dapat berakhir.



Kelemahan dari Algoritma Banker:



    a)      Proses-proses jarang mengetahui diawal proses jumlah maksimum sumber daya yang akan diperlukan.

    b)      Jumlah proses tidak tetap, secara dinamis beragam begitu pemakai-pemakai baru login dan logout.

    c)      Sumber daya yang dihitung sebagai tersedia dapat saja tiba-tiba ditanggalkan sehingga sebenernya menjadi tidak tersedia.

    d)      Proses-proses harus independen, yaitu urutan proses-proses  dieksekusi tidak dibatasi kebutuhan sinkronisasi antarproses.

     e)      Algoritma menghendaki memberikan semua permintaan selama waktu yang berhingga.

     f)       Algoritma menghendaki client-client mengembalikan sumber daya setelah suatu waktu yang berhingga.




2.Algoritma Safety

      
       Algoritma ini bekerja dengan cara algoritma mencari apakah sistem dalam status aman atau tidak. Status ini terjadi jika sistem dapat mengalokasikan sumber daya bagi tiap proses dalam keadaan tertentu dan masih dapat terjadi deadlock. Status aman bukanlah status deadlock, jadi status deadlock merupakan status tidak aman, tetapi tidak selamanya status tidak aman mengakibatkan status deadlock melainkan ada kemungkinan dapat terjadi.



3. Algoritma Ostrich



       Algoritma ostrich merupakan strategi penanganan deadlock dengan cara mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu mungkin sangat jarang terjadi.dalam hal ini berarti diasumsikan bahwa tidak ada masalah. Dengan begitu mengasumsikan bahwa tidak ada masalah lebih efektif daripada untuk memungkinkan masalah itu terjadi dibandingkan upaya pencegahannya.


0 komentar:

Posting Komentar