Algoritma Bankir di Operating Sistem [Contoh]
⚡ Ringkasan Cerdas
Algoritma Banker adalah metode penghindaran kebuntuan yang menguji apakah alokasi sumber daya menjaga sistem dalam keadaan aman. Dinamakan berdasarkan perbankan, algoritma ini hanya mengabulkan permintaan jika masih ada cukup sumber daya untuk memenuhi kebutuhan setiap proses.
Apa itu Algoritma Bankir?
Algoritma Bankir digunakan secara luas dalam sistem perbankan untuk menghindari jalan buntu. Ini membantu Anda untuk 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.
Sebagai contoh, terdapat X jumlah nasabah di bank tertentu, dan total uang di rekening mereka adalah G.
Ketika bank memproses pinjaman mobil, sistem perangkat lunak tersebut...tracIni adalah jumlah pinjaman yang diberikan untuk membeli mobil dari total uang (G + Deposito Tetap + Skema Pendapatan Bulanan + Emas, dll.) yang dimiliki bank.
Pinjaman mobil hanya diberikan jika sisa uang masih melebihi G, sehingga semua pemegang rekening dapat menarik G kapan saja.
Notasi Algoritma Bankir
Berikut beberapa notasi penting yang digunakan dalam algoritma Banker:
- X: Menunjukkan jumlah total proses dalam sistem.
- Y: Menunjukkan jumlah total sumber daya yang ada dalam sistem.
Tersedia
[1:Y] menunjukkan berapa banyak instance dari setiap jenis sumber daya yang tersedia.
max
[1:X, 1:Y]: Menyatakan jumlah maksimum sumber daya tipe j yang dapat diminta oleh proses i.
Alokasi
[1:X, 1:Y]: Menunjukkan sumber daya tipe j yang saat ini dialokasikan ke proses i.
Perlu
Menunjukkan berapa banyak lagi sumber daya dari setiap jenis proses i yang masih dibutuhkan untuk menyelesaikan tugasnya.
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 dari kolom-kolom ini:
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
Algoritma permintaan sumber daya memungkinkan Anda untuk merepresentasikan perilaku sistem ketika suatu proses tertentu membuat permintaan sumber daya.
Mari kita pahami hal ini melalui langkah-langkah berikut:
Langkah 1) Jika jumlah total instance yang diminta dari semua sumber daya kurang dari jumlah yang dibutuhkan proses, lanjutkan ke langkah 2.
Langkah 2) Apabila jumlah instance yang diminta untuk setiap jenis sumber daya lebih sedikit dibandingkan dengan sumber daya yang tersedia untuk setiap jenis tersebut, maka proses akan dilanjutkan ke langkah berikutnya. Jika tidak, proses perlu menunggu karena kurangnya sumber daya yang memadai.
Langkah 3) Sumber daya dialokasikan seperti yang ditunjukkan pada Pseudocode 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 jumlah sumber daya yang tersedia setelah alokasi menjadi lebih sedikit.
Karakteristik Algoritma Bankir
Berikut adalah karakteristik penting dari algoritma perbankan:
- Menyimpan banyak sumber daya yang memenuhi persyaratan 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 mungkin perlu menunggu.
- Sistem ini memiliki sumber daya yang terbatas.
- Fitur ini menawarkan keunggulan dalam alokasi sumber daya secara maksimal.
Kerugian dari algoritma Banker
Berikut adalah kekurangan/kelemahan menggunakan algoritma bankir:
- Hal ini tidak memungkinkan proses untuk mengubah kebutuhan maksimumnya selama pemrosesan.
- Hal ini memungkinkan semua permohonan dikabulkan dalam jangka waktu terbatas, tetapi satu tahun adalah periode tetap untuk itu.
- Semua proses harus mengetahui dan menyatakan kebutuhan sumber daya maksimumnya terlebih dahulu.

