1 / 17

Deadlock (Ölümcül Kilitlenme)

Deadlock (Ölümcül Kilitlenme). Kilitlenme Türleri. Karşılıklı dışlama: Aynı anda kaynak kullanımı Sahiplenme ve bekleme: Elindeki kaynağı bırakmadan başka prosesi bekleme Geri alınamaz kaynak: Prosesin kaynağı işletim sistemine geri vermemesi Çevrel bekleme:

ianthe
Download Presentation

Deadlock (Ölümcül Kilitlenme)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deadlock(Ölümcül Kilitlenme)

  2. Kilitlenme Türleri • Karşılıklı dışlama: Aynı anda kaynak kullanımı • Sahiplenme ve bekleme: Elindeki kaynağı bırakmadan başka prosesi bekleme • Geri alınamaz kaynak: Prosesin kaynağı işletim sistemine geri vermemesi • Çevrel bekleme: • Bir prosesin kendinden sonraki prosesin elinde olan kaynağa ihtiyaç duyması • İki prosesin karşılıklı olarak ellerindeki kaynaklara ihtiyaç duyması

  3. Kilitlenme (Deadlock) • A set of two or more processes are deadlocked if they are blocked (i.e., in the waiting state) each holding a resource and waiting to acquire a resource held by another process in the set. • İki veya daha fazla işlem bloklanmışlarsa yani, her işlem bir kaynağı kullanıyor (allocate) iken diğerinin kullandığı kaynağı istiyor (request) olursa ölümcül kilitlenme meydana gelir.

  4. Kilitlenme (Deadlock) • Örneğin bir işlem bir kaynağı (örneğin A dosyasını) kullanırken diğer bir kaynağı (örneğin B dosyasını) kullanmak istemektedir. • Ancak aynı zamanda başka bir işlem B dosyasını kullanırken A dosyasını kullanmak istemektedir. • Bu durumda her iki işlem de istedikleri dosyaları alamayacakları için bu işlemler bloklanacaklardır.

  5. Kilitlenme örneği : Resource-Allocation Graph R1 allocate request P1 P2 R2 request allocate P1 işlemi R1 kaynağını kullanıyor (allocate etmiş) iken R2 kaynağını istiyor. P2 işlemi R2 kaynağını kullanıyor iken R1 kaynağını istiyor.

  6. Kilitlenme algılama • Eğer graph ta dairesel bir ilişki yoksa deadlock da yoktur. • Eğer graphta döngü varsa: • Eğer her kaynağın (resource) bir örneği (instance) varsa deadlock. • Birden fazla örneği varsa deadlock olma ihtimali vardır.

  7. Kilitlenme algılama algoritması

  8. Available= [0 0 0] Allocation= Request= Finish= 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 False False False False

  9. 1 0 0 0 0 1 0 1 0 0 1 0 Allocation= Başlarken Work= Available = [0 0 0] Hangi Request elemanı work ten yani [0 0 0] den küçük eşittir? 4.Eleman i=4 o zaman work=work+allocation(4) = [0 1 0] ve finish(4)=True; Geriye kalan hangi request elemanı [0 1 0] dan küçük eşittir? 2.Elaman i=2 o zaman work+=allocation(2) = [0 1 0]+[0 0 1]=[0 1 1] ; finish(2)=true; Geriye kalan hangi request elemanı [0 1 1] dan küçük eşittir? 1.Eleman i=1 o zaman work+=allocation(1) =[0 1 1]+[1 0 0]=[1 1 1]; finish(1)=True; Geriye kalan hangi request elemanı [1 1 1] dan küçük eşittir? 3.Eleman i=3 o zaman work+=allocation(3) =[1 1 1]+[0 1 0]=[1 2 1]; finish(3)=True; Finish in tüm elemanları true olduğundan sistemde deadlock yoktur. 0 1 1 0 1 0 1 0 0 0 0 0 Request=

  10. Çakışma Durumunda: • Öncelik verilebilir • İşlem sonlandırılabilir • İşlem geri alınabilir

  11. Bazı Kavramlar • Petrinet: Proses modelleme dili • Semafor: Prosesler arasında işaretleşme için kullanılan değişken. (Bayrak ile işaret verme) • Boru (Pipe): Temel olarak processlerarası iletişim için kullanılır • Boru Hattı (Pipeline): Her bir elemanın çıktısı bir sonraki elemanın girdisi olacak şekilde sıralanmış işlemler zinciridir. • Soket: Aynı veya farklı bilgisayarlar üzerinde çalışan prosesler arasında bilgi alışverişi yapmayı sağlar

More Related