Algoritma penanganan DeadLock_2 (Algoritma Banker)

Banker’s algorithm, atau algoritma banker merupakan algoritma penanganan deadlock selain algoritma ostrich. Banker sendiri diambil dari kata bank. Banker disini memang memiliki arti yang demikian (orang-orang bank), karena algoritma ini mengacu pada sistem perbankan dalam menangani jalan buntu. Artinya, algoritma ini digunakan bank 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(ressource) 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..
banker
Hal penting yang perlu diperhatikan dalam penggunaan algoritma banker adalah tentang apa saja yang harus diketahui ataupun dimiliki sehingga algoritma ini dapat berjalan :
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

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s