noimage

İçeriği Paylaş:

Ölümcül Kilitlenmeye (Deadlock) Neden Olan Durumlar

Ölümcül Kilitlenmeye (Deadlock) Neden Olan Durumlar

  • Karşılıklı Dışlama(Mutual Exclusion)

Her kaynağı aynı anda bir süreç ya kullanıyordur ya da atanmıştır.

  • Sahiplenme ve Bekleme Koşulu

Elindeki kaynağı bırakmadan başka kaynak ister ve bu kaynağı elde edemediğinde beklemeye geçen süreçler.

  • Geri Alınamaz Koşulu

Bir sürece daha önceden verilen kaynaklar zorla elinden alınamaz.*Çevrimsel Bekleme Koşuluİki veya daha fazla süreç zincir şeklinde kendinden önceki sürece ait olan kaynağı bekler. Ölümcül Kitlenmenin ModellenmesiSüreçleri daireler şeklinde, kaynakları kareler şeklinde gösterelim.Bir süreçten kaynağa doğru giden ok, sürecin kaynak için bloklandığını gösterir.Kaynaktan sürece doğru gösterilen ok, sürecin kaynağa sahip olduğunu gösterir.1Süreçlerin Çalışması————

  1. A, R yi ister
  2. B, S i ister
  3. C, T yi ister
  4. A, S i ister
  5. B, T yi ister
  6. C, R yi ister

(ölümcül kilitlenme)1 2Devekuşu Algoritması (Ostrich Algorithm)Başınızı kuma gömerek, bir şey yokmuş gibi davranmak.Matematikçiler tamamen kabul edilmez bulurlar ve ölümcül kilitlenmelerin ne pahasına olursa olsun önlenmesini söylerler.Mühendisler ise problemin ne kadar sıklıkla olması beklendiğini ve sitemin diğer nedenlerden ne kadar sıklıkla bozulduğunu sorgularlar.Eğer ölümcül kilitlenmeler yılda birkez oluyorsa fakat sistemdeki donanım bozulmaları, derleyici hataları ve işletim sistemi hataları haftada birkez bozuluyorsa, birçok mühendis ölümcül kilitlenmelerin çözülmesininin getireceği performans kaybına, performansın iyi olmasını tercih eder.Birçok işletim sistemi yok sayar.Ölümcül Kilitlenme Tespiti ve Onarma1.Her tip kaynaktan sistemde bir adet olduğu durumda ölümcül kilitlenme tespitiSistemde bir yazıcı, bir cd yazıcı, bir disket sürücü… olsun. Sistem için kaynak çizgesi(graph) oluşturulur.Bu çizge bir veya daha fazla döngü(cycle) içeriyorsa, bir ölümcül kilitlenme vardır.Döngünün parçası olan süreçler ölümcül kilitlenmiştir.Örneğin; 7 süreç ve 6 adet kaynak olsun. A,B,C,D,E,F,G süreçler; R,S,T,U,V,W kaynakları göstersin. Mevcut sistemdeki sahip olunan kaynak durumu ve istenilen kaynak durumu şu şekilde olsun:

  1. A süreci R yi tutar ve S i
  2. B süreci T yi ister.
  3. C süreci S i ister.
  4. D süreci U yu tutar ve S ile T yi
  5. E süreci T yi tutar ve V yi
  6. F süreci W yi tutar ve S i
  7. G süreci V yi tutar ve U yu

SORU:Sistem ölümcül kilitli midir ? Öyleyse hangi süreçler ?image034Yönlü çizge(graph) lerde döngü(cycle) leri tespit eden bir çok algoritma bulunmaktadır.Algoritma bir döngü bulunca çıkar. L düğümlerin listesidir.

  1. Çizgedeki her N düğümü için, N’i başlangıç düğümü alarak 2-6 adımlarını
  1. L yi boş liste olarak başlat. Tüm kenarları işaretlenmemiş
  1. Şu anki düğümü L ye ekle. L de iki kez olup olmadığını kontrol et. İkinci kez bulunursa çizgede döngü vardır ve algoritma sonlanır.
  1. Verilen düğümden başka düğümlere işaretlenmemiş giden kenar var mı? Varsa 5. adıma yoksa 6. adıma
  1. İşaretli olmayan bir kenar seç ve işaretle. Bu kenarı izleyerek yeni düğüme git. Adım 3 e
  1. Bir ölü noktaya ulaştık. Bu düğümü çıkar ve bir önceki düğüme git. Önceki düğümü aktif düğüm yap ve adım 3 e git. Eğer bu düğüm başlangıç düğümü ise döngü yoktur.1
    1. a) L=[ ] b)   L=[R]    c)L=[R,A]     d)L=[R,A,S] burası daha fazla ilerlemez. R için biter.

    Algoritmayı A için  tekrar başlatırız. …Algoritmayı B için başlatırız. B ‘den D ye kadar gelince L=[B,T,E,V,G,U,D] olur. Bu noktada eğer S i seçersek ölü nokta olur ve D ye geri geliriz. T yi seçelim.L=[B,T,E,V,G,U,D,T] olur. Bu noktada döngü tespit edilir ve algoritma durur.

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

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

Yorum Yaz

Ölümcül Kilitlenmeye (Deadlock) Neden Olan Durumlar

İşletim Sistemleri

4/09/2017 | Yorum Yok | 79 | Mustafa Küçükakarsu