作業系統核心-管理硬體-管理cpu-引出多程序影象(作業系統核心影象)。
自動取指令執行,給個位址,從記憶體中取出指令執行,並且是自動向下執行。看一眼菜譜,做一步工作。
設定好pc初值就可以了,剩下cpu會往下工作。
管理cpu=設定pc的初值
有乙個問題:
有io指令的速度遠遠小於存計算指令,io特別慢。
如果我要不斷從io中讀出數值後,再進行下一步計算工作,那就要一直等著io的進入,效率太低。
等燒開水-》去洗臉-》聽到聲音了-》回來關開水,去煮麥片。
程式來回切換,誰能上誰先上,不能上就在旁邊等著-》cpu利用率高了起來。
這個概念稱作併發,也就是同時出發。
但是問題又來了,只要修改pc就行了嗎?
切換出去,再次切換回來的時候,cpu內暫存器的值就不一樣了,還要在每個程式的棧空間內,儲存當前cpu內所有的暫存器資訊等,也就是需要記錄資訊,這就需要乙個存放資訊的資料結構,稱之為pcb。
程序:執行中的程式和靜態的程式是不一樣的!所以取名字叫做程序。
好比正在看的書和沒有在看的書,前者需要乙個書籤來儲存額外資訊。
管理cpu=管理多程序影象
L8 CPU管理的直觀想法
設好pc初值就完事,cpu會自動地順著位址下移,不斷取指執行。當遇到io操作之類的,cpu會處於等待狀態 時間很長 等著fprintf fp,d sum 執行完,才會繼續執行下去。遇到等待時,就切換到其他程式繼續執行,等待原程式列印成功,就切換回去,繼續執行原程式。就好比,自己燒水的過程 往水壺裡面...
OS 李治軍 L25 記憶體換出
有換入就應該有換出!等價交換!必須要選擇乙個頁換出,選擇哪一頁淘汰emm?下面介紹淘汰演算法。一 fifo 先來的先走。二 min 記憶體當中,將來最久沒有使用過的page滾蛋。效果很好,但是我們做不到,我們不知道將來會有什麼東西過來。三 lru 用過去的歷史 我來,選最近最長一段時間沒有使用過的頁...
OS 李治軍 L28 生磁碟的使用
磁碟具有更複雜的結構,在作業系統內有著更為複雜的抽象層次,這裡的生 raw 是讓disk跑起來的意思。可以將磁碟的結構理解為多個原片疊起來的柱面,我們用以下的引數取描述乙個磁碟 理論上,我們要操控乙個磁碟,就要對其控制器發出指令,控制磁頭的電機,使磁頭移動到相應的軌道上去 找到乙個柱面 然後開始旋轉...