中斷和異常

2022-02-10 12:11:35 字數 938 閱讀 4959

目錄上半部

下半部有關核心棧

中斷:非同步中斷,由其他硬體裝置依照cpu時鐘訊號隨機產生,比如間隔定時器和io裝置

異常:同步中斷,當指令執行時由cpu控制單元產生的,即程式的錯誤產生的

linux利用中斷門(清if標誌,不響應中斷請求)處理中斷,利用陷阱門(不修改if標誌)處理異常

idt裡的表項也叫門描述符

響應中斷後關鍵而緊急的部分,核心立即執行,關中斷執行,中斷處理程式

響應乙個特定中斷時,核心執行的函式

簡單的劃分標準

響應中斷後可以推遲的部分,核心隨後執行,開中斷執行。執行與中斷處理密切相關但中斷處理程式不執行的工作

靜態定義的下半部介面,有32個

用於效能需求比較高的情況

用於執行頻率很高的情況

在編譯期間靜態註冊

只有中斷處理程式搶占軟中斷

執行時機

基於軟中斷(所以有軟中斷的基本特點)實現的的下半部介面,一般下半部使用tasklet

把工作推後,交由乙個核心執行緒去執行——這個下半部分總會在程序上下文中執行

每個處理器對應乙個核心執行緒

也是一次執行所有延遲工作

鍊錶上有物件,狀態設為task_running;鍊錶上沒有物件了,狀態設為task_interruptible

處理固定個數的軟中斷,過量軟中斷交給ksoftirq執行緒

執行軟中斷的乙個核心執行緒,每個cpu都有自己的

如果核心棧是8kb,那麼當前被中斷程序的核心棧被用作中斷棧

如果核心棧是4kb,核心就使用3種型別的核心棧

中斷和異常

中斷和異常 中斷訊號的處理方式 分緊急部分和不緊急部分 中斷處理 必須能夠重入,以便能夠中斷巢狀 中斷和異常的產生 乙個irq interrupt request 代表中斷控制器上的一根中斷線,和乙個中斷向量 單cpu 可程式設計中斷控制器 pic 多cpu 改進的可程式設計中斷控制器 apic 乙...

中斷和異常

中斷通常定義為乙個事件,該事件改變處理器執行的指令順序。中斷通常分為同步中斷與非同步中斷。異常是同步的,i o中斷是非同步的。中斷可以分為 i o裝置發出的中斷請求 irq 都可以被遮蔽,乙個中斷被遮蔽以後,控制單元就忽略他。只有硬體故障等幾個危急事件才是非遮蔽中斷。異常可以分為 可以糾正的異常,例...

中斷和異常

1 中斷機制的誕生 早期計算機,各程式只能序列執行,系統資源利用率低,為了解決這個問題,從而誕生了作業系統 作為計算機的管理者 引入中斷機制,實現了多道程式併發執行。本質 發生中斷就意味著需要作業系統介入,開展管理工作。2 中斷的概念和作用 1 當中斷發生時,cpu立即進入核心態。2 當中斷發生後,...