什麼是中斷,以及現代作業系統如何處理中斷?
中斷通常被稱為訊號,當某個事件或程序需要立即關注時,軟體或硬體會生成這些訊號。因此,訊號會通知處理器有關高優先順序和緊急資訊需求,從而導致當前工作程序中斷。
因此,每當發生中斷時,處理器都會完成當前指令的執行,並開始執行稱為中斷處理的中斷。此外,對於每次發生中斷處理,都存在一箇中斷服務例程 (ISR) 或中斷處理程式。
現代作業系統中的中斷處理
在 Linux、Mac 或 Windows 等多個作業系統中,中斷處理分為兩部分:
一級中斷處理程式 (FLIH),也稱為硬中斷處理程式或快速中斷處理程式。
二級中斷處理程式 (SLIH),也稱為慢速中斷處理程式或軟中斷處理程式。
FLIH 和 SLIH 的用途和屬性如下:
FLIH
這些包括特定於平臺的中斷處理。
它會導致程序執行出現抖動。
它還會遮蔽中斷。
FLIH 在 Linux 中被稱為上半部分。
SLIH
它完成類似於程序或事件的長時間中斷處理任務。
為每個處理程式分配一個專用執行緒。
它具有較長的執行時間。
SLIH 在 Linux 中被稱為下半部分或底部部分。
作業系統的中斷處理機制接受一個表示地址的數字,然後選擇要採取的具體操作,該操作已在中斷服務例程中提及。在大多數架構中,該地址儲存在一個稱為向量表的表中。
現在讓我們以圖示的方式瞭解一下 OS 的中斷處理方案。
廣告