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.

  • 🏦 Tujuan: Hal ini menghindari kebuntuan dengan memeriksa bahwa alokasi sumber daya tidak meninggalkan sistem dalam keadaan aman.
  • 🔢 Empat Matriks: Tersedia, Maksimum, Alokasi, dan Kebutuhan tracPenggunaan sumber daya k.
  • 🧮 Kondisi Aman: Permohonan hanya akan dikabulkan jika semua proses masih dapat diselesaikan.
  • 📋 Persyaratan: Setiap proses harus menyatakan kebutuhan sumber daya maksimumnya terlebih dahulu.
  • Manfaat: Memastikan sumber daya dapat memenuhi kebutuhan setidaknya satu klien setiap saat.
  • ⚠️ Kekurangan: Proses tidak dapat mengubah kebutuhan maksimumnya saat sedang berjalan.

Algoritma Perbankan dalam OperaSistem ting

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.

Pertanyaan Umum Demo Slot

Suatu keadaan aman adalah keadaan di mana setidaknya satu urutan eksekusi memungkinkan setiap proses untuk mendapatkan sumber daya maksimumnya dan menyelesaikan prosesnya. Jika tidak ada urutan seperti itu, keadaan tersebut tidak aman dan dapat menyebabkan kebuntuan (deadlock).

Pencegahan deadlock menghilangkan salah satu kondisi yang dibutuhkan untuk terjadinya deadlock terlebih dahulu. Penghindaran deadlock, seperti Algoritma Banker, memungkinkan kondisi tersebut tetapi memeriksa setiap permintaan untuk menjaga keamanan sistem.

Nama algoritma ini diambil dari cara bank mengelola pinjaman. Bank hanya meminjamkan uang jika masih dapat memenuhi kebutuhan setiap nasabah. Demikian pula, algoritma ini hanya memberikan sumber daya jika semua proses masih dapat diselesaikan dengan aman.

AI dapat memprediksi permintaan sumber daya dan mendeteksi pola alokasi berisiko sebelum menyebabkan kebuntuan. AI dapat menyarankan permintaan mana yang perlu ditunda, melengkapi Algoritma Banker dalam sistem kompleks di mana kebutuhan maksimum sulit diprediksi.

Tidak sepenuhnya. Algoritma Perbankan menjamin hasil yang aman ketika kebutuhan maksimum diketahui. AI dapat meningkatkan prediksi dan efisiensi, tetapi bekerja paling baik bersamaan dengan AI, bukan sebagai pengganti sepenuhnya.

Ringkaslah postingan ini dengan: