Sonsuz Döngü nedir?
Sonsuz bir döngü, bir bilgisayar programının bitmeden bir
komutu yürütmeye devam etmesine neden olan bir durumdur . Bu, genellikle üç
nedenden birinden kaynaklanır: programın uç koşulu yoktur, programın uç koşulu
ulaşılamaz veya bir tekrar komutu, bir programın sürekli olarak yeniden
başlatılmasına neden olur. Çoğu zaman, sonsuz bir döngü kefilsiz kredi veren bankalar bilgisayarın
yavaşlamasına veya hatta kilitlenmesine neden olur. İlk bilgisayarlarda, bu
döngüler genellikle yeniden başlatmayı gerektirir, ancak modern işletim
sistemleri genellikle onları yakalar ve programı ellerinden çıkmadan önce
sonlandırır.
Programlamada sonsuz döngüler var; teriminin diğer
kullanımları genellikle yanlıştır. Çoğu durumda, sonsuz döngüler, programın son
hedefi değildir ve kodda, koşulun oluşmasına neden olan bir yerde bir sorun
vardır. Sonsuz döngünün üç ana durumunun her biri tamamen programlama ve
yazılım tabanlıdır.
Bir programın son durumu olmadığında, son komutlarını sonuna
kadar yürütmeye devam eder. Birçok durumda, bu program, asla gelmeyecek olan
son talimatlar için beklerken programın kilitlenmesine neden olur. Diğer
zamanlarda, programa verilen son komut, bir komutun yürütülmesi veya bir
komutun işlenmesiydi. Bu durumlarda, bu şeyleri bitmeden yapmaya devam
edecektir. Bu, bilgisayarın sonsuz döngüden tekrarlanan komutlarla, tüm sistem
hiç bitmeyen bir sorun üzerinde çalışana kadar yavaş yavaş dolmasına neden
olur.
Bir programın bitiş koşulu erişilemediğinde benzer bir durum
söz konusudur. Bu durumda, program bitebilir, ama asla olmayacaktır. Bitiş
noktasıyla ilgili sorun programlamada olabilir veya duruma neden olan bir
bilgisayar hatası olabilir. Örneğin, bir program belirli bir konumdan belirli
bir bilgi parçasını isterse, bir programlama hatası anında kredi veren bankalarbilginin farklı bir noktada depolanmasıdır. Öte yandan, eğer
bilgi programa gidiyorsa, fakat kullanıcı veya başka bir programın müdahalesi
nedeniyle kesintiye uğruyorsa, hiç gelmeyebilir.
Sonsuz bir döngünün son nedeni tamamen programlama
temellidir. Programlama içerisindeki bir yer, programı bir şeyi tekrar etmeyi
söyleyen bir komuttur. Bu komutlar ortak olsa da, koşullar hiçbir zaman
tekrarlanan komutun ilk tekrarlamaya geri dönmesine izin vermemelidir. Bu
olursa, program bir komut yürütür, tekrarlama ifadesine basar, ardından komutu
tekrar çalıştırır, sonra tekrar eder, vb. Bu döngüler, genellikle kötü amaçlı
yazılımın bir parçası olarak kasıtlı olarak programlanmaları en olası
olanlardır.
Yorumlar
Yorum Gönder