系統中斷

中斷系統中的中斷髮生後,系統停止回響,並執行中斷回響,這個過程就叫系統中斷。

系統中斷: 中斷系統中的中斷髮生後,系統停止回響,並執行中斷響應,這個過程就叫系統中斷。
系統中斷,一般是硬體中斷和軟體中斷的綜合,“中斷”是一個計算機術語,意思跟我們的請求差不多,滑鼠、鍵盤、板卡或者是一些系統核心組件,要想為你服務,都要向系統提出申請,然後等待作業系統的分配。如果沒有這個過程,你什麼也幹不了。CPU占用高的原因就是,系統要保持“隨時”能為你提供服務,就必須保證它的優先權力。
所謂中斷是指CPU對系統發生的某個事件做出的一種反應,CPU暫停正在執行的程式,保留現場後自動地轉去執行相應的處理程式,處理完該事件後再返回斷點繼續執行被“打斷”的程式。
中斷可分為三類,第一類是由CPU外部引起的,稱作中斷,如I/O中斷、時鐘中斷、控制台中斷等。第二類是來自CPU的內部事件或程式執行中的事件引起的過程,稱作異常,如由於CPU本身故障(電源電壓低於105V或頻率在47~63Hz之外)、程式故障(非法操作碼、地址越界、浮點溢出等)等引起的過程。
第三類由於在程式中使用了請求系統服務的系統調用而引發的過程,稱作“陷入”(trap,或者陷阱)。前兩類通常都稱作中斷,它們的產生往往是無意、被動的,而陷入是有意和主動的。
1.中斷處理
中斷處理一般分為中斷回響和中斷處理兩個步驟。中斷回響由硬體實施,中斷處理主要由軟體實施。
(1)中斷回響
對中斷請求的整個處理過程是由硬體和軟體結合起來而形成的一套中斷機構實施的。發生中斷時,CPU暫停執行當前的程式,而轉去處理中斷。這個由硬體對中斷請求作出反應的過程,稱為中斷回響。一般說來,中斷回響順序執行下述三步動作:
◆中止當前程式的執行;
◆保存原程式的斷點信息(主要是程式計數器PC和程式狀態暫存器PS的內容);
◆從中斷控制器取出中斷向量,轉到相應的處理程式。
通常CPU在執行完一條指令後,立即檢查有無中斷請求,如果有,則立即做出回響。
當發生中斷時,系統作出回響,不管它們是來自硬體(如來自時鐘或者外部設備)、程式性中斷(執行指令導致“軟體中斷”—Software Interrupts),或者來自意外事件(如訪問頁面不在記憶體)。
如果當前CPU的執行優先權低於中斷的優先權,那么它就中止對當前程式下條指令的執行,接受該中斷,並提升處理機的執行級別(一般與中斷優先權相同),以便在CPU處理當前中斷時,能禁止其它同級的或低級的中斷,然後保存斷點現場信息,通過取得的中斷向量轉到相應的中斷處理程式的入口。
(2)中斷處理
CPU從中斷控制器取得中斷向量,然後根據具體的中斷向量從中斷向量表IDT中找到相應的表項,該表項應是一個中斷門。於是,CPU就根據中斷門的設定而到達了該通道的總服務程式的入口。
核心對中斷處理的順序主要由以下動作完成:
◆保存正在運行進程的各暫存器的內容,把它們放入核心棧的新幀面中。
◆確定“中斷源”或核查中斷髮生,識別中斷的類型(如時鐘中斷或盤中斷)和中斷的設備號(如哪個磁碟引起的中斷)。系統接到中斷後,就從機器那裡得到一個中斷號,它是檢索中斷向量表的位移。中斷向量因機器而異,但通常都包括相應中斷處理程式入口地址和中斷處理時處理機的狀態字。
◆核心調用中斷處理程式,對中斷進行處理。
◆中斷處理完成並返回。中斷處理程式執行完以後,核心便執行與機器相關的特定指令序列,恢復中斷時暫存器內容和執行核心棧退棧,進程回到用戶態。如果設定了重調度標誌,則在本進程返回到用戶態時做進程調度。

相關詞條

相關搜尋

熱門詞條

聯絡我們