Banker Algoritması OperaAyarlama Sistemi [Örnek]
⚡ Akıllı Özet
Bankacı Algoritması, kaynak tahsisinin sistemi güvenli bir durumda tutup tutmadığını test eden bir kilitlenme önleme yöntemidir. Bankacılıktan adını alan bu algoritma, yalnızca her işlemi karşılayacak kadar kaynak kaldığında bir isteği onaylar.

Banker Algoritması Nedir?
Bankacının Algoritması Bankacılık sisteminde çoğunlukla kaçınmak için kullanılır. çıkmaz. Kredi verilip verilmeyeceğini belirlemenize yardımcı olur.
Bu algoritma, tüm kaynaklar için mevcut maksimum miktarı belirlemek amacıyla tahsisin güvenli bir şekilde simüle edilmesini test etmek için kullanılır. Ayrıca tahsisin devam edip etmeyeceğini belirlemeden önce olası tüm faaliyetleri de kontrol eder.
Örneğin, belirli bir bankanın X sayıda hesap sahibi olduğunu ve hesaplarındaki toplam para miktarının G olduğunu varsayalım.
Bankanın otomobil kredisi işlemini gerçekleştirdiği sırada, yazılım sistemi şu alt programı kullanır:tracBu, bankanın sahip olduğu toplam paradan (G + Vadeli Mevduat + Aylık Gelir Planı + Altın, vb.) araba satın almak için verilen kredi miktarıdır.
Araç kredisi ancak kalan para G tutarını aştığı takdirde verilir, bu nedenle tüm hesap sahipleri istedikleri zaman G tutarını çekebilirler.
Bankacı Algoritması Gösterimleri
İşte bankacı algoritmasında kullanılan bazı önemli gösterimler:
- X: Sistemdeki toplam işlem sayısını gösterir.
- Y: Sistemde bulunan toplam kaynak sayısını gösterir.
Mevcut
[1:Y], her kaynak türünün kaç örneğinin mevcut olduğunu gösterir.
maksimum
[1:X, 1:Y]: i işleminin talep edebileceği j türündeki kaynakların maksimum sayısını ifade eder.
Tahsis
[1:X, 1:Y]: Şu anda i işlemine tahsis edilmiş olan j türündeki kaynakları gösterir.
gerek
Her bir işlem türü için, i işleminin görevini tamamlamak üzere kaç adet daha kaynağa ihtiyaç duyduğunu ifade eder.
Banker algoritması örneği
Aşağıdaki kaynaklara sahip olduğumuzu varsayalım:
- 5 Kalem sürücüsü
- 2 Yazıcı
- 4 Tarayıcı
- 3 Sabit disk
Burada toplam kaynakları temsil eden bir vektör oluşturduk: Mevcut = (5, 2, 4, 3).
Dört sürecin olduğunu varsayalım. Mevcut kaynaklar halihazırda aşağıdaki matris tablosuna göre tahsis edilmiştir.
| İşlem Adı | Kalem Sürücüleri | Yazıcı | Tarayıcı | sabit disk |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| Toplam | 4 | 2 | 2 | 3 |
Burada tahsis edilen kaynaklar, bu sütunların toplamıdır:
Tahsis edilen = (4, 2, 2, 3).
Ayrıca tüm süreçler için gereken her kaynağın sayısını gösteren bir Matris oluşturuyoruz. Bu matris denir gerek = (3, 0, 2, 2).
| İşlem Adı | Kalem Sürücüleri | Yazıcı | Tarayıcı | sabit disk |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
Kullanılabilir vektör şu olacaktır:
Mevcut = Mevcut – Tahsis Edilmiş
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
Kaynak İsteği Algoritması
Kaynak isteği algoritması, belirli bir işlem kaynak isteğinde bulunduğunda sistemin davranışını temsil etmenizi sağlar.
Bunu aşağıdaki adımlarla anlayalım:
) 1 Adım Tüm kaynakların talep edilen toplam örnek sayısı, işlemden daha az olduğunda, 2. adıma geçin.
) 2 Adım Her bir kaynak türünün talep edilen örnek sayısı, o türün mevcut kaynak sayısından az olduğunda, işlem bir sonraki adıma geçecektir. Aksi takdirde, yeterli kaynak bulunmaması nedeniyle işlem beklemek zorunda kalacaktır.
) 3 Adım Kaynak, aşağıda verilen sözde kodda gösterildiği gibi tahsis edilir.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Bu son adım, sistemin kaynakların tahsis edildiğini varsayması gerektiği için gerçekleştirilir; böylece tahsis işleminden sonra kullanılabilir kaynak sayısı azalır.
Banker Algoritmasının Özellikleri
İşte bankacı algoritmasının önemli özellikleri:
- En az bir müşterinin ihtiyacını karşılayacak birçok kaynağı bünyesinde bulundurur.
- Bir süreç tüm kaynaklarını aldığında, bunları sınırlı bir süre içinde geri döndürmesi gerekir.
- Bir işlem bir kaynak talep ettiğinde, beklemesi gerekebilir.
- Sistemin kaynakları sınırlıdır.
- Kaynakların maksimum düzeyde tahsis edilmesi için gelişmiş bir özellik sunar.
Banker algoritmasının dezavantajı
Banka algoritmasının dezavantajları/eksiklikleri şunlardır:
- Bu, işlem sırasında sürecin azami ihtiyacını değiştirmesine izin vermez.
- Bu, tüm taleplerin sınırlı bir süre içinde karşılanmasına olanak tanır, ancak bunun için bir yıl sabit bir süredir.
- Tüm süreçlerin maksimum kaynak ihtiyaçlarını önceden bilmesi ve belirtmesi gerekir.
