什麼是中斷,以及現代作業系統如何處理中斷?


中斷通常被稱為訊號,當某個事件或程序需要立即關注時,軟體或硬體會生成這些訊號。因此,訊號會通知處理器有關高優先順序和緊急資訊需求,從而導致當前工作程序中斷。

因此,每當發生中斷時,處理器都會完成當前指令的執行,並開始執行稱為中斷處理的中斷。此外,對於每次發生中斷處理,都存在一箇中斷服務例程 (ISR) 或中斷處理程式。

現代作業系統中的中斷處理

在 Linux、Mac 或 Windows 等多個作業系統中,中斷處理分為兩部分:

  • 一級中斷處理程式 (FLIH),也稱為硬中斷處理程式或快速中斷處理程式。

  • 二級中斷處理程式 (SLIH),也稱為慢速中斷處理程式或軟中斷處理程式。

FLIH 和 SLIH 的用途和屬性如下:

FLIH

  • 這些包括特定於平臺的中斷處理。

  • 它會導致程序執行出現抖動。

  • 它還會遮蔽中斷。

  • FLIH 在 Linux 中被稱為上半部分。

SLIH

  • 它完成類似於程序或事件的長時間中斷處理任務。

  • 為每個處理程式分配一個專用執行緒。

  • 它具有較長的執行時間。

  • SLIH 在 Linux 中被稱為下半部分或底部部分。

作業系統的中斷處理機制接受一個表示地址的數字,然後選擇要採取的具體操作,該操作已在中斷服務例程中提及。在大多數架構中,該地址儲存在一個稱為向量表的表中。

現在讓我們以圖示的方式瞭解一下 OS 的中斷處理方案。

更新於:2021年12月1日

17K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告