中斷服務程序異步執行,可能會中斷其他的重要代碼,包括其他中斷服務程序。
因此,為了避免被中斷的代碼延遲太長的時間,中斷服務程序需要盡快運行,而且執行的時間越短越好,所以中斷程序只作必須的工作,其他工作推遲到以后處理。
所以Linux把中斷處理切為兩個部分:上半部和下半部。
上半部就是中斷處理程序,它需要完成的工作越少越好,執行得越快越好,一旦接收到一個中斷,它就立即開始執行。像對時間敏感、與硬件相關、要求保證不被其他中斷打斷的任務往往放在中斷處理程序中執行;
而剩下的與中斷有相關性但是可以延后的任務,如對數據的操作處理,則推遲一點由下半部完成。
下半部分延后執行且執行期間可以相應所有中斷,這樣可使系統處于中斷屏蔽狀態的時間盡可能的短,提高了系統的響應能力。
實現了程序運行快同時完成的工作量多的目標。