Nama
Banker dari Banker’s algorithm diperoleh dari fakta bahwa algoritma
ini dapat digunakan oleh bank untuk memastikan bank tidak akan
mengalami kekurangan resource,
dalam hal ini uang nasabah. Dengan algoritma ini, bank dapat
memastikan bahwa ketika nasabah menarik uang, bank tetap pada kondis
safe state.
Jika penarikan uang oleh nasabah tidak membuat bank keluar dari safe
state (masuk ke dalam
unsafe state), maka
penarikan dan akan diijinkan. Jika tidak, nasabah harus menunggu
hingga ada tambahan uang (deposit dari nasabah lain) di dalam kas
bank.
Banker’s
algorithm adalah algoritma resource
allocation
dan deadlock
avoidance
yang dikembangkan oleh Edsger Dijkstra. Algoritma ini menguji tingkat
keamanan dari kemungkinan deadlock dengan melakukan simulasi
berdasarkan jumlah maksimum resources
dan kemudian mengecek kondisi safe state terhadap semua kemungkinan
kondisi deadlock dari semua aktifitas yang berada dalam posisi
pending,
sebelum memutuskan pengalokasian resource.
Algoritma
Banker’s ini dijalankan oleh sistem operasi ketika proses melakukan
request
resource.
Penghindaran terhadap deadlock
dilakukan dengan menolak atau menunda suatu request
jika sekiranya penerimaan terhadap request tersebut dapat membawa
sistem dalam kondisi unsafe
state.
Berdasar algoritma ini, ketika suatu proses masuk ke dalam sistem,
proses ini harus memberikan jumlah maksimum resource
yang diperlukan dimana resource
tersebut tidak boleh melebihi total resource
yang dimiliki oleh sistem. Selain itu, ketika suatu proses
mendapatkan resource
yang diinginkan, proses tersebut harus mengembalikan resource
yang digunakan dalam jangka waktu tertentu.
Agar
algoritma Banker’s ini dapat berkerja, harus ada tiga hal yang
dimiliki/diketahui, yaitu :
- Jumlah resource dari tiap proses yang mungkin di request.
- Jumlah resource dari tiap proses yang sedang di pegang atau di gunakan (hold).
- Jumlah sisa resource yang dimiliki oleh sistem.
Dan Simulasi The Banker's Algorithm Multiple Resources dapat diunduh Di Sini
Tidak ada komentar:
Posting Komentar