Kamis, 03 Januari 2013

Algoritma Banker

Algoritma banker dipelopori oleh Edsger W.Djikstra, untuk metode ini adalah salah satu untuk menghindari akan terjadinya deadlock pada komputer. Pada metode algoritma ini bisa disebut juga algoritma penjadwalan tapi lebih kita kenal dengan sebutan algoritma banker. Algoritma Banker itu sendiri dapat kita gambarkan sebagai seorang bankir yang mempunyai urusan kepada kelompok orang yang meminta pinjam tetapi pada untuk yang meminjamkannya tahu akan batas maksimum peminjaman dana tersebut.
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 :
  1. 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. 
  2. Available :  Sebuah vektor (m) menandakan sumber daya yg ada untuk setiap tipe, jika available [j]= k, dimana k instansi dari tipe Rj yang ada.
  3. 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]. 
  4. 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.
Untuk membentuk penyajian algoritma ini secara sederhananya, misalkan X dan Y adalah vektor dengan panjang n. Sehingga X ≤ Y jika dan hanya jika X[i] ≤ Y[i] untuk semua l = 1,2..,n. contohnya : jika X=(1,7,3,2) dan Y(0,3,2,1) maka Y≤X. Y≤X dan Y≠X
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

 
© Copyright 2035 Coretan Buku Kampus