Deve kuşu algoritması

Vikipedi, özgür ansiklopedi

Deve kuşu algoritması, bilgisayar bilimlerinde ortaya çıkması muhtemel problemlerin, nadiren gerçekleştikleri takdirde görmezden gelinmesi stratejisidir. Adını deve kuşlarının kafalarını toprağa gömüp hiçbir sorun yokmuş gibi davranmasından almıştır. Sorunun ortaya çıkmasına izin vermenin, önlemeye çalışmaktan daha düşük maliyetli olduğu durumlarda kullanılır.

Deadlock'larda kullanımı[değiştir | kaynağı değiştir]

Deadlock (kilitlenme) durumu, diğer grubun işlemini bitirmesini bekleyen birbirinden farklı iki gruptaki işlemin var olması ile meydana gelir. İki taraftaki grup da karşıdaki grubun işlemini bitirmesini beklediği için işlem yapamaz; bu durum da kilitlenmeye sebep olur.[1]

Deve kuşu yaklaşımı, problem çıkma olasılığının çok nadir, tespit ve önleme maliyetlerinin ise daha yüksek olduğu, eşzamanlı programlamadaki deadlock'lar ile başa çıkmak için kullanılabilir. Örneğin, bir bilgisayar 10 yılda bir kilitleniyorsa, bilgisayarı yeniden başlatmak bu problemi çözmek için gereken kısıtlamalardan daha kolay olabilir.[2]

UNIX ve Windows gibi işletim sistemleri de tasarımlarında zaman zaman bu yaklaşımı kullanmaktadır.[3][4]

Deve kuşu algoritması bir deadlock ile uğraşırken kullanılabilecek bir çözüm yolu olsa da, deadlock'lara karşı başka yöntemler de bulunmaktadır. Bu yöntemlere örnek olarak Banker algoritması, detection ve recovery, dynamic avoidance, prevention gibi kavramlar gösterilebilir.[5]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "OS 202 Class Notes". cs.nyu.edu. 28 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Eylül 2022. 
  2. ^ "The University of New South Wales" (PDF). cs.nyu.edu. 29 Kasım 2014 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 28 Eylül 2022. 
  3. ^ English, John (16 Eylül 2017). Introduction to Operating Systems: Behind the Desktop (İngilizce). Bloomsbury Publishing. ISBN 978-0-230-37408-9. 28 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Eylül 2022. 
  4. ^ Kaur, Gurusharan; Kaur, Lakhbir; Kaur, Rajinder. Elements and Digitization of Computer (İngilizce). Educreation Publishing. 28 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Eylül 2022. 
  5. ^ "Middle East Technical University. Deadlocks". Metu. 12 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Eylül 2022.