軟中斷小結

2021-05-26 09:12:21 字數 618 閱讀 4289

核心處理的任務中有的不是那麼緊迫的,在必要的時間可以把它們延遲一段時間,這就是軟中斷形成的背景。這對於哪些期望它們的中斷能在幾毫秒內得到處理的「急迫」應用來說是非常重要的。由此,硬中斷負責處理緊急的任務,軟中斷負責處理不是那麼緊迫的任務。

linux 2.6核心提供了兩種非緊迫、可中斷函式:所謂的延遲函式(包括軟中斷和tasklets)和通過工作佇列來執行的函式。

軟中斷和tasklet有密切的關係,tasklet是在軟中斷之上實現。事實上,出現在核心**中的術語「軟中斷(softirq)常常表示可延遲函式的所有種類」。另外一種被廣泛使用的術語是「中斷上下文」,表示核心當前正在執行乙個中斷處理程式或乙個可延遲的函式。

軟中斷的分配是靜態的(即在編譯時定義),而tasklet的分配和初始化可以在執行時進行(例如,安裝乙個核心模組時)。軟中斷(即便是同一種型別的軟中斷)可以併發地執行在多個cpu上。因此,軟中斷是可重入函式而且必須明確地使用自旋鎖保護其資料結構。tasklet不必擔心這個問題,因為核心對tasklet的執行進行了更加嚴格的控制。相同型別的tasklet總是序列地執行,換句話就是,不能在兩個cpu上同時執行相同型別的tasklet。但是,型別不同的tasklet可以在幾個不同的cpu上併發執行。tasklet的序列化使tasklet函式不必是可重入的。

軟中斷 硬中斷 區別

from 軟中斷一般是指由指令int引起的 偽 中斷動作 給cpu製造乙個中斷的假象 而硬中斷則是實實在在由8259的連線觸發的中斷。因此,嚴格的講,int與irq毫無關係,但二者均與中斷向量有關係。int引起的中斷,cpu是從指令中取得中斷向量號 而irq引起的中斷,cpu必須從資料線上取回中斷號...

軟中斷與硬中斷

軟中斷 1.程式設計異常通常叫做軟中斷 2.軟中斷是通訊程序之間用來模擬硬中斷的 一種訊號通訊方式。3.中斷源發中斷請求或軟中斷訊號後,cpu或接收程序在適當的時機自動進行中斷處理或完成軟中斷訊號對應的功能 4.軟中斷是軟體實現的中斷,也就是程式執行時其他程式對它的中斷 而硬中斷是硬體實現的中斷,是...

軟中斷與硬中斷

軟中斷 1.程式設計異常通常叫做軟中斷 2.軟中斷是通訊程序之間用來模擬硬中斷的 一種訊號通訊方式。3.中斷源發中斷請求或軟中斷訊號後,cpu或接收程序在適當的時機自動進行中斷處理或完成軟中斷訊號對應的功能 4.軟中斷是軟體實現的中斷,也就是程式執行時其他程式對它的中斷 而硬中斷是硬體實現的中斷,是...