Secara umumnya algortima banker tersebut dibagi menjadi 4 struktur data, untuk variabel (n) adalah jumlah pada sistem dan (m) sendiri ialah jumlah sumber daya yang ada :
- Allocation : Matriks (n) X (m) mendefinisikan sumber daya setiap tipe yang dialokasi oleh setiap proses. Jika allocation [i,j]=k, maka proses P1 dialokasikan k instansi dari sumber daya Rj.
- Available : Sebuah vektor (m) menandakan sumber daya yg ada untuk setiap tipe, jika available [j]= k, dimana k instansi dari tipe Rj yang ada.
- Need : Matriks (n) X (m) menandakan sisa sumber daya yang dibutuhkan setiap proses. Jika need [i,j]= k, maka proses Pi membutuhkan k instansi dari sumber daya Rj untuk menyelesaikan tugasnya. Need[i,j]= Max[i,j] – Allocation[i,j].
- Max : Matriks (n) X (m) menandakan maksimal permintaan tiap proses. Jika Max [i,j]= k, maka proses Pi meminta paling banyak k instansi dari sumber daya tipe Rj.
Disamping itu semua Algoritma ini :
– Proses harus “declare” max. kredit resource yang diinginkan
– Proses dapat block (pending) sampai resource diberikan
– Menjamin sistem dalam keadaan safe state
– OS menjalankan algoritma banker
* Saat proses melakukan request resource
* Saat proses terminate atau release resource yang digunakan => memberikan resource ke proses yang pending
request.
Ada sedikit contoh gambar Algoritma Banker
Kelemahan dari algoritma ini adalah:
- Proses kebanyakan belum mengetahui jumlah maksimum resource yang dibutuhkannya
- Beberapa resource itu sendiri dapat diambil dari sistem sewaktu-waktunya
- Algoritma membuat sistem hingga waktu yang tidak terbatas
- Jumlah proses tidak tetap
Sumber
0 komentar:
Posting Komentar