操作系統精髓與設計原理讀書筆記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密碼怎麼辦?
※我開了一個專欄