引子
命令:每個命令對應乙個可執行檔案。
shell的**:根據使用者的命令,呼叫相關的可執行檔案執行。
圖形:硬體輸入到訊息佇列中,應用程式不斷從訊息佇列中獲取訊息,再根據訊息做一些操作。
介面表現為函式呼叫,又是系統提供,所以又稱之為系統呼叫(system call)
posix:ieee指定的乙個標準族。
為什麼不能直接去訪問核心?
實現原理:硬體分割出了使用者態和核心態,檢查目標指令的特權級別和目標記憶體段的特權級別。
dpl(destinate privilige level):描述目標記憶體段的特權級別,0表示屬於核心的特權級。
cpl(curent privilige level):當前的特權級別,取決於執行的是什麼指令。cs: ip,所以是cs決定。3表示使用者核心的特權級別。只有cpl<=dpl時,可以訪問目標記憶體段。
同時,硬體也提供了主動進入核心的唯一方法:中斷指令int。
int指令將cs中的cpl設定為0,進入核心。
所以系統呼叫的核心:
下面是乙個過程示例:
cpl=3,dpl=0,此時不能訪問。
通過系統呼叫編號,呼叫int,
cpl被設定為0,進入核心
OS 李治軍 L25 記憶體換出
有換入就應該有換出!等價交換!必須要選擇乙個頁換出,選擇哪一頁淘汰emm?下面介紹淘汰演算法。一 fifo 先來的先走。二 min 記憶體當中,將來最久沒有使用過的page滾蛋。效果很好,但是我們做不到,我們不知道將來會有什麼東西過來。三 lru 用過去的歷史 我來,選最近最長一段時間沒有使用過的頁...
OS 李治軍 L28 生磁碟的使用
磁碟具有更複雜的結構,在作業系統內有著更為複雜的抽象層次,這裡的生 raw 是讓disk跑起來的意思。可以將磁碟的結構理解為多個原片疊起來的柱面,我們用以下的引數取描述乙個磁碟 理論上,我們要操控乙個磁碟,就要對其控制器發出指令,控制磁頭的電機,使磁頭移動到相應的軌道上去 找到乙個柱面 然後開始旋轉...
OS 李治軍 L8 CPU管理的想法
作業系統核心 管理硬體 管理cpu 引出多程序影象 作業系統核心影象 自動取指令執行,給個位址,從記憶體中取出指令執行,並且是自動向下執行。看一眼菜譜,做一步工作。設定好pc初值就可以了,剩下cpu會往下工作。管理cpu 設定pc的初值 有乙個問題 有io指令的速度遠遠小於存計算指令,io特別慢。如...