王道操作系统考研笔记——2.1.6 处理机调度的概念和层次
文章目錄
- 2.1.6 處理機調(diào)度的概念和層次
- 2.1.6.1 調(diào)度的基本概念
- 2.1.6.2 高級調(diào)度
- 2.1.6.3 中級調(diào)度
- 2.1.6.4 進程的掛起態(tài)和七狀態(tài)模型
- 2.1.6.5 低級調(diào)度
- 2.1.6.6 三層調(diào)度的聯(lián)系、對比
- 2.1.6.7 小結(jié)
2.1.6 處理機調(diào)度的概念和層次
知識總覽
2.1.6.1 調(diào)度的基本概念
實際上,這里要講的調(diào)度和數(shù)據(jù)庫筆記中9.6并發(fā)控制的正確性原則中的調(diào)度是一個概念。
假設(shè)我們現(xiàn)在有這么兩個場景:
場景一是用戶到銀行取錢,普通用戶先到先服務(wù),VIP用戶可以優(yōu)先被服務(wù)。場景二是上廁所,根據(jù)上廁所時長的不一樣,每個人私下協(xié)商,使用時間短的先進去廁所,使用時間相同的按排隊的優(yōu)先級來使用。
當有一堆任務(wù)要處理,但由于資源有限,這些事情沒法同時處理。這就需要確定某種規(guī)則來決定處理這些任務(wù)的順序,這就是“調(diào)度”研究的問題。
在多道程序系統(tǒng)中,進程的數(shù)量往往是多于處理機的個數(shù)的,這樣不可能同時并行地處理各個進程。處理機調(diào)度,就是從就緒隊列中按照一定的算法選擇一個進程并將處理機分配給它運行,以實現(xiàn)進程的并發(fā)執(zhí)行。
2.1.6.2 高級調(diào)度
由于內(nèi)存空間有限,有時無法將用戶提交的作業(yè)全部放入內(nèi)存,因此就需要確定某種規(guī)劃來決定將作業(yè)調(diào)入內(nèi)存的順序。
高級調(diào)度(作業(yè)調(diào)度),即按一定的原則從外存上處于后備隊列的作業(yè)中挑選一個或多個作業(yè),給他們分配內(nèi)存等必要資源,并建立相應(yīng)的進程(建立PCB),以使它們獲得競爭處理機的權(quán)利。
高級調(diào)度是輔存(外存)與內(nèi)存之間的調(diào)度。每個作業(yè)只調(diào)入一次,調(diào)出一次。作業(yè)調(diào)入時會建立相應(yīng)的PCB,作業(yè)調(diào)出時才撤銷PCB。高級調(diào)度主要是指調(diào)入的問題,因為只有調(diào)入的時機需要操作系統(tǒng)來確定,但調(diào)出的時機必然是作業(yè)運行狀態(tài)結(jié)束才調(diào)出。
2.1.6.3 中級調(diào)度
在后面,我們將會講到虛擬存儲技術(shù),這里先暫時提及一下。
在引入了虛擬存儲技術(shù)后,可將暫時不能運行的進程調(diào)至外存等待。等他重新具備了運行條件且內(nèi)存又稍有空閑時,再重新調(diào)入內(nèi)存。
這么做的目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。
暫時調(diào)到外存等待的進程狀態(tài)為掛起狀態(tài)。值得一提的是,PCB并不會一起調(diào)到外存,而是會常駐內(nèi)存,PCB中會記錄數(shù)據(jù)在外存中的存放位置,進程狀態(tài)等信息,操作系統(tǒng)通過內(nèi)存中的PCB來保持對各個進程的監(jiān)控、管理、被掛起的進程PCB會被放到掛起隊列中。
中級調(diào)度(內(nèi)存調(diào)度),就是要決定將哪個處于掛起狀態(tài)的進程重新調(diào)入內(nèi)存。
一個進程可能會被多次調(diào)出、調(diào)入內(nèi)存,因此中級調(diào)度發(fā)生的頻率要比高級調(diào)度要高。
2.1.6.4 進程的掛起態(tài)和七狀態(tài)模型
在2.1.2.1 和 2.1.2.2 中我們學習了進程的五狀態(tài)模型,而這是408要求掌握的;但是在一些自主命題的學校,它們會考查七狀態(tài)模型。
暫時調(diào)到外存等待的進程狀態(tài)為掛起狀態(tài)。掛起態(tài)又可以進一步細分為就緒掛起、阻塞掛起兩種狀態(tài)。
實際上說白了就是,內(nèi)存不夠用了,滿了,先把一些進程掛起放在外存,其PCB放在內(nèi)存,一旦內(nèi)存有多余位置了立馬把外存中的進程調(diào)進來。
這里要注意的是掛起和阻塞的區(qū)別。兩種狀態(tài)都是暫時不能獲得CPU的服務(wù),但掛起態(tài)是將進程映像調(diào)到外存去了,而阻塞態(tài)進程映像還在內(nèi)存中。有的操作系統(tǒng)會把就緒掛起、阻塞掛起分為兩個掛起隊列,甚至會根據(jù)阻塞原因不同再把阻塞掛起進程進一步細分為多個隊列。
2.1.6.5 低級調(diào)度
低級調(diào)度(進程調(diào)度),其主要任務(wù)是按照某種方法和策略從就緒隊列中選取一個進程,將處理機分配給它。
進程調(diào)度是操作系統(tǒng)中最基本的一種調(diào)度,在一般的操作系統(tǒng)中都必須配置進程調(diào)度。
進程調(diào)度的頻率很高,一般幾十毫秒一次。
2.1.6.6 三層調(diào)度的聯(lián)系、對比
2.1.6.7 小結(jié)
一般來說,考查的重點并不會是什么高級調(diào)度、中級調(diào)度、低級調(diào)度,而是考它另一個名字:作業(yè)調(diào)度、內(nèi)存調(diào)度、進程調(diào)度。
總結(jié)
以上是生活随笔為你收集整理的王道操作系统考研笔记——2.1.6 处理机调度的概念和层次的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为交换机vlan创建命令
- 下一篇: 监控主机安装需要材料