Algoritma Bankir di Operating Sistem [Contoh]
Apa itu Algoritma Bankir?
Algoritma Bankir digunakan terutama dalam sistem perbankan untuk menghindari kebuntuan. Membantu Anda mengidentifikasi apakah pinjaman akan diberikan atau tidak.
Algoritme ini digunakan untuk menguji simulasi alokasi yang aman guna menentukan jumlah maksimum yang tersedia untuk semua sumber daya. Ia juga memeriksa semua kegiatan yang mungkin dilakukan sebelum menentukan apakah alokasi harus dilanjutkan atau tidak.
Misalnya, ada X jumlah pemegang rekening suatu bank tertentu, dan jumlah total uang di rekening mereka adalah G.
Ketika bank memproses pinjaman mobil, sistem perangkat lunak mengurangi jumlah pinjaman yang diberikan untuk pembelian mobil dari total uang (G+ Deposit tetap + Skema Pendapatan Bulanan + Emas, dll.) yang dimiliki bank.
Ia juga memeriksa apakah selisihnya lebih besar atau tidak dari G. Ia hanya memproses pinjaman mobil ketika bank memiliki cukup uang, bahkan jika semua pemegang rekening menarik uang G secara bersamaan.
Notasi Algoritma Bankir
Berikut adalah notasi penting yang digunakan dalam algoritma Banker:
- X: Menunjukkan jumlah total proses sistem.
- Y: Menunjukkan jumlah total sumber daya yang ada dalam sistem.
Tersedia
[I: Y] menunjukkan sumber daya mana yang tersedia.
max
[l:X,l: Y]: Ekspresi jumlah maksimum sumber daya tipe j atau proses i
Alokasi
[l:X,l:Y]. Tunjukkan di mana proses Anda menerima sumber daya tipe j
Perlu
Nyatakan berapa banyak lagi sumber daya yang dapat dialokasikan di masa depan
Contoh algoritma Banker
Asumsikan kita memiliki sumber daya berikut:
- 5 Pen drive
- 2 Pencetak
- 4 Pemindai
- 3 Hard disk
Di sini, kita telah membuat vektor yang mewakili total sumber daya: Tersedia = (5, 2, 4, 3).
Asumsikan ada empat proses. Sumber daya yang tersedia sudah dialokasikan sesuai tabel matriks di bawah ini.
Nama Proses | Drive Pen | Pencetak | Scanner | hard disk |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Q | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Total | 4 | 2 | 2 | 3 |
Di sini, sumber daya yang dialokasikan adalah total kolom berikut:
Dialokasikan = (4, 2, 2, 3).
Kami juga membuat Matriks untuk menampilkan jumlah setiap sumber daya yang diperlukan untuk semua proses. Matriks ini disebut Perlu=(3,0,2,2)
Nama Proses | Drive Pen | Pencetak | Scanner | hard disk |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Vektor yang tersedia adalah:
Tersedia=Tersedia- Dialokasikan
= (5, 2, 4, 3) -(4, 2, 2, 3)
=(1, 0, 2, 0)
Algoritma Permintaan Sumber Daya
Algoritme permintaan sumber daya memungkinkan Anda mewakili perilaku sistem ketika proses tertentu membuat permintaan sumber daya.
Mari kita pahami hal ini dengan langkah-langkah berikut:
Langkah 1) Ketika total instans yang diminta dari semua sumber daya lebih kecil dari proses, lanjutkan ke langkah 2.
Langkah 2) Bila permintaan setiap jenis sumber daya lebih sedikit dibandingkan dengan sumber daya yang tersedia, maka akan diproses ke langkah berikutnya. Jika tidak, proses harus menunggu karena tidak tersedianya sumber daya yang cukup.
Langkah 3) Sumber daya dialokasikan seperti yang ditunjukkan pada Pseudocode yang diberikan di bawah ini.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Langkah terakhir ini dilakukan karena sistem perlu mengasumsikan bahwa sumber daya telah dialokasikan. Sehingga sumber daya yang tersedia setelah alokasi harus lebih sedikit.
Karakteristik Algoritma Bankir
Berikut adalah karakteristik penting dari algoritma bankir:
- Simpan banyak sumber daya yang memenuhi kebutuhan setidaknya satu klien
- Setiap kali suatu proses mendapatkan semua sumber dayanya, proses tersebut perlu mengembalikannya dalam jangka waktu terbatas.
- Ketika suatu proses meminta sumber daya, proses tersebut harus menunggu
- Sistem memiliki sumber daya yang terbatas
- Fitur lanjutan untuk alokasi sumber daya maksimal
Kerugian dari algoritma Banker
Berikut kekurangan/kekurangan penggunaan algoritma bankir
- Tidak mengizinkan proses mengubah kebutuhan Maksimumnya saat memproses
- Hal ini memungkinkan semua permintaan dikabulkan dalam waktu terbatas, tapi satu tahun adalah jangka waktu tetap untuk itu.
- Semua proses harus mengetahui dan menyatakan kebutuhan sumber daya maksimumnya terlebih dahulu.
Kesimpulan
- Algoritma bankir sebagian besar digunakan dalam sistem perbankan untuk menghindari jalan buntu. Ini membantu Anda untuk mengidentifikasi apakah pinjaman akan diberikan atau tidak.
- Notasi yang digunakan pada algoritma banker adalah 1) Tersedia 2) Maks 3) Alokasi 4) Kebutuhan
- Algoritme permintaan sumber daya memungkinkan Anda mewakili perilaku sistem ketika proses tertentu membuat permintaan sumber daya.
- Algoritma Bankir menyimpan banyak sumber daya yang memenuhi kebutuhan setidaknya satu klien
- Kelemahan terbesar dari algoritma bankir adalah tidak memungkinkan proses untuk mengubah kebutuhan Maksimumnya saat memproses.