Kesme kotarıcı
Kesme kotarıcı ya da kesme hizmet yordamı, yürütümü alınan kesme tarafından tetiklenen, işletim sistemi veya aygıt sürücüsünün bir geri çağırma alt programıdır. Kesme kotarıcıları, temelde kesmenin üretilmiş olması ve kesme kotarıcının görevini tamamlama hızına dair çok sayıda fonksiyona sahiptir.
Kesme kotarıcı, olay kotarıcının alt düzey kopyasıdır. Bu kotarıcılar, donanım kesmeleri veya yazılımdaki kesme komutlarınca başlatılırlar ve donanım aygıtlarına hizmet ve sistem çağrıları gibi işletimin güvenli modları arasındaki geçişi sağlamak için kullanılırlar.
Genel bakış
Modern sistemlerde kesme kotarıcıları ikiye ayrılırlar:
- Birinci Düzey Kesme Kotarıcıları (BDKK)
- İkinci Düzey Kesme Kotarıcıları (İDKK)
BDKK'lar sert kesme kotarıcıları, hızlı kesme kotarıcıları ve kesmenin üst yarımı; İDKK’lar kesme iş parçacıkları, yavaş kesme kotarıcıları ve kesmenin alt yarımı olarak da bilinirler.
Bir BDKK, belirli kesme işlemini kesme yordamına benzer şekilde minimum ortamda gerçekleştirir. Kesmeye karşılık olarak bir bağlam anahtarı vardır ve kesme için olan kod yüklenip yürütülür. Bir BDKK’nın görevi hızlıca kesmeye hizmet etmek veya sadece kesme zamanında uygun olan kritik bilgiyi ortama kaydetmek ve İDKK’nın daha fazla uzun ömürlü kesme kotarma yürütümünü programlamaktır.
BDKK’lar, yürütümündeki seğirmeyi ve gizlenmiş kesmelerden bilgi kaybı potansiyelini azaltan kısa bir yürütüm zamanına sahiptir. Gerçek zamanlı işletim sistemleri için anlaşılmış zaman miktarı içinde yürütümü tamamlanacak olan özgül kodun garanti kapsamında iyi halde tutulması zorunda olduğundan seğirmeyi azaltmak en önemlisidir. Modern bilgisayarların hızıyla BDKK’lar bütün aygıta ve ortama bağlı işlemleri gerçekleştirebilirler ve daha fazla ortamdan bağımsız uzun ömürlü işleme için İDKK kullanırlar.
Tipik olarak donanıma hizmet eden BDKK'lar yürütümleri tamamlanıncaya kadar ilişkilendirilmiş kesmelerini saklarlar. Aksi takdirde bu kesme kotarıcıları, aynı kesme vektörü tarafından çeşitli önceliklerden dolayı bir yığın taşmasına neden olabilir. Öncelikli kesme sisteminde BDKK, eşit veya daha az önceliğe sahip diğer kesmeleri gizler.
Bir İDKK, uzun kesme işleme görevlerini işlemeye benzer şekilde tamamlar. İDKK'lar bir kotarıcı için adanmış çekirdek izleğine sahiptirler ya da bir çekirdek işçi izlekleri havuzu tarafından yürütülmüşlerdir. İDKK'lar uzun ömürlü yürütüm zamanına sahip olabilirler ve böylece izleklere ve işlemlere benzer şekilde türüne özgü planlanmış olurlar.
Çoğu sistemlerde BDKK ve İDKK'dan üst yarım ve alt yarım, donanım ve yazılım kesmeleri veya bu adların türetilmiş hallerinden söz edilmesinde sakınca yoktur.