Kesintiler ve İstisnalar Nedir?
Bilgisayar sistemlerinde beklenmedik olaylar veya durumlar, programın akışını değiştirebilir. Bu olaylar, kesintiler (interrupts) ve istisnalar (exceptions) olarak adlandırılır ve sistemin doğru çalışması için kritik öneme sahiptir.
Kesintiler, donanım veya yazılım tarafından üretilen ve işlemcinin mevcut görevini geçici olarak durdurup belirli bir olayı işlemesini gerektiren sinyallerdir. İstisnalar ise programın çalışması sırasında oluşan hatalar veya beklenmedik durumlardır.
Adım adım çözümlü örnekler
Bir klavyeden veri girişi olduğunda ne olur?
1. Klavye donanımı bir kesme isteği gönderir. 2. İşlemci, mevcut komutu bitirir. 3. İşlemci, kesme vektörünü kullanarak kesme hizmet rutinini (ISR) bulur. 4. ISR, klavyeden gelen veriyi okur ve işler. 5. İşlemci, kesme öncesi kaldığı yerden devam eder.
Bir programda sıfıra bölme hatası oluştuğunda ne olur?
1. Program, sıfıra bölme işlemi yapmaya çalışır. 2. CPU (Merkezi İşlem Birimi), bu durumu bir istisna olarak algılar. 3. İşlemci, mevcut görevi askıya alır. 4. İşlemci, istisna türüne karşılık gelen istisna işleyicisini (exception handler) çağırır. 5. İstisna işleyicisi, hatayı raporlar veya programı sonlandırır. 6. Eğer istisna işlenemezse, işletim sistemi müdahale eder.
Bilgi kartları
Mini test
S1.Aşağıdakilerden hangisi bir kesinti örneğidir?
S2.Bir programın çalışması sırasında oluşan bir hatadan kaynaklanan olaya ne ad verilir?
S3.İşlemci, bir kesinti aldığında ilk olarak ne yapar?
Sık yapılan hatalar
Kesintiler ve istisnalar aynı şeydir. — Doğrusu: Kesintiler genellikle donanım kaynaklı dış olaylardır, istisnalar ise programın kendi içindeki hatalardır.
İşlemci bir kesinti aldığında hemen o anki işini bırakır. — Doğrusu: İşlemci, genellikle mevcut komutunu tamamladıktan sonra kesintiyi işler, bu da sistemin kararlılığını sağlar.
Sıkça sorulan sorular
Kesintiler neden önemlidir?
Kesintiler, sistemin donanım olaylarına (örn. klavye girişi, disk okuma tamamlanması) hızlıca yanıt vermesini sağlar ve I/O işlemlerini verimli hale getirir.
İstisnalar sistem performansını nasıl etkiler?
İstisnalar, hatalı durumları tespit ederek programın çökmesini önler veya hata ayıklamayı kolaylaştırır. Ancak sık oluşan istisnalar performansı düşürebilir.
Yazılım kesintisi nedir?
Yazılım kesintisi, bir programın özel bir komut (örn. 'trap' veya 'interrupt') kullanarak işlemciye bir kesme isteği göndermesi durumudur. Genellikle sistem çağrıları (system calls) için kullanılır.