Bir kesinti, başka ne olursa olsun, hemen işlenmesi gereken "olağandışı" bir olaydır . Tırnaklarda "olağandışı" diyorum, çünkü beklenmedik ya da kötü değiller, ancak CPU açısından "olağandışı" çünkü ilgisiz olabilecek kodu yürütürken meşgul oluyorlar.
CPU, kesintileri dinlemek için bazı mekanizmalara ve çeşitli türde kesintiler meydana geldiğinde "ne yapması gerektiğini" yapılandırmanın bir yoluna sahiptir. Bu, işletim sisteminin donanım aygıtları bir şey yaptığında (düzenli aralıklarla kesinti oluşturan çok önemli donanım saati dahil) bildirileceğini düzenlemesini sağlar. CPU'nun kesme işleme yapılandırması aracılığıyla, işletim sistemindeki belirlenen kod, kesinti olduğunda kontrol sahibi olur.
Bir kesme işleyicisi çalışmaya başladığında bilgisayar çok hoş olmayan bir durumdadır (bir uygulama programcısı için); makine başka bir şey yapmakla meşguldü (ki bu her şey olabilir ) ve şimdi işletim sistemine "bir şey oldu" bildirildi. Kesintiyi makinenin herhangi bir yerinde olması gereken yerden gerçekten işlemek için gereken diğer bilgileri toplamak ve CPU'da çalışan "herhangi bir şey" olabileceğini rahatsız etmeden gerekli işlemleri yapmak zorundadır. İşletim sistemi şu anda hangi uygulama işleminin çalışmakta olduğunu değiştirmek isterse, daha sonra geri yükleyebilmek için bağlamı yeterince kaydetmesi gerekir (yine, bu bağlamı bozmadan), sonra başka bir bağlam yükleyin ve CPU'nun normal şekilde kalmasına izin verin bu bağlamda icra.
Belirtildiği gibi, kesintiler donanım cihazlarından bildirim almak için kullanılır (tek alternatif, periyodik olarak kontrol etmek olacaktır), zamanı takip etmek ve bir uygulama işleminden kontrolü yeniden kazanma garantisini (hangi uygulamanın çalıştığını değiştirmek için) elde etmek için kullanılır geçersiz talimatlar uygulayarak uygulama işlemlerinden kurtarma ve aynı zamanda uygulamaların işletim sistemi isteklerinde bulunmalarını sağlama. Bu sonuncular sistem çağrıları olarak bilinir. Uygulamaların makineyi ve birbirlerini karıştırmasını önlemek için, normalde makineyle "kullanıcı modunda" çalışırlar; Bu her şeyi yapmak anlamına gelirbaşka (dosyaları okuma / yazma, daha fazla bellek isteme, cihazlara erişme vb.) uygulamanın bir sistem çağrısı yapması gerekir; temel olarak, işletim sisteminin arayacağını bildiği bir yerde ne yapmak istediği hakkında bazı bilgiler bırakarak, daha sonra doğru türde bir kesintiye neden olan bir CPU talimatı yürüterek yapar. İşletim sistemi daha sonra uygulamanın ne yapmaya çalıştığını görebilir ve bu isteği yerine getirip getirmeyeceğini belirleyebilir. İşletim sisteminin herhangi bir sürecin sürece dahil olacağının garantisi, süreç dışındaki herhangi bir şeyi etkileyen her şeyi yapma girişimine erişim politikalarının uygulanabilmesinin tek yoludur.
Yani, esasen, işletim sistemi kesintiler tarafından yönlendirilir. "Soyut" bir işletim sistemi makineyi "normal çalışma" durumuna getirir ve bir noktada kontrolü "normal" bir işleme bırakır. Normal şartlar altında, işletim sistemi yalnızca kesintileri ele alarak kontrolü yeniden kazanır; ancak kesinti olmadan ilginç bir şey olmadığı için, işletim sistemi temelde her şeyi her zaman kontrol eder.