Algoritma OSTRICH
Algoritma Ostrich sama juga dengan algoritma banker
dan algoritma safety hanya algoritma yang satu ini sudah
tentu berbeda dengan algoritma yang lainnya.
Algoritma Safety merupakan algoritma yang mengabaikan
proses yang terjadi pada sistem ibaratnya seperti burung unta
yang menempelkan kepalanya di pasir dan berpura-pura tidak
terjadi masalah apa pun. Maksudnya algoritma yang satu ini
tidak terlalu memperhatikan kondisi sistem apakah akan terjadi
deadlock atau tidak melainkan menganggap bahwa deadlock
jarang terjadi pada suatu sistem tertentu.
Algortima Ostrich di gunakan oleh dua metode sebagai berikut :
1.Trade-offs : merupakan metode penanganan deadlock dengan
sistem dimana ada asumsi bahwa suatu masalah
(dalam hal ini deadlock) jarang terjadi atau masalah tersebut
belum tentu benar bisa saja sewaktu-waktu berubah atau
bahkan akan kembali terjadi, sehingga jangan terlalu terpaku
akan satu masalah yang ada.
2.Pendekatan Hybird : merupakan metode yang mengasumsikan
masalah (dalam hal ini misal deadlock) sangat jarang terjadi
atau bahkan tidak akan pernah terjadi sama sekali, dan biasanya
bisa saja beralih pada algoritma yang lebih kompleks untuk
mengetahui masalah tersebut benar-benar terjadi atau tidak.
Algoritma SAFETY
Algoritma Safety sama halnya dengan algoritma banker
merupakan algoritma penangan deadlock, namun algoritma
safety ini lebih kepada memastikan apa kah suatu sistem dapat
dikatakan aman (safe state) atau tidak aman (unsafe state).
Algoritma ini cukup sederhana hanya mengecek kondisi
dimana sistem jika di katakan dalam keadaan aman (safe state)
maupun tidak (unsafe state), maka dapat di ilustrasikan dalam
program sederhana pada gambar berikut :
Penjelasan program algoritma safety dari gambar diatas,
lihat gambar di bawah ini :
Algoritma BANKER
Algoritma banker merupakan salah satu algoritma penanganan
terjadinya deadlock, algoritma tersebut di sebut algoritma
banker karena simulasi dari algoritma ini mirip dengan sistem
bankir di bidang perbankan. Algoritma banker ini dikemukakan
oleh Edsger W. Djiksta dan merupakan suatu simulasi sistem
perbankan yang diibaratkan untuk menghindari deadlock.
Disini maksudnya jika anggap saja misal :
1.Bank : Dianggap sebagai sistem operasi.
2.Pinjaman atau uang : Dianggap resource (resouce merupakan
proses yang sedang berjalan).
3.Nasabah : Dianggap proses yang memerlukan resource.
Implementasinya :
Jadi algoritma banker ini di gunakan agar bank tidak kekurangan
uang, sehingga pada saat nasabah melakukan penarikan
sejumlah uang bank tersebut tetap pada kondisi safe state
(dalam keadaan aman), jika nasabah tidak mendapat penarikan
uang maka bank berada pada kondisi unsafe state
(keadaan tidak aman), maka nasabah harus menunggu hingga
ada tambahan uang dari nasabah lain. Nah jika bank ada pada
kondisi dimana nasabah tidak dapat melakukan penarikan
uang atau melakukan peminjaman uang maka disana lah
terjadinya deadlock. Intinya agar tidak terjadi deadlock maka
nasabah yang melakukan peminjaman uang harus segera
mengembalikan uang pinjaman pada bank dengan tepat waktu.
Sehingga dapat dikatakan algoritma banker ini di jalankan
oleh sebuah sistem operasi ketika ada request resource
(permintaan proses yang akan di eksekusi).
Nah penolakan dari algoritma ini terhadap deadlock terjadi
pada saat request resource yang akan di eksekusi dapat
membawa sistem pada kondisi unsafe state. Dengan kata lain
ketika suatu proses masuk ke dalam sistem maka proses
tersebut harus di eksekusi menggunakan jumlah maksimal
resource yang di perlukan namun tidak boleh melebihi jumlah
resource yang di miliki oleh sistem. Kemudian proses
tersebut harus segera mengembalikan resource pada sistem
dengan tepat waktu, jika tidak maka akan terjadi deadlock dimana
suatu proses akan saling tunggu atau terhenti secara tiba-tiba
karena resource yang akan di gunakan sedang di gunakan
oleh proses lain.
Sumber: http://2010220-if-unsika.blogspot.com/2013/01
>>>>>TERIMAKASIH<<<<<
No comments:
Post a Comment