設好pc初值就完事,cpu會自動地順著位址下移,不斷取指執行。
當遇到io操作之類的,cpu會處於等待狀態(時間很長),等著fprintf(fp, "%d", sum)
執行完,才會繼續執行下去。
遇到等待時,就切換到其他程式繼續執行,等待原程式列印成功,就切換回去,繼續執行原程式。
就好比,自己燒水的過程:往水壺裡面裝滿水,開啟灶台,等待水壺燒開。在等水開的這段時間,我總不會一直呆坐著,而是要忙其他事情。
在等待時間,做另乙個程式的事情,大大增加了cpu的利用率。
乙個cpu上交替執行多個程式:併發。
執行時的程式和靜態程式不一樣。
每個程式有了乙個存放資訊的結構:pcb。
要記錄執行暫停切換出去前的程式狀態!
程式 + 所有這些不一樣 => 乙個概念。(所有的不一樣都表現在pcb中)
OS 李治軍 L8 CPU管理的想法
作業系統核心 管理硬體 管理cpu 引出多程序影象 作業系統核心影象 自動取指令執行,給個位址,從記憶體中取出指令執行,並且是自動向下執行。看一眼菜譜,做一步工作。設定好pc初值就可以了,剩下cpu會往下工作。管理cpu 設定pc的初值 有乙個問題 有io指令的速度遠遠小於存計算指令,io特別慢。如...
微軟的幽默 1CPU 8CPU!
最近公司新買了伺服器,8cpu,4g記憶體。比原來的伺服器好n多。系統是2003和sql 2000,把資料庫切換到新伺服器之後,發現大部分應用程式變快了,可是某幾個程式明顯慢了很多,原來2秒,現在8秒!新伺服器比老伺服器還慢?在網上搜尋n久,無果!最後沒辦法,把sql裡設定了一下,讓sql只使用1個...
CPU層次的電源管理
在cpu這個層次,減少對電源的消耗,我們可以有很多方案供選擇,比如說,使用idle state c state 改變cpu 的頻率 p states 還有扼制cpu 的工作時間 調節占空比 t states 下面對每乙個方案作出簡單的介紹。如果想知道詳細的規範,還是得去看 1.c states 工作...