Apakah Algoritma Banker?
Algoritma Banker digunakan terutamanya dalam sistem perbankan untuk mengelakkan kebuntuan. Ini membantu anda mengenal pasti sama ada pinjaman akan diberikan atau tidak.
Algoritma ini digunakan untuk menguji simulasi peruntukan dengan selamat untuk menentukan jumlah maksimum yang tersedia untuk semua sumber. Ia juga memeriksa semua kemungkinan aktiviti sebelum menentukan sama ada peruntukan harus diteruskan atau tidak.
Sebagai contoh, terdapat X bilangan pemegang akaun bank tertentu, dan jumlah wang akaun mereka adalah G.
Semasa bank memproses pinjaman kereta, sistem perisian mengurangkan jumlah pinjaman yang diberikan untuk membeli kereta dari jumlah wang (G + Deposit tetap + Skim Pendapatan Bulanan + Emas, dll.) Yang dimiliki bank.
Ia juga memeriksa bahawa perbezaannya lebih daripada atau tidak G. Ia hanya memproses pinjaman kereta apabila bank mempunyai wang yang mencukupi walaupun semua pemegang akaun mengeluarkan wang G secara serentak.
Dalam tutorial sistem operasi ini, anda akan belajar:
- Apakah Algoritma Banker?
- Notasi Algoritma Banker
- Contoh algoritma Banker
- Ciri Algoritma Banker
- Kelemahan algoritma Banker
Notasi Algoritma Banker
Berikut adalah notasi penting yang digunakan dalam algoritma Banker:
- X: Menunjukkan jumlah proses sistem.
- Y: Menunjukkan jumlah sumber yang ada dalam sistem.
Ada
[I: Y] menunjukkan sumber mana yang ada.
Maks
[l: X, l: Y]: Ungkapan bilangan sumber maksimum jenis j atau proses i
Peruntukan
[l: X, l: Y]. Nyatakan di mana proses anda telah menerima sumber jenis j
Perlu
Nyatakan berapa banyak sumber yang dapat diperuntukkan pada masa akan datang
Contoh algoritma Banker
Andaikan kita mempunyai sumber berikut:
- 5 Pemacu pen
- 2 Pencetak
- 4 Pengimbas
- 3 Cakera keras
Di sini, kami telah membuat vektor yang mewakili jumlah sumber: Tersedia = (5, 2, 4, 3).
Andaikan terdapat empat proses. Sumber yang ada sudah diperuntukkan seperti jadual matriks di bawah.
Nama Proses | Pemacu Pen | Mesin pencetak | Pengimbas | Cakera Keras |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
Q | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Jumlah | 4 | 2 | 2 | 3 |
Di sini, sumber yang diperuntukkan adalah jumlah lajur ini:
Peruntukkan = (4, 2, 2, 3).
Kami juga membuat Matrix untuk memaparkan jumlah setiap sumber yang diperlukan untuk semua proses. Matriks ini dipanggil Need = (3,0,2,2)
Nama Proses | Pemacu Pen | Mesin pencetak | Pengimbas | Cakera Keras |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
Q | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Vektor yang ada ialah:
Ada = Ada- Diperuntukkan
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
Algoritma Permintaan Sumber
Algoritma permintaan sumber membolehkan anda mewakili tingkah laku sistem ketika proses tertentu membuat permintaan sumber.
Mari fahami perkara ini dengan langkah berikut:
Langkah 1) Apabila jumlah semua sumber yang diminta kurang daripada prosesnya, pindah ke langkah 2.
Langkah 2) Apabila contoh yang diminta untuk setiap jenis sumber lebih rendah dibandingkan dengan sumber yang ada untuk setiap jenis, ia akan diproses ke langkah berikutnya. Jika tidak, prosesnya perlu menunggu kerana ketiadaan sumber yang mencukupi.
Langkah 3) Sumber diperuntukkan seperti yang ditunjukkan di bawah yang diberi Pseudocode.
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
Langkah terakhir ini dilakukan kerana sistem perlu menganggap bahawa sumber daya telah diperuntukkan. Sehingga mesti ada lebih sedikit sumber yang ada setelah peruntukan.
Ciri Algoritma Banker
Berikut adalah ciri penting algoritma jurubank:
- Simpan banyak sumber yang memenuhi keperluan sekurang-kurangnya satu pelanggan
- Setiap kali proses memperoleh semua sumbernya, ia perlu mengembalikannya dalam jangka masa yang terhad.
- Apabila proses meminta sumber, perlu menunggu
- Sistem ini mempunyai bilangan sumber yang terhad
- Ciri pendahuluan untuk peruntukan sumber maksimum
Kelemahan algoritma Banker
Berikut, terdapat kekurangan / kekurangan penggunaan algoritma banker
- Tidak membenarkan proses mengubah keperluan Maksimumnya semasa memproses
- Ini memungkinkan semua permintaan diberikan dalam waktu yang terbatas, tetapi satu tahun adalah tempoh tetap untuk itu.
- Semua proses mesti mengetahui dan menyatakan keperluan sumber maksimum mereka terlebih dahulu.
Ringkasan:
- Algoritma Banker digunakan terutamanya dalam sistem perbankan untuk mengelakkan kebuntuan. Ini membantu anda mengenal pasti sama ada pinjaman akan diberikan atau tidak.
- Notasi yang digunakan dalam algoritma banker adalah 1) Terdapat 2) Maksimum 3) Peruntukan 4) Keperluan
- Algoritma permintaan sumber membolehkan anda mewakili tingkah laku sistem ketika proses tertentu membuat permintaan sumber.
- Algoritma Banker menyimpan banyak sumber yang memenuhi keperluan sekurang-kurangnya satu pelanggan
- Kelemahan terbesar algoritma banker ini adalah bahawa ia tidak membenarkan proses mengubah keperluan Maksimumnya semasa memproses.