版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章
進(jìn)程主要內(nèi)容3.1進(jìn)程的引入3.2進(jìn)程的概念3.3進(jìn)程的描述/表達(dá)描述進(jìn)程的狀態(tài)變遷、數(shù)據(jù)結(jié)構(gòu)、進(jìn)程控制塊3.4進(jìn)程操作進(jìn)程創(chuàng)建、進(jìn)程阻塞、進(jìn)程喚醒、進(jìn)程終止3.5進(jìn)程調(diào)度調(diào)度隊(duì)列、調(diào)度程序、上下文切換3.6進(jìn)程間通信基于消息傳遞、基于共享內(nèi)存3.1進(jìn)程的引入為什么要引入進(jìn)程?←
一次裝入并運(yùn)行一個(gè)“作業(yè)”←
同時(shí)裝入多個(gè)“程序”,串行執(zhí)行←
同時(shí)裝入多個(gè)程序,并發(fā)執(zhí)行,
僅當(dāng)?shù)却齀/O時(shí)切換程序執(zhí)行←
同時(shí)裝入多個(gè)程序,并發(fā)執(zhí)行,
程序切換條件:執(zhí)行的時(shí)間長(zhǎng)
度(時(shí)間片)到orI/O等待回顧OS發(fā)展
(1)手工操作
(2)簡(jiǎn)單批處理
(3)多道程序批
處理
(4)分時(shí)處理
(5)對(duì)稱多處理進(jìn)程概念–OS發(fā)展的需要和必然問(wèn)題1:程序是如何運(yùn)行起來(lái)的?int
main(int
argc,char*argv[]){
inti,to,sum=0;to=atoi(argv[1]);
for(i=1;i<=to;i++){sum=sum+i;}
printf(“%d”,sum);}源代碼代碼段:
movax,[100]
mov
bx,[104]addax,bx……100:0//sum104:1//i可執(zhí)行程序(在磁盤上,靜態(tài)存放)程序在內(nèi)存中運(yùn)行代碼段數(shù)據(jù)段...棧(參數(shù)等)
寄存器組
CPU
3.1進(jìn)程的引入程序執(zhí)行的細(xì)節(jié)代碼段:
movax,[100]
mov
bx,[104]addax,bx……
100:0//sum104:1//iPCmovax,[100]IRax03.1進(jìn)程的引入程序執(zhí)行的細(xì)節(jié)(1)代碼段:
movax,[100]
mov
bx,[104]addax,bx……
100:0//sum104:1//iPCmov
bx,[104]IRbx10ax3.1進(jìn)程的引入程序執(zhí)行的細(xì)節(jié)(2)代碼段:
movax,[100]
mov
bx,[104]addax,bx……
100:0//sum104:1//iPCaddax,bxIRbx10ax程序執(zhí)行的關(guān)鍵在于PC的變化!13.1進(jìn)程的引入問(wèn)題2:計(jì)算機(jī)中只有一個(gè)程序在執(zhí)行嗎?用戶的需求:多個(gè)用戶共享一臺(tái)計(jì)算機(jī)單個(gè)用戶利用計(jì)算機(jī)同時(shí)做多個(gè)事情使得計(jì)算機(jī)必須能夠同時(shí)執(zhí)行多個(gè)程序!3.1進(jìn)程的引入因此,這不是一個(gè)應(yīng)不應(yīng)該的問(wèn)題!問(wèn)題2:計(jì)算機(jī)中只有一個(gè)程序在執(zhí)行嗎?3.1進(jìn)程的引入問(wèn)題3:計(jì)算機(jī)系統(tǒng)的基本特征?CPU的速度相比其他設(shè)備要快的多!中斷技術(shù)、DMA技術(shù)可以使I/O等設(shè)備工作過(guò)程幾乎脫離CPU的干預(yù)!根據(jù)I/O設(shè)備的特性,完全可以在此時(shí)讓出CPU給其他程序sum(等待I/O)(等待I/O)sum(等待I/O)(等待I/O)其他程序(等待)(等待)計(jì)算機(jī)可以同時(shí)在執(zhí)行多個(gè)程序(交替執(zhí)行)!
3.1進(jìn)程的引入問(wèn)題4:一個(gè)程序vs.多個(gè)程序,效率?一次執(zhí)行
一個(gè)程序:AB101520304025CPUDEV13545DEV1CPUCPUDEV2CPUDEV2DEV2CPU一次一個(gè)程序多個(gè)程序CPU利用率40/80=50%40/45=89%DEV1利用率15/80=18.75%15/45=33%DEV2利用率25/80=31.25%25/45=56%
B
DEV2CPU
DEV1
DEV2
CPU
5060
70
80
65CPU
DEV1
DEV2
CPU
CPU
A10
15
20
3040多個(gè)程序
并發(fā)執(zhí)行:3.1進(jìn)程的引入問(wèn)題5:并發(fā)過(guò)程程序如何切換?并發(fā):一個(gè)CPU上交替的“同時(shí)”執(zhí)行多個(gè)程序
并發(fā)是指同時(shí)出發(fā),交替執(zhí)行(和并行不同)CPU1CPU2CPU1CPU2時(shí)間
movax,[100]
mov
bx,[104]addax,bx……
程序1
movax,10
mov
bx,10addax,bx……
程序2PCPC切換指程序2在CPU上執(zhí)行3.1進(jìn)程的引入CPUCPU1問(wèn)題5:并發(fā)過(guò)程程序如何切換?先保存執(zhí)行現(xiàn)場(chǎng),后切換執(zhí)行現(xiàn)場(chǎng)!
movax,[100]
mov
bx,[104]addax,bx……
程序1
movax,10
mov
bx,10addax,bx……
程序2PCPC切換CPU2內(nèi)存物理CPUCPU2ax1010bxPCPC切換CPU1ax
11bxPCCPU1CPU2CPU13.1進(jìn)程的引入邏輯CPU3.1進(jìn)程的引入為什么要引入進(jìn)程?
需要一種統(tǒng)一的方法監(jiān)視、管理、控制處理器
中不同程序的動(dòng)態(tài)執(zhí)行過(guò)程,“進(jìn)程”的概念
被引入!總結(jié)前面的內(nèi)容,可以看到:多道程序并發(fā)執(zhí)行是提高系統(tǒng)資源利用率(特
別是CPU)的有效途徑;多道程序競(jìng)爭(zhēng)CPU進(jìn)行輪換執(zhí)行是提高多用戶
響應(yīng)速度的有效方法;計(jì)算機(jī)的客觀實(shí)際支持多道程序并發(fā)的實(shí)現(xiàn);但“作業(yè)”、“程序”等概念不能有效描述
程序動(dòng)態(tài)輪換執(zhí)行的過(guò)程;……3.2進(jìn)程的概念Multics–1964年,Bell實(shí)驗(yàn)室、MIT與GE公司共同開(kāi)發(fā)Multics的設(shè)計(jì)者首次提出并使用了“進(jìn)程”的概念進(jìn)程概念讓許多事情豁然開(kāi)朗!用TaskManager演示進(jìn)程的表述進(jìn)程沒(méi)有嚴(yán)格的定義,但可以通過(guò)不同的角度去描述:一個(gè)正在執(zhí)行的程序(Program)計(jì)算機(jī)中正在運(yùn)行的程序的一個(gè)實(shí)例(Instance)可以分配給處理器并由處理器執(zhí)行的一個(gè)實(shí)體(Entity)由一個(gè)順序執(zhí)行的代碼段、一個(gè)當(dāng)前狀態(tài)和一組相關(guān)系統(tǒng)
資源所刻畫的活動(dòng)單元(Unit)日常生活中“進(jìn)程”例子:裝修工程:裝修隊(duì)同時(shí)承接N個(gè)家庭房屋裝修工程下棋過(guò)程:一對(duì)N的“車輪大戰(zhàn)”每盤對(duì)弈棋局
--一個(gè)進(jìn)程聶衛(wèi)平
--CPU3.2進(jìn)程的概念每個(gè)裝修工程
--一個(gè)進(jìn)程裝修隊(duì)
--CPU3.2進(jìn)程的概念(1)動(dòng)態(tài)性動(dòng)態(tài)特性表現(xiàn)在它因創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因
得不到資源而暫停執(zhí)行,最后因完成或撤銷而消亡
(進(jìn)程生命周期)(2)并發(fā)性引入進(jìn)程的目的就是為了使多個(gè)程序并發(fā)執(zhí)行,以提
高資源利用率(主要CPU)(3)獨(dú)立性進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)進(jìn)行資
源分配和調(diào)度的基本單位(4)異步性進(jìn)程以各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)(5)靜態(tài)性(可構(gòu)造性、結(jié)構(gòu)特征)
進(jìn)程結(jié)構(gòu)=程序段+數(shù)據(jù)段+進(jìn)程控制信息進(jìn)程的5個(gè)基本特征:3.3進(jìn)程的描述與表達(dá)如何描述/表達(dá)進(jìn)程?進(jìn)程狀態(tài)及其變遷進(jìn)程的數(shù)據(jù)結(jié)構(gòu)進(jìn)程控制塊3.3進(jìn)程的描述與表達(dá)3.3.1進(jìn)程狀態(tài)及其變遷3.3進(jìn)程的描述與表達(dá)3.3.1進(jìn)程狀態(tài)及其變遷50008000120005001
8001120015002
8002120025003800312003500480041200450058005120055006800612006500712007500812008500912009501012010501112011(a)進(jìn)程A軌跡
(b)進(jìn)程B軌跡
(c)進(jìn)程C軌跡
5000=進(jìn)程A的程序起始地址8000=進(jìn)程B的程序起始地址12000=進(jìn)程C的程序起始地址進(jìn)程軌跡--
進(jìn)程執(zhí)行的指
令序列3.3進(jìn)程的描述與表達(dá)3.3.1進(jìn)程狀態(tài)及其變遷進(jìn)程A執(zhí)行進(jìn)程C執(zhí)行進(jìn)程A執(zhí)行(續(xù))進(jìn)程C執(zhí)行(續(xù))時(shí)間片到時(shí)間片到時(shí)間片到調(diào)度程序調(diào)度程序調(diào)度程序調(diào)度程序I/O請(qǐng)求等待時(shí)間片到進(jìn)程ABC組合軌跡
--CPU調(diào)度軌跡進(jìn)程B執(zhí)行I/O請(qǐng)求等待I/O請(qǐng)求等待時(shí)間片到時(shí)間片到調(diào)度程序時(shí)間片到調(diào)度程序3.3進(jìn)程的描述與表達(dá)進(jìn)程執(zhí)行時(shí)的間斷性,決定了進(jìn)程可能具有多種狀態(tài)運(yùn)行中的進(jìn)程至少具有以下三種基本狀態(tài)(1)就緒狀態(tài)
–在某時(shí)刻,進(jìn)程已獲得除處理機(jī)以外的所有
資源,一旦分到了處理機(jī)就可以立即執(zhí)行(2)運(yùn)行狀態(tài)
–進(jìn)程已經(jīng)獲得必要資源,并占有處理機(jī)運(yùn)行(3)阻塞狀態(tài)
–正在執(zhí)行的進(jìn)程,由于發(fā)生某事件而暫時(shí)無(wú)
法執(zhí)行下去進(jìn)程是有生命周期的,它的狀態(tài)隨著自身的推進(jìn)和外界條件的變化而發(fā)生變化可以用一個(gè)進(jìn)程狀態(tài)變化圖來(lái)說(shuō)明系統(tǒng)中每個(gè)進(jìn)程可能具備的狀態(tài),以及這些狀態(tài)發(fā)生變化的可能原因3.3.1進(jìn)程狀態(tài)及其變遷3.3進(jìn)程的描述與表達(dá)進(jìn)程三狀態(tài)變遷圖運(yùn)行態(tài)就緒態(tài)阻塞態(tài)進(jìn)程調(diào)度時(shí)間片用完事件已發(fā)生等待事件發(fā)生進(jìn)程狀態(tài)變化圖(三狀態(tài))3.3進(jìn)程的描述與表達(dá)進(jìn)程三狀態(tài)變遷圖進(jìn)程狀態(tài)變化序列圖舉例(三狀態(tài))進(jìn)程A進(jìn)程B進(jìn)程C分派程序運(yùn)行態(tài)就緒態(tài)阻塞態(tài)3.3進(jìn)程的描述與表達(dá)進(jìn)程五狀態(tài)變遷圖允許進(jìn)入就緒阻塞運(yùn)行進(jìn)程調(diào)度時(shí)間片用完事件已發(fā)生等待事件發(fā)生進(jìn)程狀態(tài)變化圖(五狀態(tài))新建退出完成/終止新建狀態(tài)
–至少建立PCB,但進(jìn)程相關(guān)的其他內(nèi)容可能未調(diào)入主存退出狀態(tài)
–進(jìn)程已經(jīng)終止,但資源等待父進(jìn)程或系統(tǒng)回收事件已發(fā)生換入換出換入換出允許進(jìn)入直接換出就緒掛起阻塞掛起3.3進(jìn)程的描述與表達(dá)進(jìn)程七狀態(tài)變遷圖允許進(jìn)入就緒阻塞運(yùn)行進(jìn)程調(diào)度時(shí)間片用完事件已發(fā)生等待事件發(fā)生進(jìn)程狀態(tài)變化圖(七狀態(tài))新建退出完成/終止中斷返回掛起狀態(tài)
–引入主存←→外存的交換機(jī)制,虛擬存儲(chǔ)管理的基礎(chǔ)思考:必須換出先換誰(shuí)?允許換入先換誰(shuí)?3.3進(jìn)程的描述與表達(dá)對(duì)單個(gè)進(jìn)程,操作系統(tǒng)建立“進(jìn)程映像”進(jìn)行描述和表達(dá),必須包含3部分內(nèi)容:一段可執(zhí)行的程序(代碼)程序所需的相關(guān)數(shù)據(jù)(變量、
棧、堆、緩沖區(qū)等)程序執(zhí)行的上下文環(huán)境(PCB)對(duì)所有進(jìn)程的管理,操作系統(tǒng)建立特定數(shù)據(jù)結(jié)構(gòu):進(jìn)程索引表–進(jìn)程目錄進(jìn)程映像存儲(chǔ)區(qū)進(jìn)程鏈表隊(duì)列上下文數(shù)據(jù)程序(代碼)進(jìn)程A3.3.2進(jìn)程的數(shù)據(jù)結(jié)構(gòu)3.3進(jìn)程的描述與表達(dá)上下文數(shù)據(jù)程序(代碼)進(jìn)程A上下文數(shù)據(jù)程序(代碼)進(jìn)程Bbhij進(jìn)程表主存儲(chǔ)器bhi…其他寄存器基址寄存器界限寄存器程序計(jì)數(shù)器PC進(jìn)程索引處理器寄存器組典型的全局進(jìn)程數(shù)據(jù)結(jié)構(gòu)3.3進(jìn)程的描述與表達(dá)進(jìn)程控制塊PCB:程序執(zhí)行的上下文環(huán)境為了描述和控制進(jìn)程的運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)—進(jìn)程控制塊(PCB)系統(tǒng)創(chuàng)建一個(gè)進(jìn)程,就是由系統(tǒng)為某個(gè)程序(包含數(shù)據(jù)段)設(shè)置一個(gè)PCB;進(jìn)程執(zhí)行完成時(shí),由系統(tǒng)收回其PCB,該進(jìn)程便消亡了系統(tǒng)將根據(jù)PCB而感知進(jìn)程的存在,故PCB是進(jìn)程存在的唯一標(biāo)志通過(guò)PCB可以訪問(wèn)到進(jìn)程的所有信息3.3.3進(jìn)程控制塊PCBPCB–ProcessControlBlock,是一個(gè)線性的數(shù)據(jù)結(jié)構(gòu)
用來(lái)描述和記錄進(jìn)程的動(dòng)態(tài)變化信息,是進(jìn)程的靈魂3.3進(jìn)程的描述與表達(dá)進(jìn)程控制塊PCB的內(nèi)容:不同操作系統(tǒng)中,PCB的內(nèi)容不盡相同,但通常包括:(1)進(jìn)程標(biāo)識(shí)符-
確認(rèn)進(jìn)程的唯一標(biāo)識(shí)(PID)(2)進(jìn)程當(dāng)前狀態(tài)-
進(jìn)程調(diào)度程序分配處理機(jī)的依據(jù)(3)進(jìn)程隊(duì)列指針-
記錄PCB鏈表中下一個(gè)PCB的地址(4)程序地址范圍-
開(kāi)始地址與結(jié)束地址(地址空間)(5)進(jìn)程優(yōu)先級(jí)-
反映進(jìn)程要求CPU的緊迫程度(6)CPU現(xiàn)場(chǎng)保護(hù)區(qū)-
記錄讓出處理機(jī)時(shí)的CPU現(xiàn)場(chǎng)信息(7)通信信息-
記錄與其他的進(jìn)程的信息交換情況(8)家族聯(lián)系-
記錄父進(jìn)程的PID(9)占有資源清單-
打開(kāi)文件列表、所需資源及已分配資源清單3.4進(jìn)程操作進(jìn)程操作的職責(zé)是對(duì)進(jìn)程生命周期中的狀態(tài)變遷實(shí)施有效的管理進(jìn)程操作的主要功能包括:進(jìn)程的創(chuàng)建進(jìn)程的撤銷進(jìn)程的阻塞進(jìn)程的喚醒進(jìn)程掛起等屬于進(jìn)程調(diào)度的事情進(jìn)程操作功能一般是由操作系統(tǒng)的內(nèi)核來(lái)實(shí)現(xiàn)的進(jìn)程操作功能是通過(guò)執(zhí)行各種原語(yǔ)來(lái)實(shí)現(xiàn)的
原語(yǔ)是由若干條機(jī)器指令構(gòu)成的,用于完成某一特定功能的一段
程序原語(yǔ)在執(zhí)行期間不可分割,所以原語(yǔ)操作具有原子性3.4進(jìn)程操作3.4.1進(jìn)程創(chuàng)建
進(jìn)程創(chuàng)建是由創(chuàng)建原語(yǔ)實(shí)現(xiàn)的當(dāng)需要進(jìn)程時(shí),就可以建立一個(gè)新進(jìn)程被創(chuàng)建的進(jìn)程稱為子進(jìn)程,建立進(jìn)程的進(jìn)程稱為父進(jìn)程創(chuàng)建原語(yǔ)的主要功能是為被創(chuàng)建進(jìn)程形成一個(gè)PCB,并
填入相應(yīng)的初始值進(jìn)程創(chuàng)建主要操作過(guò)程:(1)先向系統(tǒng)申請(qǐng)一個(gè)空閑PCB結(jié)構(gòu);(2)再根據(jù)父進(jìn)程所提供的參數(shù)將子進(jìn)程的PCB初始化;(3)將此PCB插入就緒隊(duì)列(或就緒掛起/創(chuàng)建隊(duì)列);(4)最后返回一個(gè)進(jìn)程的標(biāo)識(shí)號(hào)。典型進(jìn)程創(chuàng)建系統(tǒng)調(diào)用fork()3.4進(jìn)程操作3.4.2進(jìn)程撤銷進(jìn)程撤銷是由撤銷原語(yǔ)實(shí)現(xiàn)的一個(gè)進(jìn)程在完成其任務(wù)后,應(yīng)予以撤銷,以便及時(shí)釋放
其所占用的各類資源撤銷操作可采用兩種撤銷策略:一種策略是只撤銷一個(gè)具有指定標(biāo)識(shí)符的進(jìn)程另一種策略是撤銷指定進(jìn)程及其子孫進(jìn)程3.4進(jìn)程操作3.4.2進(jìn)程撤銷進(jìn)程撤銷的主要操作過(guò)程:(1)先從PCB集合中找到被撤銷進(jìn)程的PCB;(2)若被撤銷進(jìn)程正處于運(yùn)行狀態(tài),則應(yīng)立即停止該進(jìn)程
的執(zhí)行,設(shè)置調(diào)度標(biāo)志,以便進(jìn)程撤銷后將處理機(jī)會(huì)
給其他進(jìn)程;(3)對(duì)后一種撤銷策略,若被撤銷進(jìn)程有子孫進(jìn)程,還應(yīng)
將該進(jìn)程的子孫進(jìn)程予以撤銷;(4)對(duì)于被撤銷進(jìn)程所占有的資源,或者歸還給父進(jìn)程,
或者歸還給系統(tǒng);(5)最后撤銷它的PCB典型進(jìn)程撤銷系統(tǒng)調(diào)用exit()3.4進(jìn)程操作3.4.3進(jìn)程阻塞與喚醒
阻塞原語(yǔ)的作用是將進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)為阻塞狀態(tài)喚醒原語(yǔ)的作用則是將進(jìn)程由阻塞狀態(tài)變?yōu)榫途w狀態(tài)阻塞操作阻塞一個(gè)進(jìn)程的過(guò)程:(1)由于該進(jìn)程正處于執(zhí)行狀態(tài),故應(yīng)先中斷處理機(jī)和保
存該進(jìn)程的CPU現(xiàn)場(chǎng);(2)然后將該進(jìn)程插入到等待該事件的隊(duì)列中;(3)再?gòu)木途w進(jìn)程隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行對(duì)處于阻塞狀態(tài)的進(jìn)程,當(dāng)該進(jìn)程期待的事件出現(xiàn)或
完成時(shí),由發(fā)現(xiàn)者進(jìn)程調(diào)用喚醒原語(yǔ)將阻塞進(jìn)程喚醒,使其進(jìn)入就緒狀態(tài)喚醒時(shí)機(jī)和喚醒者?典型進(jìn)程阻塞系統(tǒng)調(diào)用sleep()、wait()典型進(jìn)程喚醒系統(tǒng)調(diào)用wakeup()(P/V操作)3.4進(jìn)程操作3.4.3進(jìn)程阻塞與喚醒
注意:
(1)一個(gè)進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài),是該進(jìn)程自己
調(diào)用阻塞原語(yǔ)去完成的(2)而進(jìn)程由阻塞狀態(tài)到就緒狀態(tài),是另一個(gè)發(fā)現(xiàn)者進(jìn)程
調(diào)用喚醒原語(yǔ)實(shí)現(xiàn)的,一般這個(gè)發(fā)現(xiàn)者進(jìn)程與被喚醒
進(jìn)程是合作的并發(fā)進(jìn)程(通過(guò)使用信號(hào)量的P/V操作)Linuxfork()3.4進(jìn)程操作intmain()
{
pid_t
pid;
pid=fork();/*forkachildprocess*/
if(pid<0)/*erroroccurred*/
{printf("Forkfailed!\n");
exit(-1);
}
elseif(pid==0)/*childprocess*/
{
execlp("/bin/ls",“l(fā)s",NULL);
}
else/*parentprocess*/
{wait(NULL);/*watingthechildprocesstocomplete*/
printf("Thechildprocesscomplete!\n");
exit(0);
}
}3.5進(jìn)程調(diào)度3.5.1進(jìn)程隊(duì)列為了管理和調(diào)度進(jìn)程,操作系統(tǒng)將具有相同屬性或特征的進(jìn)程保存到隊(duì)列數(shù)據(jù)結(jié)構(gòu)中—進(jìn)程隊(duì)列進(jìn)程隊(duì)列通常以鏈表隊(duì)列形式實(shí)現(xiàn)進(jìn)程隊(duì)列的元素是PCB(Linux稱Task_struct)進(jìn)程隊(duì)列的分類:按進(jìn)程狀態(tài):就緒、阻塞、運(yùn)行、創(chuàng)建、終止按進(jìn)程等待的設(shè)備:磁盤、鍵盤按進(jìn)程等待的事件:鼠標(biāo)雙擊、鼠標(biāo)右鍵按進(jìn)程等待的信號(hào)量進(jìn)程鏈表隊(duì)列結(jié)構(gòu)運(yùn)行態(tài)就緒態(tài)阻塞態(tài)進(jìn)程控制塊…3.5進(jìn)程調(diào)度進(jìn)程隊(duì)列實(shí)現(xiàn)示意圖PCB1RegistersPCB6RegistersHeadTail磁盤等待隊(duì)列PCB4RegistersPCB8RegistersPCB7RegistersHeadTail就緒隊(duì)列3.5進(jìn)程調(diào)度3.5進(jìn)程調(diào)度單一的阻塞隊(duì)列允許進(jìn)入就緒隊(duì)列分派CPU釋放超時(shí)(時(shí)間片到)等待事件阻塞隊(duì)列事件發(fā)生3.5進(jìn)程調(diào)度多條阻塞隊(duì)列允許進(jìn)入就緒隊(duì)列分派CPU釋放超時(shí)(時(shí)間片到)事件1等待事件1隊(duì)列事件1發(fā)生事件2等待事件2隊(duì)列事件2發(fā)生事件n等待事件n隊(duì)列事件n發(fā)生···3.5進(jìn)程調(diào)度3.5.2調(diào)度程序調(diào)度種類:長(zhǎng)期調(diào)度程序(作業(yè)調(diào)度程序):
從磁盤緩沖池中選擇進(jìn)程;中期調(diào)度程序:
內(nèi)外存“交換”進(jìn)程短期調(diào)度程序(CPU調(diào)度程序):
選擇就緒態(tài)的進(jìn)程并為其分配CPU調(diào)度情況1:因等待某些事件而讓出CPUsum(等待文件輸出)(等待文件輸出)PCB1RegistersPCB6RegistersHeadTail磁盤等待隊(duì)列PCB4RegistersPCB8RegistersPCB7RegistersHeadTail就緒隊(duì)列物理CPUPCB6RegistersPCB4Registers3.5進(jìn)程調(diào)度PCB4RegistersPCB8RegistersPCB7RegistersHeadTail就緒隊(duì)列物理CPUPCB7RegistersPCB4Registers調(diào)度情況2:規(guī)定的時(shí)間片到了
調(diào)度情況3:出現(xiàn)了優(yōu)先級(jí)更高的進(jìn)程3.5進(jìn)程調(diào)度PCB4RegistersPCB8RegistersPCB7RegistersHeadTail就緒隊(duì)列物理CPUPCB7RegistersPCB4Registers調(diào)度情況4:進(jìn)程的任務(wù)完成了,自動(dòng)終止退出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)制帽市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)凹凸棒石十三五行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資建議分析報(bào)告
- 2025年上外版高三數(shù)學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2025-2030年中國(guó)亞麻油市場(chǎng)競(jìng)爭(zhēng)狀況及投資趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)PET熱收縮膜行業(yè)發(fā)展?fàn)顩r及投資前景規(guī)劃研究報(bào)告
- 2025年滬科版七年級(jí)生物下冊(cè)月考試卷含答案
- 2024年鄭州電力高等專科學(xué)校高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2025年滬教新版高三物理上冊(cè)月考試卷含答案
- 專業(yè)貨車司機(jī)聘用協(xié)議(2024年度)版B版
- 2025年北師大新版七年級(jí)化學(xué)上冊(cè)月考試卷
- 分期還款協(xié)議書
- 小區(qū)住戶手冊(cè)范本
- 海康威視-視頻監(jiān)控原理培訓(xùn)教材課件
- 《鄭伯克段于鄢》-完整版課件
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請(qǐng)表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊(cè)
- 8小時(shí)等效A聲級(jí)計(jì)算工具
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題300道
評(píng)論
0/150
提交評(píng)論