Kesme (bilgisayar)

İş kesme isteği

İş kesme isteği, iş kesme işleminin belirtilme şeklidir. İş kesme gerçekleşeceği zaman veri yoluna iş kesme işareti ile veya Programlanabilir İş kesme Denetleyicisinde bulunan iş kesme girdi hattına gönderilen iş kesme işareti ile iş kesme isteği belirtilir. 
İş kesme hatları bazen iş kesme isteğinin formatına göre sayılarla indekslenebilir. Örneğin Intel 8259 ailesindeki programlanabilir iş kesme denetleyicilerde sekiz tane iş kesme hattı IRQ0 ‘dan IRQ7’ye kadar bu şekilde indekslenmiştir.

İş kesme kotarıcı

İş kesme kotarıcı, iş kesme servis yordamı, işletim sistemindeki geri arama alt yordamı veya işletimi İş kesmenin kabulü ile tetiklenmiş aygıt sürücüsüdür.
İş kesme kotartıcılarının çok sayıda fonksiyonu vardır. Bu fonksiyonlar iş kesmenin ortaya çıkma sebebine göre değişirler. İş kesme geldikten sonra uygun fonksiyona sahip iş kesme kotarıcı seçilir ve kotarıcı görevini yerine getirir.
İş kesme kotarıcı , olay kotarıcılarının düşük seviyeli bir meslektaşıdır. Olay kotarıcılar ya donanımsal iş kesme ya da iş kesme komutları tarafından yazılımsal olarak başlatılır.

İş kesme gecikme süresi

İş kesme gecikme süresi aygıt tarafından iş kesme oluşturulmasıyla aygıta hizmetin verilmesi arasında geçen süredir. Birçok işletim sistemi için aygıta hizmetin verilmesi iş kesme kotartıcının işletilince gerçekleşir. İş kesme gecikme süresi iş kesme denetleyici, iş kesme maskeleme ve işletim sisteminin kotartma metotlarından etkilenebilir.

Programlanabilir İş Kesme Denetleyicisi

Programlanabilir İş Kesme Denetleyicisi meydana gelen iş kesmelerin hangi öncelik sırasına göre işleneceğine karar veren bir aygıttır. Eğer aygıt birden fazla iş kesme bildirimine sahipse bu bildirimlerin işletimlerini ilgili önceliklerine göre sıralar. Programlanabilir İş Kesme denetleyiciler sert öncelikler, döner öncelikler ve art arda öncelikler isimli öncelik çeşitlerini içermektedir.

İş kesme hücumu

İşletim sistemlerinde işlemcinin gereğinden fazla iş kesme kabul etmesiyle işlemci zamanının çoğunun iş kesme işletimiyle harcanmasıdır. İş kesme hücumuna tipik olarak donanımsal aygıtlar neden olur. Bu aygıtlar iş kesme oran limitini desteklemezler.

Seviye tetikleme

Seviye tetiklemeli iş kesmelerde hazırda oluşmuş ancak servisi henüz yapılmamış olan kesilmelerin iş kesme isteği hattında yüksek seviyede (1)’de ya da düşük seviyede (0)’da gösterilmesidir. İş kesme olayı hatta sürüldüğünde hat aktif duruma geçer. İş kesmenin servisi sağlanana kadar da hat aktif durumda kalır.
İşlemci tipik olarak kesilme girdisini ,önceden belirlenmiş zamanda diğer veri yolu çevrimleri , Z80 gibi mikroişlemcilerde , T2 durumunda olduğu sırada örnekler. Eğer kesme işlemci örnekleme yaparken kesme işlemi aktif durumda değil ise CPU iş kesmeyi görmez. İş kesmenin bu tip kullanımı gürültü kesme hattının neden olduğu sahte sinyalleri minimize eder, sahte sinyal çok kısa olur ve fark edilmez.
Eğer seviye tetiklenmiş iş kesme hatları gereğince tasarlanmış ise hat çoklu aygıtlar tarafından paylaşılabilir. İş kesme hattı yukarı çekme ve aşağı çekme direncine sahip olmalıdır. Böylece hat inaktif olduğunda bu durumun korunmasını sağlar. 
Bu tür iş kesmeler bazı elverişli davranışlarından dolayı tercih sebebidir. İş kesme hattı üzerinde bildirim araması yapılırken CPU sırayla bütün aygıtları servis gereksinimi olup olmadığı konusunda denetler. Servis gereksinimi olan aygıt tespit edilip servisi gönderildikten sonra CPU iş kesme hattının durumunu kontrol etmelidir ve aygıtların yeni bir servis ihtiyacı olup olmadığını tespit etmelidir. Eğer hatta belirtme işlemi bitmişse CPU hattaki kalıcı aygıtların denetlenmesini önler. Bazı aygıtlar diğer aygıtlardan fazla kesilme yapıyorsa bu aygıtlar iş kesme durumlarının kontrolü için özellikle masraflı olmaktadırlar. Aygıtların dikkatlice sıralanması beraberinde etkin bir kazanç getirecektir.
Paylaşılan seviye tetiklemeli iş kesmelerin çeşitli problemleri bulunmaktadır. Örneğin hatta göze çarpan bir servis istemi olduğunda hat kalıcı olarak bildirimde kalır. Bu nedenle de diğer aygıtların durumlarındaki değişikliği tespit edebilmek mümkün olmaz. Düşük öncelikli aygıtı ertelemek seçenek değildir çünkü bu yüksek öncelikli aygıtların servis isteminin tespit edilmesini önler. Eğer hattaki bir aygıtın servisinin nasıl yapılacağı CPU tarafından bilinmiyorsa diğer aygıtlar tarafından oluşturulan iş kesmeler sürekli olarak bloklanır.

Kenar tetikleme

Kenar tetiklemeli iş kesmeler iş kesme hattındaki seviye geçişi ile belirtilirler. Ya düşen kenarda (1’den 0’a) ya da (genellikle) yükselen kenarda (0’dan 1’e) belirtilirler. Aygıt hattın üzerine darbe sürerek kesilmeyi belirtmek ister. Daha sonra hat kendi kararlı haline döner. Eğer darbe oylanmış I/O tarafından fark edilmeyecek kadar kısa ise kenarı bulmak için özel bir donanım gerekebilir.
Çoklu aygıtlar gerektiği gibi tasarlanmışsa kenar tetiklemeli iş kesme hattını paylaşabilirler.
İş kesme hattı yukarı çekme ve aşağı çekme direncine sahip olmalıdır. Bu sayede aktif sürüm olmadığında direnç iş kesme hattını bir özel durumda tutar. Aygıtlar iş kesilmelerini belirtmeden önce hattı hazır hale getirirler. Daha sonra hat aygıtlar tarafından oluşturulan darbeleri alır . Ancak farklı aygıtlardan gelen iş kesme darbeleri yakın zamanlarda meydana gelirlerse karışabilir. Bu yüzden kaynaklanan iş kesme kayıplarından kurtulmak için CPU darbenin izleyen kenarında tetiklenmelidir. İş kesme fark edildikten sonra CPU servis gereklilikleri için bütün aygıtları kontrol etmelidir.
Kenar tetiklenmiş iş kesmeler seviye tetiklenmiş iş kesmelerdeki paylaşım problemleri yaşamaz. Düşük öncelikli aygıtın servisi isteğe göre ertelenebilir ve yüksek öncelikli aygıtın servisi sağlandıktan sonra ertelenmiş düşük öncelikli aygıtın servisi sağlanır. Eğer CPU’nun servisini nasıl sağlayacağını bilmediği bir aygıt mevcutsa bu sahte iş kesmeye neden olabilir veya düzenli periyodik sahte iş kesmeler oluşabilir. Ancak bu durum diğer iş kesme durumlarının belirtilmesini engellemez.

Karma

Bazı sistemler kenar tetikleme ile seviye tetiklemeyi karma olarak kullanır. Donanım yalnızca kenar için bakmaz bununla birlikte belirli periyodik bir zaman aralığında iş kesme sinyalinin aktif durumda bulunduğunu doğrular. Ortak karma iş kesme maskelenemez iş kesme girdisidir. Çünkü maskelenemez iş kesmeler genellikle daha önemli veya feci sistem olaylarını belirtir. Bu sinyalin iyi bir uygulaması iş kesmenin makul zaman aralığında aktif kalmış olmasını garantiler. Bu iki basamak yanlış iş kesmelerin sistemi etkilemesini azaltmak için yardımcı olur.

Mesaj ile belirtme

Mesaj ile belirtilen iş kesmeler fiziksel iş kesme hattını kullanmaz. Onun yerine aygıt, istemini bilgisayar veri yolu gibi bir iletişim ortamına kısa mesaj göndererek belirtir. Mesaj ile belirtilen iş kesmeler kenar tetiklemeli iş kesmeler gibi davranırlar. İş kesme sürekli bir durumun aksine anlık bir sinyaldir.
Mesaj ile belirtilen iş kesme vektörleri paylaşılabilirdir bunun sağlanması için iletişim ortamı paylaşılabilir olmalıdır.

Kullanım alanları

İş kesmelerin genel kullanım alanları sistem zamanlayıcıları, disk giriş-çıkışları ve güç kesme sinyalleridir. Bunlarla birlikte UART ve Ethernet kullanımında veri transferinde iş kesmeler kullanılır. Ayrıca kontrol motorları gibi birçok alanda iş kesmeler kullanılır. 
Disk iş kesme sinyalleri çevre birimlerinden diske veya diskten çevre birimlerine veri transferinde tamamlayıcıdır. Güç kesme kesilmeleri güç kaybı olduğunu ya da olacağını belirtir. Bu da bilgisayar elemanlarının sistemli olarak işlerini durdurmasını sağlar.