Linux外部中斷程序的前半部分和后半部分
Linux把外部中斷從概念上分為前半(top half,th)部分和后半(bottom half,bh)部分兩部分。前者是響應(yīng)中斷之后被立即執(zhí)行的部分;后者是可在稍后某個時候執(zhí)行的部分。因此,在中斷服務(wù)程序的設(shè)計時,要設(shè)計兩個函數(shù):一個用來實現(xiàn)前半部分;另一個用來實現(xiàn)后半部分。前半部分除了要完成分配給它的任務(wù)之外,還要決定其相關(guān)的后半部分是否需要在稍后的某個時候執(zhí)行。
本文引用地址:http://www.ex-cimer.com/article/148459.htm之所以將中斷程序分為兩部分,是因為在一個中斷請求處理程序中,并非所有工作都是急需處理的,通常會有一部分工作可在稍晚一些時候來處理。
一般來說,外部設(shè)各與處理器之間的數(shù)據(jù)傳輸工作常常是比較緊急的,而對于這些數(shù)據(jù)的分析和處理工作,一般就不那么緊急了。為了防止處理器因處理不太急切的工作而耽擱了其他緊急工作的處理,Linux構(gòu)建了這種將中斷程序分為兩部分的特殊中斷機制,并允許用戶根據(jù)工作的緊急程度把一個中斷處理分為緊急的前半部分和不太緊急的后半部分。
由于放在后半部分的工作的緊急程度不那么“硬”,也由于后半部分的執(zhí)行是由軟件來啟動的,所以后半部分的中斷機制也叫做“軟中斷”。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論