Deve kuşu algoritması

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ı 
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.

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.

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

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.

Kaynakça 

Algoritmalar