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