Interrupt Service Routine
Donanım veya yazılım kesmesine karşı çalışan, gecikme ve bloklama açısından normal thread kodundan daha sıkı sınırlara sahip özel yürütme yolu.
ISR'nin Rolü
Kesme servis rutini (ISR), bir interrupt oluştuğunda olayın gecikmeye en duyarlı kısmını işler. Donanım durumunu okumak, gerekli bayrağı temizlemek veya daha sonra işlenecek veriyi güvenli bir tampon/kuyruğa aktarmak tipik görevlerdir.
Neden Kısa Tutulur?
ISR içinde uzun hesaplama, blocking I/O, bekleyen kilit veya gereksiz dinamik allocation kullanmak kesme gecikmesini büyütebilir. Platforma göre handler çalışırken aynı veya daha düşük öncelikli kesmeler maskelenebilir.
Bu nedenle ağır iş çoğu tasarımda deferred work, task veya normal thread bağlamına taşınır. ISR yalnız zaman açısından zorunlu kısmı tamamlar.
Concurrency Sınırı
ISR ile normal thread aynı veriye erişiyorsa volatile tek başına genel bir senkronizasyon çözümü değildir. Atomicity, memory ordering ve interrupt masking kuralları hedef mimariye göre ele alınmalıdır.