中斷程序在內核態執行
當接收到一個中斷時,內核會執行中斷處理程序(interrupthandler),每個可以產生中斷的設備都有一個對應的中斷處理程序。中斷處理程序是設備驅動的一部分,中斷處理程序的函數聲明必須遵照規定的格式,中斷處理程序本質上是一個函數,和內核其他函數的區別在于中斷處理程序是由內核響應中斷時調用的,它運行在一個被稱為中斷上下文的特殊上下文中。中斷上下文中不能被阻塞,所以有時候也會被稱為原子上下文。
中斷處理程序必須快速地完成執行,這樣才能快速地對中斷做出響應的同時確保被中斷搶占的代碼可以盡快地恢復執行。但是中斷處理程序往往有大量工作要做,比如網卡的中斷處理程序就需要將網絡中的數據包從硬件上復制到內存中,處理數據包,最后將數據包交給合適的協議棧或者應用程序。