Kamis, 03 Januari 2013

Algoritma Ostrich

Algoritma Ostrich (burung unta) adalah mengabaikan masalah yang mungkin terjadi apabila solusi yang dilakuakn tidak mempedulikan adanya masalah. Stategi ini berarti sama sekali tidak mengatasi deadlock atau sama sekali tidak ada metode yang diterapkan untuk mengatasi masalah deadlock.

Strategi ini mengasumsikan bahwa deadlock jarang terjadi dibandingkan dengan komputer mengalami crash. Strategi ini disebut Algoritma Ostrich (burung unta) karena burung unta akan menyembunyikan kepalanya ke tanah apabila mengetahui adanya bahaya yang mengancamnya. Algoritma ini digunakan apabila dalam menangani deadlock pada pemrograman concurrent jika deadlock diyakini sangat jarang terjadi, dan jika biaya untuk mendeteksi atau pencegahan lebih tinggi.

Algoritma Safety

Algoritma Safety ini adalah untuk menentukan apakah sistem dalam safe state atau unsafe state. Penjelasan Algoritma ini adalah sebagai berikut :


  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) Need ≤ 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. 

Algoritma Banker

Algoritma Banker adalah suatu metode untuk mengatasi deadlock yang dikemukakan oleh Dijkstra, algoritma ini disebut Banker karena memodelkan banker di sebuah kota kecil yang berhubungan dengan sekumpulan nasabah yang memohon kredit/pinjaman. Atau dapat dianalogikan seperti berikut :
  • Sistem Operasi diibaratkan sebagai Bank.
  • Resource diibaratkan sebagai uang.
  • Proses diibaratkan sebagai nasabah.

Deadlock

Proses terlibat di dalam deadlock jika proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Sekumpulan proses berkondisi deadlock apabila setiap proses yang berada di kumpulan itu menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. Dengan demikian proses-proses menunggu kejadian yang tidak akan pernah terjadi.