操作系統精髓與設計原理讀書筆記2

操作系統精髓與設計原理讀書筆記2

來自專欄 學渣的救贖之路

計算機系統概述

概述操作系統運行的計算機系統的基本主成成分包括1:處理器2:內存3:輸入輸出系統4:系統匯流排

CPU

處理器由運算器、控制器、一系列的寄存器以及高速緩存構成

兩類寄存器:

用戶可見寄存器:高級語言編譯器通過優化演算法分配並使用之,以減少程序訪問內存次數

控制和狀態寄存器:用於控制處理器的操作,通常由操作系統代碼使用

其中控制和狀態寄存器是用於控制處理器的操作

在某種特權級別下可以訪問、修改

常見的控制和狀態寄存器

程序計數器(PC:Program Counter),記錄將要取出的指令的地址

指令寄存器(IR:Instruction Register),記錄最近取出的指令

程序狀態字(PSW:Program Status Word),記錄處理器的運行狀態如條件碼、模式、控制位等信息

內核態(Kernel Mode):運行操作系統程序

用戶態(User Mode):運行用戶程序

X86支持4個處理器特權級別特權環:R0、R1、R2和R3,目前大多數基於x86處理器的操作系統只用了R0和R3兩個特權級別

cpu狀態轉換

用戶態 → 內核態

唯一途徑 → 中斷/異常/陷入機制

內核態 → 用戶態

設置程序狀態字PSW

其中一條特殊的指令:陷入指令(又稱訪管指令)

提供給用戶程序的介面,用於調用操作系統的

功能(服務)

例如:int,trap,syscall,sysenter/sysexit

中斷/異常機制

中斷:外部事件,正在運行的程序所不期望的

異常:由正在執行的指令引發

其 對於操作系統的重要性

就好比:汽車的發動機、飛機的引擎

→→ 可以說 操作系統

是由「中斷驅動」或者 「事件驅動」的

主要作用

1.及時處理設備發來的中斷請求

2.可使OS捕獲用戶程序提出的服務請求

3.防止用戶程序執行過程中的破壞性活動

中斷/異常指CPU對系統發生的某個事件作出的一種反應

CPU暫停正在執行的程序,保留現場後自動轉去執行相應事件的處理程序,處理完成後返回斷點,繼續執行被打斷的程序,特點為

1.是隨機發生的

2.是自動處理的

3.是可恢復的

中斷響應: 發現中斷、接收中斷的過程 由中斷硬體部件完成

中斷向量:

一個內存單元,存放中斷處理程序入口地址和

程序運行時所需的處理機狀態字

執行流程按中斷號/異常類型的不同,通過中斷向量表

轉移控制權給中斷處理程序

中斷處理程序

系統運行時若響應中斷,中斷硬體部件將CPU控制權轉給中斷處理程序:

保存相關寄存器信息

分析中斷/異常的具體原因

執行對應的處理功能

恢復現場,返回被事件打斷的程序

system call

內存待續......


推薦閱讀:

如何評估聚類有效性
物聯網技術中的「兩域、六層」
[B0] Python基礎
linux忘記root密碼怎麼辦?
我開了一個專欄

TAG:操作系統 | 計算機科學 |