作業系統在硬體之上,其他軟體之下,直接與硬體打交道。作業系統的執行環境這部分內容,涉及《計算機體系結構》和《微機原理》等課程知識:
中斷
中斷&系統呼叫&cpu狀態
1. 指令系統分類
在多道程式系統中,為保證安全,把指令系統分為兩類:特權指令、非特權指令
特權指令
非特權指令
只允許作業系統
一般使用者均可使用
特權指令 eg:修改程式狀態字、設定中斷遮蔽、啟動i/o裝置、清記憶體、設定時鐘、停機等
2. cpu狀態
(1)管態 vs 目態
在**程式狀態字(psw)**中專門設定一位,根據執行程式使用指令的不同許可權而設定。
管態目態
別稱特態、特權態,核心態,系統態
普態、使用者態
執行指令許可權能執行指令全集,具有改變cpu狀態的能力
只能執行非特權指令
執行程式
作業系統在管態下執行使用者程式在目態下執行
轉換目態到管態:唯一途徑是通過中斷。管態到目態:設定psw指令(修改程式狀態字)
注:如果在目態下使用者執行了特權指令,則產生中斷,由作業系統得到控制權,而特權指令被停止執行。
協調系統對各種外部事件的響應和處理。中斷是實現多道程式的必要條件。
中斷定義
cpu在執行乙個程式時,對系統發生的某個事件作出的一種反應:cpu暫停正在執行的程式,保留現場後自動轉去處理相應的事件,處理完該事件後再返回斷點,繼續完成被打斷的程式。(如有必要,被中斷的程式可以在後來某時間恢復,繼續執行。)
特點:(1)隨機
(2)可恢復
(3)自動處理
中斷系統
中斷由軟體、硬體協同完成——中斷系統
中斷裝置(硬體):發現中斷,響應中斷
中斷處理程式(軟體)
中斷的其他要素:
中斷源:引起中斷發生的事件
中斷暫存器:硬體為每個中斷源設定暫存器,中斷發生時資訊被記錄在暫存器中,以便分析處理(記錄中斷)
中斷字:中斷暫存器中的內容
系統堆疊:在記憶體開闢的一塊區域用來臨時儲存程序執行現場
中斷向量表:使中斷裝置找到恰當的中斷處理程式,中斷程式入口位址對映表
中斷向量:表中的每一項,由程式狀態字psw和指令計數器pc的值組成
中斷型別
自願性中斷
使用者在程式中有意識安排的中斷:使用者在編制程式時因為要求作業系統提供服務,有意使用 「訪管」指令或系統呼叫,使其發生中斷。
硬中斷 vs 軟中斷
外中斷內中斷
處理器和主儲存器之外
來自處理器和主存內部的中斷
與正執行指令無關
與正執行指令有關
可遮蔽多為異常(不可遮蔽)
電源故障中斷、時鐘中斷、控制台中斷、i/o中斷等
主存奇偶錯、位址越界、除錯指令、訪管中斷、算術操作溢位等
中斷響應(由中斷裝置完成)
發現中斷接收中斷的過程
(1)發現中斷源
優先順序(2)儲存現場,將中斷向量推入系統堆疊
(3)引出中斷處理程式
方法:cpu在執行每條指令後掃瞄中斷暫存器,檢視有無中斷請求,如果沒有,則執行下一指令;如果有中斷請求,則通過交換中斷向量引出中斷處理程式。(交換程式狀態字進入中斷處理程式:保留psw內容,將它送入記憶體單元中相應的中斷源的舊的狀態字記憶體單元;將記憶體中相應新的狀態字單元送入psw內,形成新的現行程式狀態字。)
中斷處理(由中斷處理程式完成)
(1)儲存現場:儲存未被硬體儲存的現場
(2)識別中斷具體原因
(3)根據中斷原因處理中斷事件
(4)中斷返回
①從程式中斷處繼續執行
②啟動乙個新的程式
③重新啟動os
中斷優先順序
中斷遮蔽
定義:暫時禁止乙個或多個中斷源向cpu發中斷請求。
中斷發生時,cpu不予響應的狀態,常用於必須連續執行的程式,防止任務被中斷干擾;或執行處理某一類中斷時,防止其它中斷干擾。
實現:在psw中設定乙個中斷遮蔽位,通過設定中斷遮蔽指令完成開中斷與關中斷來進行中斷遮蔽。
作業系統02
併發 共享 虛擬 非同步 注意 併發以及共享是兩個最基本的特徵,二者互為存在條件併發 虛擬 乙個物理上的實體變為若干邏輯上的對應物。物理實體前者實際存在的,而邏輯上對應物是使用者感知到的。例如 虛擬機器儲存器技術 虛擬處理即技術 空分復用技術。虛擬技術包括空分復用技術 例如虛擬儲存器技術 時分復用技...
作業系統0x02 作業系統的執行環境
計算機系統中,通常cpu執行兩種不同性質的程式 一種是作業系統核心程式,另一種是使用者自編程式 應用程式 核心程式是應用程式的管理者,因此要執行一些特權指令,而應用程式出於安全考慮不能執行這些指令。所謂特權指令是指計算機中不允許使用者直接使用的指令,如i o指令 置中斷指令,訪問用於記憶體保護的暫存...
作業系統課堂筆記二 作業系統執行環境
作業系統執行機制 中斷異常機制工作原理 系統呼叫機制 系統呼叫實戰 參考舉例 陷入指令 訪管指令 是一條特殊的指令,通過這條指令,可以使使用者程式向作業系統提出各種各樣的請求,例如 int,trap,syscall,sysenter sy it 核心態 使用者態 概念 cpu對系統發生某個事件的一種...