noimage

İçeriği Paylaş:

Ölümcül Kilitlenme (Deadlock) Tespiti

Ölümcül Kilitlenme (Deadlock)2- Her tipten birden fazla kaynak için ölümcül kilitlenme tespitiMatris temelli bir algoritma kullanılır. Süreçler P1-PN olsun.Elimizdeki kaynakların sınıflarını Ei (1<=i<=m) şeklinde isimlendirelim.E var olan kaynak vektörüdür. Her kaynaktan var olan örnek sayısını verir. Örneğin E1 disket sınıfı olsun.E1=2     elimizde 2 adet disket sürücüsü olduğunu göstersin.Belirli bir anda bu kaynaklardan süreçlere tahsis edilmişveya kullanılabilir olabilir.A vektörü kullanılabilir olan kaynakları göstersin. Ai i. sınıf kaynaktan kullanılabilir kaç tane örnek olduğunu göstersin.Eğer A1=0 ise, disket sürücüsünden kullanılabilir yok demektir.Tüm disket sürücüleri şu anda kullanılıyordur.Algoritmada iki adet matris kullanılır.C = mevcut anda süreçlere tahsis edilmiş kaynaklar matrisidir.R = süreçlerin istedikleri kaynakları ve sayılarını gösteren matristir.C nin her satırı bir sürece karşılık gelir. Bu satırın sütunları, sürecin sahip olduğu kaynakları göstermektedir.Cij = j kaynağından i sürecinde kaç adet var.Rij = i sürecinin j kaynağından kaç adet istediğini gösterir.1Her sürece başlangıçta işaretlenmemiş denilir. Algoritma ilerledikçe süreçler işaretlenir.İşaretlenmiş süreç çalışmasını sonuna kadar tamamlayabilecek anlamına elmektedir.Algoritma bittiğinde eğer işaretmenmemiş süreç varsa, bu süreçler ölümcül kilitlenmiştir.1-İşaretli olmayan süreç ara. Bu sürecin R matrisindeki tüm istekleri A dan küçük veya eşit olmalıdır.

  • Bu şekilde bir süreç var ise C deki bu sürece karşılık gelen satırın değerlerini A ya ekle. Bu süreci işaretle ve 1. adıma
  • Böyle bir süreç yoksa algoritma sonlandırılır.

Algoritma bittiğinde işaretli olmayan süreçler ölümcül kilitlidir.12Bu örnekte 3 süreç ve 4 kaynak bulunmaktadır.

  1. sürecin: 1 tarayıcısı
  2. sürecin: 2 disket sürücüsü ve 1 cdromu vardır.
  3. sürecin: 1 yazıcısı ve 2 tarayısı

R matrisinden istekleri karşılanabilen bir süreç var mı yok mu incelenir.

  1. sürecin istekleri karşılanır. Bu süreç seçilir, işaretlenir ve sahip olduğu kaynaklar iade edilir.
A=(2 2 2 0) olur. Bu adımda 2. süreç çalıştırılır.
A=(4 2 2 1)

Kalan süreç de çalıştırılır. Sistemde ölümcül kilitlenme yoktur.Algoritma:1-İşaretli olmayan süreç ara. Bu sürecin R matrisindeki tüm istekleri A dan küçük veya eşit olmalıdır.

  • Bu şekilde bir süreç var ise C deki bu sürece karşılık gelen satırın değerlerini A ya ekle. Bu süreci işaretle ve 1. adıma
  • Böyle bir süreç yoksa algoritma sonlandırılır.

Algoritma bittiğinde işaretli olmayan süreçler ölümcül kilitlidir.

İçeriği Paylaş:
İlginizi Çekebilir
Yorum Yapılmamış

Henüz Hiç Yorum Yapılmadı..

Yorum Yaz

Ölümcül Kilitlenme (Deadlock) Tespiti

İşletim Sistemleri

3/09/2017 | Yorum Yok | 102 | Mustafa Küçükakarsu