İşletim Sisteminde Bankanın Algoritması (Örnek)

İçindekiler:

Anonim

Banker Algoritması nedir?

Banker Algoritması , bankacılık sisteminde kilitlenmeyi önlemek için büyük ölçüde kullanılır. Borç verilip verilmeyeceğini belirlemenize yardımcı olur.

Bu algoritma, tüm kaynaklar için mevcut maksimum miktarı belirlemek üzere tahsisi güvenli bir şekilde simüle etmeyi test etmek için kullanılır. Ayrıca, tahsisin devam edip etmeyeceğini belirlemeden önce olası tüm faaliyetleri kontrol eder.

Örneğin, belirli bir bankanın X sayıda hesap sahibi vardır ve hesaplarının toplam parası G'dir.

Banka araç kredisi işlediğinde, yazılım sistemi araç satın almak için verilen kredi miktarını bankanın sahip olduğu toplam paradan (G + Sabit mevduat + Aylık Gelir Planı + Altın vb.) Çıkarır.

Ayrıca, farkın G'den fazla olup olmadığını da kontrol eder. Araç kredisini, tüm hesap sahipleri aynı anda G parasını çekse bile, banka yeterli paraya sahip olduğunda işler.

Bu işletim sistemi eğitiminde şunları öğreneceksiniz:

  • Banker Algoritması nedir?
  • Banker'in Algoritma Gösterimleri
  • Bankanın algoritması örneği
  • Banker Algoritmasının Özellikleri
  • Banker'in algoritmasının dezavantajı

Banker'in Algoritma Gösterimleri

İşte Banker'in algoritmasında kullanılan önemli bir gösterim:

  • X: Sistemin toplam işlem sayısını gösterir.
  • Y: Sistemde bulunan toplam kaynak sayısını gösterir.

Mevcut

[I: Y] hangi kaynağın mevcut olduğunu gösterir.

Max

[l: X, l: Y]: j tipi veya i süreci için maksimum kaynak sayısının ifadesi

Tahsis

[l: X, l: Y]. Süreci j türü bir kaynağı nereden aldığınızı belirtin

İhtiyaç

Gelecekte daha fazla kaynak tahsis edilebileceğini ifade edin

Bankanın algoritması örneği

Aşağıdaki kaynaklara sahip olduğumuzu varsayalım:

  • 5 Kalem sürücü
  • 2 Yazıcı
  • 4 Tarayıcılar
  • 3 Sabit disk

Burada, toplam kaynakları temsil eden bir vektör oluşturduk: Mevcut = (5, 2, 4, 3).

Dört işlem olduğunu varsayın. Mevcut kaynaklar, aşağıdaki matris tablosuna göre zaten tahsis edilmiştir.

İşlem adı Kalem Sürücüleri Yazıcı Tarayıcı Hard 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, ayrılan kaynaklar bu sütunların toplamıdır:

Ayrılan = (4, 2, 2, 3).

Ayrıca tüm işlemler için gereken her bir kaynağın sayısını görüntülemek için bir Matris oluşturuyoruz. Bu matrise Need = (3,0,2,2) denir

İşlem adı Kalem Sürücüleri Yazıcı Tarayıcı Hard disk
P 1 1 0 0
Q 0 1 1 2
R 2 1 0 0
S 0 0 1 0

Mevcut vektör şöyle olacaktır:

Mevcut = Mevcut - Tahsis Edildi

= (5, 2, 4, 3) - (4, 2, 2, 3)

= (1, 0, 2, 0)

Kaynak Talep Algoritması

Kaynak isteği algoritması, belirli bir işlem bir kaynak isteğinde bulunduğunda sistem davranışını temsil etmenizi sağlar.

Bunu aşağıdaki adımlarla anlayalım:

Adım 1) Tüm kaynakların toplam istenen vakası işlemden daha az olduğunda, 2. adıma geçin.

Adım 2) Her bir kaynak türünün talep edilen bir örneği, her türün mevcut kaynaklarına kıyasla daha az olduğunda, bir sonraki adıma işlenecektir. Aksi takdirde, yeterli kaynakların bulunmaması nedeniyle işlemin beklemesi gerekir.

Adım 3) 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ğinden gerçekleştirilir. Böylelikle tahsis sonrasında daha az kaynak mevcut olmalıdır.

Banker Algoritmasının Özellikleri

Bankacının algoritmasının önemli özellikleri şunlardır:

  • En az bir müşterinin gereksinimlerini karşılayan birçok kaynağı saklayın
  • Bir süreç tüm kaynaklarını aldığında, kısıtlı bir süre içinde geri vermesi gerekir.
  • Bir süreç bir kaynak talep ettiğinde beklemesi gerekir
  • Sistemin sınırlı sayıda kaynağı vardır
  • Maksimum kaynak tahsisi için gelişmiş özellik

Banker'in algoritmasının dezavantajı

İşte, bankacı algoritmasını kullanmanın eksileri / sakıncaları

  • İşlemin işlem sırasında Maksimum ihtiyacını değiştirmesine izin vermez
  • Tüm taleplerin sınırlı bir süre içinde verilmesine izin verir, ancak bir yıl bunun için sabit bir süredir.
  • Tüm süreçler, maksimum kaynak ihtiyaçlarını önceden bilmeli ve belirtmelidir.

Özet:

  • Bankanın algoritması, kilitlenmeyi önlemek için bankacılık sisteminde büyük ölçüde kullanılmaktadır. Borç verilip verilmeyeceğini belirlemenize yardımcı olur.
  • Bankanın algoritmalarında kullanılan işaretler 1) Kullanılabilir 2) Maks 3) Tahsis 4) İhtiyaç
  • Kaynak isteği algoritması, belirli bir işlem bir kaynak isteğinde bulunduğunda sistem davranışını temsil etmenizi sağlar.
  • Bankanın algoritması, en az bir müşterinin gereksinimlerini karşılayan birçok kaynağı tutar
  • Bankacının algoritmasının en büyük dezavantajı, işlemin işlem sırasında Maksimum ihtiyacını değiştirmesine izin vermemesidir.