kali ini saya akan membahas tentang algoritma banker, Safety dan Ostrich, saya akan membahas mulai dari algoritma Banker terlebih dahulu.
- Algoritma banker
2. Algoritma safety
Algoritma ini juga merupakan algoritma untuk penanganan terjadinya deadlock pada sistem operasi. Cara kerjanya melakukan pengecekan pada sistem apakah sistem berada pada kondisi aman (safe state) atau tidak aman (unsafe state). Sistem operasi akan menanyakan apakah suatu proses telah selesai atau masih berjalan, jika proses tersebut masih berjalan maka proses lain harus menunggu hingga proses awal selesai di eksekusi. Hal ini merupakan inti dari algoritma ini, dengan membandingkan waktu pengeksekusian proses maka dapat di simpulkan apakah sistem dalam keadaan aman atau tidak.
misalnya contoh seperti ini :
1. work and finish vektor
dengan panjang m dan n , jika work : available dan finish[i] : false
untuk i = 1,2,3......
2. cari i dengan finish[i] = false , need ≤ work
jika i tidak terdapat
3. work + work = allocation
finish[i]= true , kembali ke 2
4. finish[i] = true pada semua i maka sistem selamatfinish[i]= true , kembali ke 2
3. Algoritma Ostrich
Agoritma ostrich adalah algoritma penanganan deadlock yang mungkin terjadi dengan mengabaikan trejadinya deadlock tersebut. Algoritma ini memiliki 2 pendekatan dalam pengimplementasiannya, yaitu pendekatan trade-offs dan pendekatan hybrid.
Pendekatan trade-offs yaitu jika kondisi atau keadaan berubah atau belum teridentifikasi, masalah yang sangat jarang terjadi dapat kembali lagi. Sedangkan pendekatan hybrid yakni menentukan bahwa kasus deadlock sangat jarang atau bahkan tidak pernah terjadi.
Kesimpulannya dari penjelasan mengenai algoritma di atas bagaimana cara menangani deadlock,deadlock dalah keadaan saling menunggu antara dua proses atau lebih untuk dapat menggunakan resource yang sedang di pakai. pada sebuah sistem operasi karena penanganan terhadap deadlock berbeda-beda sesuai dengan bagaimana deadlock tersebut terjadi.semoga bermanfaat