Algoritma banker merupakan salah satu dari algoritma penanganan
deadlock. Banker sendiri diambil dari kata
bank + 'er' yang berarti orang-orang bank.Megapa demikian? karena algoritma ini mengacu pada sistem perbankan dalam
menangani jalan buntu. Artinya, algoritma ini digunakan bank (sistem operasi) untuk
memastikan bahwa pihak bank tidak akan kekurangan sumberdaya (resource),
yang tentu saja dalam kasus bank resource adalah uang nasabah. Dalam
algoritma Banker, dikenal dua keadaan (state), yaitu keadaan aman (safe
state) dan keadaan tidak aman (unsafe state). Keadaan aman adalah
keadaan dimana bank masih mempunyai cukup uang (resource) ketika nasabah
bank melakukan penarikan uangnya. Keadaan tidak aman (unsafe state)
terjadi ketika nasabah bank melakukan penarikan uang yang melebihi
resource (uang) yang ada. Penanganannya, yaitu dengan mengijinkan
nasabah melakukan penarikan uang jika penarikan tersebut tidak akan
membawa bank kepada kondisi yang tidak aman (unsafe state). Jika
penarikan uang membawa bank kepada kondisi tidak aman, maka nasabah
harus menunggu sampai ada tambahan uang dari nasabah yang lain di dalam
kas bank.
Algoritma banker dikembangkan oleh salah satu orang IT ternama dunia, Edsger Dijkstra. Algoritma ini adalah penanganan deadlock dengan metode penghindaran (avoidance) dengan melakukan alokasi resource.
Untuk menguji tingkat keamanan serta kemungkinan untuk terjadi deadlock, algoritma ini melakukan simulasi yang didasarkan pada jumlah terbanyak sumber daya baru kemudian memeriksa kondisi aman terhadap segala kemungkinan keadaan deadlock dari seluruh proses yang sedang berada pada posisi pending, baru kemudian mengalokasikan resource..
1. Jumlah resource (sumberdaya) dari setiap proses yang mungkin diminta (direquest).–>request
2. Jumlah resource (sumberdaya) dari setiap proses yang sedang dipakai (hold).–>max
3.jumlah sisa resource yang masih dimiliki oleh sistem.–available
2. Jumlah resource (sumberdaya) dari setiap proses yang sedang dipakai (hold).–>max
3.jumlah sisa resource yang masih dimiliki oleh sistem.–available
Resource hanya boleh/bisa diberikan untuk dipakai pada suatu proses jika:
1. request ≤ max, jumlah permintaan (request) tidak lebih banyak dari jumlah maksimum resource.
2. request ≤ available, jumlah request tidak boleh lebih banyak dari jumlah resource yang tersedia. jika tidak proses harus menunggu hingga resource yang diminta ada.
1. request ≤ max, jumlah permintaan (request) tidak lebih banyak dari jumlah maksimum resource.
2. request ≤ available, jumlah request tidak boleh lebih banyak dari jumlah resource yang tersedia. jika tidak proses harus menunggu hingga resource yang diminta ada.
Tidak ada komentar:
Posting Komentar