Algoritma Banker dalam Sistem Operasi (Contoh)

Daftar Isi:

Anonim

Apa itu Algoritma Banker?

Algoritma Banker digunakan terutama dalam sistem perbankan untuk menghindari kebuntuan. Ini membantu Anda untuk mengidentifikasi apakah pinjaman akan diberikan atau tidak.

Algoritme ini digunakan untuk menguji simulasi alokasi yang aman untuk menentukan jumlah maksimum yang tersedia untuk semua sumber daya. Ini juga memeriksa semua kemungkinan kegiatan sebelum menentukan apakah alokasi harus dilanjutkan atau tidak.

Misalnya, ada X jumlah pemegang rekening bank tertentu, dan jumlah total uang rekening mereka adalah G.

Ketika bank memproses pinjaman mobil, sistem perangkat lunak mengurangi jumlah pinjaman yang diberikan untuk membeli mobil dari total uang (G + Setoran tetap + Skema Pendapatan Bulanan + Emas, dll.) Yang dimiliki bank.

Ia juga memeriksa bahwa perbedaannya lebih dari atau tidak G. Ia hanya memproses pinjaman mobil ketika bank memiliki cukup uang bahkan jika semua pemegang rekening menarik uang G secara bersamaan.

Dalam tutorial sistem operasi ini, Anda akan mempelajari:

  • Apa itu Algoritma Banker?
  • Notasi Algoritma Banker
  • Contoh algoritma Banker
  • Karakteristik Algoritma Banker
  • Kerugian dari algoritma Banker

Notasi Algoritma Banker

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 telah menerima sumber daya tipe j

Perlu

Nyatakan berapa banyak lagi sumber daya yang dapat dialokasikan di masa depan

Contoh algoritma Banker

Asumsikan bahwa kita memiliki sumber daya berikut:

  • 5 Pen drive
  • 2 Printer
  • 4 Pemindai
  • 3 Hard disk

Di sini, kami telah membuat vektor yang mewakili sumber daya total: Tersedia = (5, 2, 4, 3).

Asumsikan ada empat proses. Sumber daya yang tersedia telah dialokasikan sesuai tabel matriks di bawah ini.

Nama proses Drive Pena Pencetak Pemindai 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 Need = (3,0,2,2)

Nama proses Drive Pena Pencetak Pemindai 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 untuk merepresentasikan perilaku sistem saat proses tertentu membuat permintaan sumber daya.

Mari pahami ini dengan langkah-langkah berikut:

Langkah 1) Jika total instance yang diminta dari semua resource lebih kecil daripada prosesnya, lanjutkan ke langkah 2.

Langkah 2) Ketika contoh yang diminta dari setiap jenis sumber daya lebih rendah dibandingkan dengan sumber daya yang tersedia dari setiap jenis, itu akan diproses ke langkah berikutnya. Jika tidak, proses harus menunggu karena tidak tersedianya sumber daya yang memadai.

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 harus ada lebih sedikit sumber daya yang tersedia setelah alokasi.

Karakteristik Algoritma Banker

Berikut adalah karakteristik penting dari algoritma bankir:

  • Pertahankan banyak sumber daya yang memenuhi persyaratan setidaknya satu klien
  • Kapan pun suatu proses mendapatkan semua sumber dayanya, ia perlu mengembalikannya dalam periode terbatas.
  • Ketika suatu proses meminta sumber daya, itu perlu menunggu
  • Sistem memiliki sumber daya yang terbatas
  • Fitur lanjutan untuk alokasi sumber daya maksimal

Kerugian dari algoritma Banker

Berikut adalah kekurangan / kekurangan dalam menggunakan algoritma bankir

  • Tidak mengizinkan proses untuk mengubah kebutuhan Maksimumnya saat memproses
  • Ini memungkinkan semua permintaan dikabulkan dalam waktu terbatas, tetapi satu tahun adalah periode tetap untuk itu.
  • Semua proses harus mengetahui dan menyatakan kebutuhan sumber daya maksimumnya terlebih dahulu.

Ringkasan:

  • Algoritma bankir digunakan terutama dalam sistem perbankan untuk menghindari kebuntuan. Ini membantu Anda untuk mengidentifikasi apakah pinjaman akan diberikan atau tidak.
  • Notasi yang digunakan dalam algoritma banker adalah 1) Tersedia 2) Maks 3) Alokasi 4) Kebutuhan
  • Algoritme permintaan sumber daya memungkinkan Anda untuk merepresentasikan perilaku sistem saat proses tertentu membuat permintaan sumber daya.
  • Algoritme Banker menyimpan banyak sumber daya yang memenuhi persyaratan setidaknya satu klien
  • Kelemahan terbesar dari algoritma bankir ini adalah tidak memungkinkan proses untuk mengubah kebutuhan maksimumnya saat memproses.