OS'de Çıkmaz ve Açlık Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 3 Nisan 2021
Güncelleme Tarihi: 23 Nisan 2024
Anonim
OS'de Çıkmaz ve Açlık Arasındaki Fark - Teknoloji
OS'de Çıkmaz ve Açlık Arasındaki Fark - Teknoloji

İçerik


Hem Kilitlenme hem de Açlık, bir kaynak için talep edilen işlemlerin uzun süre ertelendiği koşullardır. Her ne kadar çıkmaz ve açlık her ikisi de birbirinden farklı olsa da. çıkmaz hiçbir sürecin yürütme sürecine girmediği ve her biri diğer süreçler tarafından edinilen kaynakları beklediği bir durumdur. Öte yandan, içinde AçlıkYüksek öncelikli süreç, kaynakları elde etmek için düşük öncelikli süreci önleyen kaynakları sürekli kullanır. Aşağıda gösterilen karşılaştırma tablosu ile kilitlenme ve açlık arasındaki bazı farklılıkları tartışalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma TemelleriçıkmazAçlık
TemelKilitlenme, hiçbir işlemin olmadığı ve engellendiği yer.Açlık, düşük öncelikli işlemlerin engellendiği ve yüksek öncelikli işlemin devam ettiği yerdir.
Ortaya çıkan durumuKarşılıklı dışlanma, Beklet ve bekle, Önlem yok ve Dairesel olarak aynı anda bekleyin.Önceliklerin uygulanması, kontrolsüz kaynak yönetimi.
Diğer adıDairesel bekleLifelock.
kaynaklarKilitlenmede, istenen kaynaklar diğer işlemler tarafından engellenir.Açlıkta, talep edilen kaynaklar sürekli olarak yüksek öncelikli süreçler tarafından kullanılmaktadır.
önlemeKarşılıklı dışlanmayı, bekletmeyi ve bekletmeyi ve döngüsel beklemeyi önleme ve önceden izin verme. Yaşlanma.


Deadlock'un tanımı

Kilitlenme, CPU’daki birçok işlemin CPU’da bulunan sınırlı sayıda kaynak için rekabet ettiği bir durumdur. Burada, her işlem bir kaynak tutar ve başka bir işlem tarafından tutulan bir kaynak elde etmek için bekler. Tüm süreçler kaynakları döngüsel bir biçimde bekler. Aşağıdaki resimde, Proses P1'in P2 prosesi tarafından istenen R2 kaynağını elde ettiğini ve Proses P1'in yine R2 tarafından tutulan R1 kaynağı için talep ettiğini görebilirsiniz. Böylece P1 ve P2 işlemleri kilitlenme oluşturur.

Kilitlenme, çok işlemli işletim sistemlerinde, dağıtılmış sistemlerde ve ayrıca paralel bilgi işlem sistemlerinde yaygın bir sorundur. Karşılıklı dışlanma, Beklet ve bekle, Önlem yok ve Dairesel bekletme olan kilitlenmenin durumunu artırmak için aynı anda yapılması gereken dört koşul vardır.


  • Karşılıklı dışlama: Bir seferde yalnızca bir işlem bir kaynağı kullanabilir, eğer diğer işlem aynı kaynağı isterse, kaynak kullanan işlemi serbest bırakana kadar beklemek zorunda kalır.
  • Tut ve Bekle: Bir işlem bir kaynak bulunduruyor olmalı ve başka bir işlem tarafından tutulan başka bir kaynak elde etmeyi bekliyor olmalıdır.
  • Önlem Yok: Kaynakları tutan süreç önlenemez. Kaynağı tutan işlem görevini tamamladığında kaynağı gönüllü olarak serbest bırakmalıdır.
  • Dairesel bekleyiş: Süreç kaynakları dairesel bir şekilde beklemelidir. Diyelim ki üç işlemimiz var {P0, P1, P2}. P0, P1 tarafından tutulan kaynağı beklemelidir; P1, P2 işlemi tarafından tutulan kaynağı almayı beklemeli ve P2, P0 tarafından tutulan işlemi almayı beklemelidir.

Kilitlenebilecek programları tespit edebilen bazı uygulamalar olmasına rağmen. Ancak işletim sistemi kilitlenmeleri önlemekten asla sorumlu değildir. Kilitlenme ücretsiz programlar tasarlamak programcıların sorumluluğundadır. Kilitlenme oluşumu için gerekli olan yukarıdaki şartlardan kaçınılarak yapılabilir.

Açlık Tanımı

Açlık, bir kaynak için bir işlem isteğinin ve bu kaynağın diğer işlemler tarafından sürekli olarak kullanıldığı, sonra talep eden işlem açlıkla karşı karşıya olduğu zaman olarak tanımlanabilir. Açlıkta, yürütmeye hazır bir işlem CPU'nun kaynağı tahsis etmesini bekler. Ancak, diğer süreçler istenen kaynakları sürekli olarak engellediğinden, süreç süresiz olarak beklemek zorundadır.

Açlık sorunu genellikle öncelikli zamanlama algoritması. Öncelikli programlama algoritmasında, daha yüksek önceliğe sahip olan sürece her zaman kaynak tahsis edilir, bu da düşük öncelikli sürecin istenen kaynağa ulaşmasını önler.

yaşlanma açlık problemini çözebilir. Yaşlanma, kaynakları uzun süredir beklemekte olan sürecin önceliğini kademeli olarak artırmaktadır. Yaşlanma, önceliği düşük bir işlemin bir kaynak için süresiz olarak beklemesini önler.

  1. Bir kilitlenmede, işlemlerin hiçbiri yürütme için ilerlemiyor, her işlem başka bir işlem tarafından elde edilen kaynakları beklerken engelleniyor. Öte yandan, açlık, daha yüksek önceliğe sahip işlemlerin, düşük öncelikli işlemlerin belirsiz bir şekilde bloke edilmesine neden olan kaynakları elde etmesini önleyerek, kaynakları sürekli olarak elde etmelerine izin verilen bir durumdur.
  2. Kilitlenme dört durumda ortaya çıkar Karşılıklı dışlama, Beklet ve bekle, Önlem yok, Dairesel bekle aynı anda gerçekleşir. Ancak, açlık süreci ortaya çıkar öncelikler uygulandı kaynakları tahsis ederken, ya da sistemde kontrolsüz kaynak yönetimi var.
  3. Kilitlenme sık sık adıyla adlandırılır. dairesel bekleme oysa açlık denir Yaşadı kilit.
  4. Kilitlenme'de kaynaklar süreç tarafından engellenirken, açlıkta süreçler yüksek öncelikli süreçler tarafından sürekli kullanılmaktadır.
  5. Karşılıklı dışlanma, Beklet ve bekle ve dairesel bekletme gibi koşullardan kaçınılması ve uzun süre kaynakları tutan işlemlerin önlenmesine izin verilerek kilitlenme önlenebilir. Öte yandan, açlıktan önlenebilir yaşlanma.

Sonuç:

Hem Kilitlenme hem de Açlık, işlem yürütmesini engelleyerek geciktirir. Bir yandan kilitlenmenin işlemlerin aç kalmasına neden olabileceği ve diğer taraftan açlığın işlemlerin kilitlenmeden çıkabileceği bir yerde.