Sonsuz Döngü (Bilgisayar)

Kısaca: Sonsuz döngü çeşitli sebeplerle sonsuza kadar döngüye giren ve sonlanamayan bilgisayar programı komutu parçalarına verilen ad. Bu sebepler döngünün; bir sonlandırıcı koşulun bulunmaması, bulunsa da hiç bir zaman sağlanamayacak olması ya da bu koşulun döngünün her seferinde yeniden başlamasına neden olması olabilir. Zaman paylaşımlı eski işletim sistemlerinde sonsuz döngüler tüm sistemin kilitlenmesine sebep oluyordu. Günümüzdeki yaygın olan ve öncelikli çoklugörev modelini kullanan sistemlerde i ...devamı ☟

Sonsuz döngü çeşitli sebeplerle sonsuza kadar döngüye giren ve sonlanamayan bilgisayar programı komutu parçalarına verilen ad. Bu sebepler döngünün; bir sonlandırıcı koşulun bulunmaması, bulunsa da hiç bir zaman sağlanamayacak olması ya da bu koşulun döngünün her seferinde yeniden başlamasına neden olması olabilir. Zaman paylaşımlı eski işletim sistemlerinde sonsuz döngüler tüm sistemin kilitlenmesine sebep oluyordu. Günümüzdeki yaygın olan ve öncelikli çoklugörev modelini kullanan sistemlerde ise bu döngüler tüm işlemci zamanını harcasa da kullanıcı tarafından sonlandırılabilir. Meşgul bekleme döngüleri de zaman zaman "sonsuz döngü" olarak adlandırılabilir. Bir bilgisayarın "donma"sının muhtemel sebepleri bir sonsuz döngü, deadlock ya da izinsiz bellek erişimi olabilir. Bilinçli ve bilinçsiz sonsuz döngüler Bir döngü, belirli bir koşul sağlanana kadar tekrar eden komutlardan oluşur. Sonsuz döngü ise bir sebepten bu koşulun hiç bir zaman sağlanamaması sonucunda ortaya çıkar.

Bilinçli sonsuz döngü

Bilinçli olarak sonsuz döngü yaratılan birkaç durum vardır. Örneğin, kaset ya da kartuşla çalışan eski oyun konsollarında programın çıkış yapacağı bir işletim sistemi olmadığından konsol kapatılana kadar program sonsuz döngüde kalırdı. Modern bilgisayarlarda da bilgisayar devamlı olarak bir kullanıcı girdisi beklediği için bilgisayar kapatılana ya da yeniden başlatılana kadar devam eden "sistem boşta işlemi" bulunur.

Bilinçsiz sonsuz döngü

Çoğunlukla sonsuz döngü kavramı bilinçli olarak ortaya çıkmaz ve bir bug sonucu oluşur. Çoğu sonsuz döngü debug yöntemleriyle ortaya çıkarılabilir, fakat bunun için genel bir yöntem mevcut değildir. Bir programın sonlanıp sonlanmayacağı sorusu sonlandırma sorununun kararsızlığıır. C dilinde yazılmış basit bir örnek: #include main() } Bu döngü sonlanmadan devamlı ekrana "Sonsuz döngü" yazar. Ayrıca bakınız * Döngü tespiti * Deadlock * Özyineleme Циклдену

Kaynaklar

Vikipedi

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.