Sizin üzerinde çalıştığınız projede nedeniyle kilitlenen bir yapı var mı, yoksa genel bir bilgi edinme süreci mi içindesiniz?

Teknoloji dünyasında, özellikle yazılım geliştirme ve sistem yönetimi süreçlerinde karşımıza çıkan en can sıkıcı sorunlardan biri , yani Türkçe karşılığıyla ölümcül düğüm veya çıkmaz döngü dür. Peki, sistemlerin kilitlenmesine ve işlemlerin durma noktasına gelmesine neden olan deadlock nedir?

Deadlock kavramını anlamak için trafiği düşünün. Dört yol ağzında, dört arabanın da kavşağın ortasına kadar ilerlediğini ve her birinin önündeki arabanın geçmesini beklediğini hayal edin. Kimse geri gidemez (kesilemezlik) ve kimse yol vermezse, trafik sonsuza kadar kilitlenir. İşte bu tam bir deadlock durumudur. Deadlock Nasıl Engellenir?

Sistemin deadlock'a girmesine izin verilir, ancak periyodik olarak kontrol edilir. Bir kilitlenme saptandığında işlemlerden biri sonlandırılarak döngü kırılır.

Bir sistemde deadlock oluşabilmesi için bilgisayar bilimci Edward G. Coffman tarafından tanımlanan dört şartın aynı anda gerçekleşmesi gerekir:

En basit tanımıyla deadlock; iki veya daha fazla işlemin (process), birbirlerinin elinde tuttuğu kaynaklara (resource) ihtiyaç duyması ve bu kaynaklar serbest bırakılmadığı için tüm işlemlerin sonsuza kadar bekleme durumuna girmesidir. Deadlock Nasıl Oluşur? (Gerekli 4 Koşul)

Sistem mimarları, deadlock sorununu çözmek için üç temel strateji izler: