作業系統執行環境

2021-09-27 07:18:31 字數 1197 閱讀 6599

程式的執行

完成與體系結構相關的工作(重點: 作業系統必須了解和適配硬體)

完成應用程式所需的共性任務, 提供各種基礎服務

效能,安全,健壯性等問題

作業系統中的中斷/異常機制很重要, 可以比作汽車的發動機, 飛機的引擎. 也可以說作業系統由中斷驅動或者事件驅動

i/o 中斷: 鍵盤上control+c,印表機結束了, 讀盤結束

時鐘中斷: 設定定時器到點了, 時間片到了

硬體故障: 膝上型電腦沒電了, 讀記憶體奇偶校驗錯誤

系統呼叫

頁故障/頁錯誤: 程式執行時候需要從磁碟load到記憶體(缺頁異常)

保護性異常: 記憶體空間標記為唯讀(執行寫操作), 訪問記憶體空間越界

斷點指令: 程式debug

程式性異常: 算術溢位, 棧溢位, 除零

類別原因

非同步/同步

返回行為

中斷interrupt

來自i/o裝置,其他硬體

非同步返回下一條指令

陷入trap

有意識安排的

同步返回下一條指令

故障fault

可恢復的錯誤

同步返回當前指令

終止abort

不可恢復的錯誤

同步不返回

軟體做了什麼? --中斷/異常處理程式

我們以印表機輸入輸出中斷為例描述一下

印表機給cpu發出中斷訊號

處理器狀態切換到核心態

在系統中儲存上下文, 主要是程式計數器pc和狀態字暫存器psw

cpu根據中斷碼查中斷向量表, 查到程式入口位址, 將pc設定成該位址。當新的指令週期開始時,cpu轉移到中斷處理程式

在系統棧中儲存現場資訊

檢查i/o裝置狀態

中斷處理結束後, cpu檢測到中斷返回指令,從系統堆疊中恢復被中斷程式的上下文, 也就是將psw和pc設定回原來的值, 等下乙個指令週期繼續執行。(硬體完成)

作業系統向使用者程式提供的介面

利用硬體提供的中斷/異常機制, 支援系統呼叫服務的實現

選擇一條特殊的指令, 陷入指令(也叫做訪管指令), 引發異常, 完成使用者態->核心態的切換(所有的系統呼叫都是通過該指令進入核心)

每個系統呼叫事先給好乙個編號, 也叫功能號(訪管指令其實是通過傳參的方式進入系統)

系統呼叫表: 存放系統呼叫服務的入口位址

cpu接到特殊的陷入指令將進行如下操作

作業系統的執行環境

cpu執行兩種不同性質的程式 一種是作業系統的核心,另一種是使用者自編程式或者系統外層的應用程式。故劃分為使用者態和核心態 管態 特權指令時指計算機中不允許使用者直接使用的指令,如i o指令,置中斷,訪問用於記憶體保護的暫存器,送程式狀態字暫存器的指令。作業系統的各項功能分別置於不同的層次上,和硬體...

作業系統課堂筆記二 作業系統執行環境

作業系統執行機制 中斷異常機制工作原理 系統呼叫機制 系統呼叫實戰 參考舉例 陷入指令 訪管指令 是一條特殊的指令,通過這條指令,可以使使用者程式向作業系統提出各種各樣的請求,例如 int,trap,syscall,sysenter sy it 核心態 使用者態 概念 cpu對系統發生某個事件的一種...

作業系統筆記0 2 作業系統的執行環境

作業系統在硬體之上,其他軟體之下,直接與硬體打交道。作業系統的執行環境這部分內容,涉及 計算機體系結構 和 微機原理 等課程知識 中斷 中斷 系統呼叫 cpu狀態 1.指令系統分類 在多道程式系統中,為保證安全,把指令系統分為兩類 特權指令 非特權指令 特權指令 非特權指令 只允許作業系統 一般使用...