




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目的與要求:理解作業(yè)、進(jìn)程和線程的理解作業(yè)、進(jìn)程和線程的概念概念, ,掌握進(jìn)程在系統(tǒng)中的表示方法掌握進(jìn)程在系統(tǒng)中的表示方法, ,理理解進(jìn)程的創(chuàng)建及其狀態(tài)變化理解進(jìn)程切解進(jìn)程的創(chuàng)建及其狀態(tài)變化理解進(jìn)程切換過(guò)程,理解進(jìn)程調(diào)度原因及調(diào)度切換換過(guò)程,理解進(jìn)程調(diào)度原因及調(diào)度切換時(shí)機(jī),掌握進(jìn)程調(diào)度方式與實(shí)現(xiàn)及各種時(shí)機(jī),掌握進(jìn)程調(diào)度方式與實(shí)現(xiàn)及各種調(diào)度算法,弄清作業(yè)和進(jìn)程的關(guān)系,了調(diào)度算法,弄清作業(yè)和進(jìn)程的關(guān)系,了解線程的引入原因。解線程的引入原因。重點(diǎn)與難點(diǎn):進(jìn)程表示與進(jìn)程創(chuàng)建進(jìn)程表示與進(jìn)程創(chuàng)建, ,狀態(tài)轉(zhuǎn)換。進(jìn)程切換的實(shí)現(xiàn)與進(jìn)程狀態(tài)轉(zhuǎn)換。進(jìn)程切換的實(shí)現(xiàn)與進(jìn)程調(diào)度算法。調(diào)度算法。主要內(nèi)容主要內(nèi)容(1 1)
2、作業(yè)的基本)作業(yè)的基本概念與狀態(tài)概念與狀態(tài)(2 2)進(jìn)程與狀態(tài))進(jìn)程與狀態(tài) 進(jìn)程的創(chuàng)建與結(jié)束;進(jìn)程的創(chuàng)建與結(jié)束; 進(jìn)程狀態(tài)變化模型;進(jìn)程狀態(tài)變化模型; 進(jìn)程掛起。進(jìn)程掛起。進(jìn)程描述進(jìn)程描述 進(jìn)程定義;進(jìn)程定義; 進(jìn)程控制結(jié)構(gòu)。進(jìn)程控制結(jié)構(gòu)。主要內(nèi)容主要內(nèi)容(3 3)處理機(jī)調(diào)度)處理機(jī)調(diào)度: : 進(jìn)程執(zhí)行;進(jìn)程執(zhí)行; 進(jìn)程調(diào)度;進(jìn)程調(diào)度; 調(diào)度算法。調(diào)度算法。進(jìn)程與程序的關(guān)系進(jìn)程與程序的關(guān)系作業(yè)與進(jìn)程關(guān)系作業(yè)與進(jìn)程關(guān)系線程的引入線程的引入線程與進(jìn)程的關(guān)系線程與進(jìn)程的關(guān)系 2.1 2.1 作業(yè)管理作業(yè)管理一、作業(yè)的基本概念一、作業(yè)的基本概念(1 1)作業(yè):用戶的一次上機(jī)行為。)作業(yè):用戶的一次上機(jī)
3、行為。(2 2)作業(yè)步:作業(yè)的執(zhí)行步驟。)作業(yè)步:作業(yè)的執(zhí)行步驟。(3 3)作業(yè)控制語(yǔ)言:用于說(shuō)明作業(yè)如何)作業(yè)控制語(yǔ)言:用于說(shuō)明作業(yè)如何執(zhí)行的語(yǔ)言。執(zhí)行的語(yǔ)言。(4 4)作業(yè)控制說(shuō)明書:用作業(yè)控制語(yǔ)言)作業(yè)控制說(shuō)明書:用作業(yè)控制語(yǔ)言編寫的作業(yè)執(zhí)行程序。編寫的作業(yè)執(zhí)行程序。(5 5)作業(yè)流:一次有一批作業(yè)進(jìn)入系統(tǒng),)作業(yè)流:一次有一批作業(yè)進(jìn)入系統(tǒng),并在操作系統(tǒng)控制下,一個(gè)接一個(gè)地進(jìn)行并在操作系統(tǒng)控制下,一個(gè)接一個(gè)地進(jìn)行處理,稱之為作業(yè)流。處理,稱之為作業(yè)流。 2.1 2.1 作業(yè)管理作業(yè)管理二、作業(yè)的基本類型二、作業(yè)的基本類型(1 1)批處理作業(yè):在批處理系統(tǒng)上運(yùn)行批處理作業(yè):在批處理系統(tǒng)上運(yùn)
4、行的作業(yè),叫批處理作業(yè);的作業(yè),叫批處理作業(yè);(2 2)交互式作業(yè):在交互式系統(tǒng)上運(yùn)行)交互式作業(yè):在交互式系統(tǒng)上運(yùn)行的作業(yè),稱為交互式作業(yè)。的作業(yè),稱為交互式作業(yè)。$END$END$RUN$RUN$LOAD$LOAD$FORTRAN$FORTRAN$JOB,JOBNAME=$JOB,JOBNAME=程序處理數(shù)程序處理數(shù)據(jù)據(jù)FORTRANFORTRAN程程序語(yǔ)句序語(yǔ)句典型的卡片作業(yè)舉例典型的卡片作業(yè)舉例 2.1 2.1 作業(yè)管理作業(yè)管理三、作業(yè)管理的基本功能三、作業(yè)管理的基本功能作業(yè)管理的基本功能是:作業(yè)調(diào)度和作業(yè)管理的基本功能是:作業(yè)調(diào)度和作業(yè)控制。作業(yè)控制。(1 1)作業(yè)調(diào)度)作業(yè)調(diào)度 在
5、多道程序設(shè)計(jì)系統(tǒng)中,系統(tǒng)可以同在多道程序設(shè)計(jì)系統(tǒng)中,系統(tǒng)可以同時(shí)處理多個(gè)作業(yè),系統(tǒng)要在許多作業(yè)中按時(shí)處理多個(gè)作業(yè),系統(tǒng)要在許多作業(yè)中按一定策略選取若干個(gè)作業(yè),為它們分配必一定策略選取若干個(gè)作業(yè),為它們分配必要的資源,讓它們能夠同時(shí)執(zhí)行,這就是要的資源,讓它們能夠同時(shí)執(zhí)行,這就是作業(yè)調(diào)度。被作業(yè)調(diào)度選中的作業(yè)在執(zhí)行作業(yè)調(diào)度。被作業(yè)調(diào)度選中的作業(yè)在執(zhí)行時(shí)可共享系統(tǒng)資源。時(shí)可共享系統(tǒng)資源。2.1 2.1 作業(yè)管理作業(yè)管理三、作業(yè)管理的基本功能三、作業(yè)管理的基本功能(2 2)作業(yè)控制)作業(yè)控制 作業(yè)控制負(fù)責(zé)控制作業(yè)的輸入、執(zhí)行、作業(yè)控制負(fù)責(zé)控制作業(yè)的輸入、執(zhí)行、輸出、故障處理等。輸出、故障處理等。 作
6、業(yè)控制是用戶與操作系統(tǒng)之間的一作業(yè)控制是用戶與操作系統(tǒng)之間的一種接口。種接口。 根據(jù)作業(yè)類型的不同,有兩種作業(yè)控根據(jù)作業(yè)類型的不同,有兩種作業(yè)控制方式:脫機(jī)作業(yè)控制方式和聯(lián)機(jī)作業(yè)控制方式:脫機(jī)作業(yè)控制方式和聯(lián)機(jī)作業(yè)控制方式。制方式。脫機(jī)作業(yè)控制方式舉例脫機(jī)作業(yè)控制方式舉例四、作業(yè)控制過(guò)程 回顧第回顧第1 1章程序(作業(yè))從提交到裝入章程序(作業(yè))從提交到裝入內(nèi)存的過(guò)程:內(nèi)存的過(guò)程:四、作業(yè)控制過(guò)程 如圖如圖2-12-1所示,用戶用所示,用戶用c c語(yǔ)言編制了一個(gè)計(jì)算語(yǔ)言編制了一個(gè)計(jì)算程序程序( (作業(yè)作業(yè)) ),要完成計(jì)算并且得到計(jì)算結(jié)果,要完成計(jì)算并且得到計(jì)算結(jié)果,一般要經(jīng)過(guò)若干步驟。一般要
7、經(jīng)過(guò)若干步驟。2.2 2.2 作業(yè)狀態(tài)與作業(yè)描述作業(yè)狀態(tài)與作業(yè)描述2.2.1 2.2.1 作業(yè)狀態(tài)作業(yè)狀態(tài)通常,作業(yè)狀態(tài)分為通常,作業(yè)狀態(tài)分為提交、后備、執(zhí)提交、后備、執(zhí)行和完成行和完成4 4種。種。提交狀態(tài)。用戶向系統(tǒng)提交一個(gè)作業(yè)提交狀態(tài)。用戶向系統(tǒng)提交一個(gè)作業(yè)時(shí),該作業(yè)所處的狀況。時(shí),該作業(yè)所處的狀況。如將一套作業(yè)卡片交給機(jī)房管理員,如將一套作業(yè)卡片交給機(jī)房管理員,由管理員將它們放到讀卡機(jī)上讀入;由管理員將它們放到讀卡機(jī)上讀入;或者用戶通過(guò)鍵盤向機(jī)器輸入其作業(yè)?;蛘哂脩敉ㄟ^(guò)鍵盤向機(jī)器輸入其作業(yè)。后備狀態(tài)。后備狀態(tài)。用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機(jī))用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機(jī))送入輸入井(磁盤
8、)中存放,等待送入輸入井(磁盤)中存放,等待進(jìn)入內(nèi)存時(shí)所處的狀況。此時(shí),該進(jìn)入內(nèi)存時(shí)所處的狀況。此時(shí),該作業(yè)的數(shù)據(jù)已經(jīng)轉(zhuǎn)換成內(nèi)部的機(jī)器作業(yè)的數(shù)據(jù)已經(jīng)轉(zhuǎn)換成內(nèi)部的機(jī)器可讀的形式,并且作業(yè)請(qǐng)求資源等可讀的形式,并且作業(yè)請(qǐng)求資源等信息也交給了操作系統(tǒng)。信息也交給了操作系統(tǒng)。執(zhí)行狀態(tài)。執(zhí)行狀態(tài)。作業(yè)分配到所需的資源,被調(diào)入內(nèi)存,且在作業(yè)分配到所需的資源,被調(diào)入內(nèi)存,且在處理機(jī)(處理機(jī)(CPU)上執(zhí)行相應(yīng)的程序時(shí)所處的)上執(zhí)行相應(yīng)的程序時(shí)所處的狀況。此時(shí),該作業(yè)真正處于活動(dòng)狀況。狀況。此時(shí),該作業(yè)真正處于活動(dòng)狀況。注:當(dāng)作業(yè)處于執(zhí)行狀態(tài)時(shí)是以進(jìn)程的方式參與注:當(dāng)作業(yè)處于執(zhí)行狀態(tài)時(shí)是以進(jìn)程的方式參與運(yùn)行。
9、(回顧第運(yùn)行。(回顧第1章的處理機(jī)管理圖示)章的處理機(jī)管理圖示)完成狀態(tài)。完成狀態(tài)。作業(yè)完成計(jì)算任務(wù),結(jié)果由打印機(jī)作業(yè)完成計(jì)算任務(wù),結(jié)果由打印機(jī)輸出,最后由系統(tǒng)回收分配給它的全輸出,最后由系統(tǒng)回收分配給它的全部資源,準(zhǔn)備退出系統(tǒng)時(shí)的作業(yè)狀況。部資源,準(zhǔn)備退出系統(tǒng)時(shí)的作業(yè)狀況。2.2.2 2.2.2 作業(yè)描述作業(yè)描述1 1作業(yè)控制塊作業(yè)控制塊JCBJCB 為了管理和調(diào)度作業(yè),系統(tǒng)為每個(gè)作為了管理和調(diào)度作業(yè),系統(tǒng)為每個(gè)作業(yè)設(shè)置了一個(gè)作業(yè)控制塊業(yè)設(shè)置了一個(gè)作業(yè)控制塊JCBJCB,它記錄,它記錄該作業(yè)的有關(guān)信息。不同系統(tǒng)的該作業(yè)的有關(guān)信息。不同系統(tǒng)的JCBJCB的的組成內(nèi)容有所區(qū)別,下圖給出了作業(yè)控組
10、成內(nèi)容有所區(qū)別,下圖給出了作業(yè)控制塊制塊JCBJCB的主要內(nèi)容。的主要內(nèi)容。2.3 2.3 進(jìn)程的引入進(jìn)程的引入 進(jìn)程是為多道程序并發(fā)執(zhí)行而引入的。進(jìn)程是為多道程序并發(fā)執(zhí)行而引入的。一、程序的順序執(zhí)行與并發(fā)執(zhí)行一、程序的順序執(zhí)行與并發(fā)執(zhí)行1 1、程序順序執(zhí)行的例子、程序順序執(zhí)行的例子把一個(gè)程序按照把一個(gè)程序按照cycle input, process, cycle input, process, output endoutput end來(lái)編制。如用來(lái)編制。如用I I表示輸入,用表示輸入,用C C表示表示處理或計(jì)算,用處理或計(jì)算,用P P表示輸出。則程序順序執(zhí)行可表示輸出。則程序順序執(zhí)行可用如下
11、前趨圖表示:用如下前趨圖表示:2 2、程序并發(fā)執(zhí)行的例子、程序并發(fā)執(zhí)行的例子如:把上述問(wèn)題的程序分成三部分:如:把上述問(wèn)題的程序分成三部分:輸入模塊輸入模塊I I:cycle inputcycle input,send endsend end計(jì)算計(jì)算( (處理處理) )模塊模塊C C:cycle receivecycle receive,processprocess,send endsend end輸出模塊輸出模塊P P:cycle receivecycle receive,output endoutput end然后使這三個(gè)程序模塊并發(fā)執(zhí)行。下圖示:然后使這三個(gè)程序模塊并發(fā)執(zhí)行。下圖示:程序
12、并發(fā)執(zhí)行時(shí)的前趨圖:程序并發(fā)執(zhí)行時(shí)的前趨圖:在該例中,存在以下前趨關(guān)系:在該例中,存在以下前趨關(guān)系:I Ii iCCi i, I, Ii iIIi+1i+1, C, Ci iPPi i, C, Ci iCCi+1i+1 ,P ,Pi iPPi+1i+1而而I Ii+1,i+1,C Ci i及及P Pi-1i-1是重疊的。亦即是重疊的。亦即I Ii+1,i+1,C Ci i以以及及P Pi-1i-1可可以并發(fā)執(zhí)行。以并發(fā)執(zhí)行。二、程序順序執(zhí)行與并發(fā)執(zhí)行的特征比二、程序順序執(zhí)行與并發(fā)執(zhí)行的特征比較較1 1、順序程序活動(dòng)的四個(gè)特征、順序程序活動(dòng)的四個(gè)特征(1 1)順序性)順序性程序所規(guī)定的每個(gè)動(dòng)作都
13、在上一個(gè)動(dòng)程序所規(guī)定的每個(gè)動(dòng)作都在上一個(gè)動(dòng)作結(jié)束后才開始。作結(jié)束后才開始。(2 2)封閉性)封閉性程序在運(yùn)行時(shí),獨(dú)占全機(jī)資源,因而程序在運(yùn)行時(shí),獨(dú)占全機(jī)資源,因而機(jī)內(nèi)各資源的狀態(tài)(除初始狀態(tài)外)機(jī)內(nèi)各資源的狀態(tài)(除初始狀態(tài)外)只有本程序才能改變它。只有本程序才能改變它。(3 3)可再現(xiàn)性)可再現(xiàn)性當(dāng)機(jī)器在同一數(shù)據(jù)集上重復(fù)執(zhí)行同當(dāng)機(jī)器在同一數(shù)據(jù)集上重復(fù)執(zhí)行同一程序時(shí),每次執(zhí)行結(jié)果相同。即一程序時(shí),每次執(zhí)行結(jié)果相同。即程序的執(zhí)行結(jié)果與執(zhí)行速度無(wú)關(guān)。程序的執(zhí)行結(jié)果與執(zhí)行速度無(wú)關(guān)。(4 4)確定性。)確定性。程序無(wú)論從頭至尾不停地運(yùn)行還是程序無(wú)論從頭至尾不停地運(yùn)行還是“停停走走停停走走”地執(zhí)行,都不會(huì)
14、影響地執(zhí)行,都不會(huì)影響最終結(jié)果。最終結(jié)果。2 2、程序并發(fā)執(zhí)行時(shí)的特征、程序并發(fā)執(zhí)行時(shí)的特征(1 1)程序執(zhí)行的間斷性)程序執(zhí)行的間斷性 并發(fā)程序之間存在的相互合作形并發(fā)程序之間存在的相互合作形成了相互制約關(guān)系。這導(dǎo)致并發(fā)程序成了相互制約關(guān)系。這導(dǎo)致并發(fā)程序具有具有“執(zhí)行執(zhí)行暫停執(zhí)行暫停執(zhí)行執(zhí)行執(zhí)行”這種這種間斷性的活動(dòng)規(guī)律。如:間斷性的活動(dòng)規(guī)律。如:CPUCPU處理完處理完C1C1等待等待I I2 2。進(jìn)程概念的引入進(jìn)程概念的引入程序暫停時(shí),操作系統(tǒng)必須記住暫停程序暫停時(shí),操作系統(tǒng)必須記住暫停執(zhí)行程序的狀態(tài)(即斷點(diǎn)),以便得執(zhí)行程序的狀態(tài)(即斷點(diǎn)),以便得到運(yùn)行時(shí)從斷點(diǎn)開始繼續(xù)往下執(zhí)行。到運(yùn)
15、行時(shí)從斷點(diǎn)開始繼續(xù)往下執(zhí)行。這種程序暫停執(zhí)行的狀態(tài)就叫這種程序暫停執(zhí)行的狀態(tài)就叫進(jìn)程。進(jìn)程。2 2、程序并發(fā)執(zhí)行時(shí)的特征、程序并發(fā)執(zhí)行時(shí)的特征(2 2)程序執(zhí)行失去封閉性)程序執(zhí)行失去封閉性 并發(fā)執(zhí)行的多個(gè)程序共享系統(tǒng)中的資源,并發(fā)執(zhí)行的多個(gè)程序共享系統(tǒng)中的資源,因而這些資源的狀態(tài)不再僅由某一個(gè)程序所因而這些資源的狀態(tài)不再僅由某一個(gè)程序所決定,而是受到并發(fā)程序的共同影響。如下決定,而是受到并發(fā)程序的共同影響。如下圖,設(shè)備資源的狀態(tài)由三個(gè)程序決定。圖,設(shè)備資源的狀態(tài)由三個(gè)程序決定。I I程序占用輸入設(shè)備程序占用輸入設(shè)備C C程序占用程序占用CPUCPU設(shè)備設(shè)備P P程序占用輸出設(shè)備程序占用輸出設(shè)
16、備2 2、程序并發(fā)執(zhí)行時(shí)的特征、程序并發(fā)執(zhí)行時(shí)的特征(3 3)程序執(zhí)行結(jié)果的不可再現(xiàn)性)程序執(zhí)行結(jié)果的不可再現(xiàn)性計(jì)算結(jié)果與執(zhí)行的速度有關(guān),從而失去了計(jì)算結(jié)果與執(zhí)行的速度有關(guān),從而失去了可再現(xiàn)性。如對(duì)共享變量的使用。例,有可再現(xiàn)性。如對(duì)共享變量的使用。例,有2 2個(gè)循環(huán)程序個(gè)循環(huán)程序A A和和B B,它們共享一個(gè)變量,它們共享一個(gè)變量n n。程序程序A: n+A: n+; / /* * n=n+1 n=n+1 程序程序B: coutn; /B: coutn; /* * 輸出輸出n n的值的值 n=0;n=0; / /* * 變量變量n n清清0 0 程序程序A A和和B B以不同的速度運(yùn)行。執(zhí)行
17、順序可能以不同的速度運(yùn)行。執(zhí)行順序可能出現(xiàn)下述出現(xiàn)下述3 3種情況(假定某時(shí)刻變量種情況(假定某時(shí)刻變量n n的值為的值為100). 100). OSOS選擇執(zhí)行程序選擇執(zhí)行程序A A完成后再執(zhí)行程序完成后再執(zhí)行程序B BA A:n+n+; B B:coutncoutn; B B:n=0n=0;此時(shí)得到的此時(shí)得到的n n值分別為值分別為101101,101101,0 0。OSOS選擇執(zhí)行程序選擇執(zhí)行程序B B完成后再執(zhí)行程序完成后再執(zhí)行程序A AB B:coutncoutn;B B:n=0n=0;A A:n+;n+;此時(shí)得到的此時(shí)得到的n n值分別為值分別為100, 0, 1100, 0, 1
18、 OSOS選擇先執(zhí)行程序選擇先執(zhí)行程序B B的一個(gè)語(yǔ)句后,的一個(gè)語(yǔ)句后,再執(zhí)行程序再執(zhí)行程序A A的一個(gè)語(yǔ)句,最后執(zhí)行程序的一個(gè)語(yǔ)句,最后執(zhí)行程序B B的第二個(gè)語(yǔ)句。的第二個(gè)語(yǔ)句。 B B:coutn;coutn; A A:n+;n+; B B:n=0;n=0;此時(shí)得到的此時(shí)得到的n n值分別為值分別為100, 101100, 101,0 0。由此可見:程序由此可見:程序A A和程序和程序B B同時(shí)提交系同時(shí)提交系統(tǒng)并發(fā)執(zhí)行后,第二次執(zhí)行的結(jié)果可統(tǒng)并發(fā)執(zhí)行后,第二次執(zhí)行的結(jié)果可能與第一次的結(jié)果會(huì)不一致。即程序能與第一次的結(jié)果會(huì)不一致。即程序執(zhí)行失失了可再現(xiàn)性。執(zhí)行失失了可再現(xiàn)性。2 2、程序并
19、發(fā)執(zhí)行時(shí)的特征、程序并發(fā)執(zhí)行時(shí)的特征(4 4)資源共享)資源共享系統(tǒng)中的硬件資源系統(tǒng)中的硬件資源(CPU,(CPU,內(nèi)存和內(nèi)存和I/OI/O設(shè)設(shè)備等)和軟件資源(系統(tǒng)程序和數(shù)據(jù)集備等)和軟件資源(系統(tǒng)程序和數(shù)據(jù)集等)不再被單個(gè)用戶或程序獨(dú)占,而為等)不再被單個(gè)用戶或程序獨(dú)占,而為多個(gè)用戶或程序共同使用。多個(gè)用戶或程序共同使用。I I程序占用輸入設(shè)備程序占用輸入設(shè)備C C程序占用程序占用CPUCPU設(shè)備設(shè)備P P程序占用輸出設(shè)備程序占用輸出設(shè)備2 2、程序并發(fā)執(zhí)行時(shí)的特征、程序并發(fā)執(zhí)行時(shí)的特征(5 5)程序與計(jì)算不再一一對(duì)應(yīng)。)程序與計(jì)算不再一一對(duì)應(yīng)。一個(gè)共享程序可被多個(gè)用戶作業(yè)調(diào)用,一個(gè)共享程
20、序可被多個(gè)用戶作業(yè)調(diào)用,從個(gè)形成了多個(gè)從個(gè)形成了多個(gè)“計(jì)算計(jì)算”。程序是靜態(tài)。程序是靜態(tài)的,的,“計(jì)算計(jì)算”是動(dòng)態(tài)的。是動(dòng)態(tài)的。例:在多道程序設(shè)計(jì)的系統(tǒng)里,例:在多道程序設(shè)計(jì)的系統(tǒng)里,“可再可再入入”程序可以對(duì)應(yīng)多個(gè)計(jì)算。程序可以對(duì)應(yīng)多個(gè)計(jì)算。 “可再入可再入”程序:程序:是指能被多個(gè)程序是指能被多個(gè)程序同時(shí)調(diào)用的程序。如編輯程序,編譯程同時(shí)調(diào)用的程序。如編輯程序,編譯程序,匯編程序等。序,匯編程序等。編譯程編譯程序序P P源源程程序序乙乙B BA A編譯程編譯程序序P P源源程程序序甲甲A AB B上例中,一個(gè)編譯程序?qū)?yīng)了兩個(gè)上例中,一個(gè)編譯程序?qū)?yīng)了兩個(gè)“計(jì)計(jì)算算”,兩個(gè)斷點(diǎn)。,兩個(gè)斷點(diǎn)
21、。如:一個(gè)編譯程序副本往往為幾個(gè)用戶同時(shí)服如:一個(gè)編譯程序副本往往為幾個(gè)用戶同時(shí)服務(wù),該編譯程序便對(duì)應(yīng)了幾個(gè)務(wù),該編譯程序便對(duì)應(yīng)了幾個(gè)“計(jì)算計(jì)算”。2.4 2.4 進(jìn)程概念進(jìn)程概念在多道程序設(shè)計(jì)中,程序的執(zhí)行出在多道程序設(shè)計(jì)中,程序的執(zhí)行出現(xiàn)現(xiàn)“走走停停走走停停”的新狀態(tài),我們把程的新狀態(tài),我們把程序執(zhí)行的每一個(gè)新狀態(tài)稱作一個(gè)進(jìn)程。序執(zhí)行的每一個(gè)新狀態(tài)稱作一個(gè)進(jìn)程。進(jìn)程甲進(jìn)程甲進(jìn)程乙進(jìn)程乙編譯程編譯程序序P P源源程程序序乙乙B BA A編譯程編譯程序序P P源源程程序序甲甲A AB B叫什么?叫什么?叫什么?叫什么?進(jìn)程理解例:進(jìn)程理解例:“程序執(zhí)行的每一個(gè)新狀程序執(zhí)行的每一個(gè)新狀態(tài)稱作一個(gè)
22、進(jìn)程態(tài)稱作一個(gè)進(jìn)程”。日常生活中進(jìn)程的例子:按菜譜炒菜日常生活中進(jìn)程的例子:按菜譜炒菜銀耳香菇棗湯銀耳香菇棗湯原料:銀耳原料:銀耳1515克,冬菇仔克,冬菇仔2525克,大粒花克,大?;ㄉ?、蜜棗各生、蜜棗各6 6個(gè),花生油、鹽、水各適量。個(gè),花生油、鹽、水各適量。制作步驟:制作步驟: 花生用滾水濾過(guò),去衣,放在鍋花生用滾水濾過(guò),去衣,放在鍋內(nèi),注入大半鍋水,再加入蜜棗先行煎內(nèi),注入大半鍋水,再加入蜜棗先行煎煮。煮。 銀耳浸開,切去硬蒂,洗凈,冬銀耳浸開,切去硬蒂,洗凈,冬菇仔浸軟,去蒂,洗凈。菇仔浸軟,去蒂,洗凈。 花生、蜜棗燉花生、蜜棗燉9090分鐘后,待花生分鐘后,待花生酥時(shí),加入銀耳、冬
23、菇仔,并加入小半酥時(shí),加入銀耳、冬菇仔,并加入小半茶匙花生油同煮。茶匙花生油同煮。 4040分鐘后,用適量鹽調(diào)味即成。分鐘后,用適量鹽調(diào)味即成。 特點(diǎn):色美,味甜,富有營(yíng)養(yǎng)。特點(diǎn):色美,味甜,富有營(yíng)養(yǎng)。半成品半成品進(jìn)程進(jìn)程1 1半成品半成品進(jìn)程進(jìn)程2 2半成品半成品進(jìn)程進(jìn)程3 3成品成品進(jìn)程結(jié)束進(jìn)程結(jié)束成品成品資源資源程序程序計(jì)算機(jī)中多個(gè)進(jìn)程執(zhí)行軌跡示例。計(jì)算機(jī)中多個(gè)進(jìn)程執(zhí)行軌跡示例。下圖下圖2.12.1顯示在內(nèi)存中有顯示在內(nèi)存中有3 3個(gè)進(jìn)程。為簡(jiǎn)個(gè)進(jìn)程。為簡(jiǎn)化討論,我們假設(shè)沒(méi)有用到虛擬存儲(chǔ)器,所化討論,我們假設(shè)沒(méi)有用到虛擬存儲(chǔ)器,所有有3 3個(gè)進(jìn)程全部都存儲(chǔ)在內(nèi)存中。另外,還有個(gè)進(jìn)程全部都
24、存儲(chǔ)在內(nèi)存中。另外,還有一個(gè)分派程序一個(gè)分派程序(Dispatcher Program)(Dispatcher Program)負(fù)責(zé)把負(fù)責(zé)把處理器分配給進(jìn)程。圖處理器分配給進(jìn)程。圖2.22.2列舉了列舉了3 3個(gè)獨(dú)立進(jìn)個(gè)獨(dú)立進(jìn)程開始的一部分指令,其中,程開始的一部分指令,其中,為進(jìn)程為進(jìn)程A A的起的起始地址;始地址;為進(jìn)程為進(jìn)程B B的起始地址;的起始地址;進(jìn)程進(jìn)程C C的的起始地址。分別有進(jìn)程起始地址。分別有進(jìn)程A A和和C C開始的開始的1212條指令,條指令,以及進(jìn)程以及進(jìn)程B B的的4 4條指令,并假設(shè)進(jìn)程條指令,并假設(shè)進(jìn)程B B的第的第4 4條條指令包括指令包括I/OI/O操作,一
25、個(gè)操作,一個(gè)CPUCPU時(shí)間片能執(zhí)行用時(shí)間片能執(zhí)行用戶進(jìn)程的戶進(jìn)程的6 6條指令。條指令。下圖是下圖是3 3個(gè)進(jìn)程混合執(zhí)行后的運(yùn)行個(gè)進(jìn)程混合執(zhí)行后的運(yùn)行軌跡,您能解釋這個(gè)實(shí)驗(yàn)結(jié)果嗎?軌跡,您能解釋這個(gè)實(shí)驗(yàn)結(jié)果嗎?問(wèn)題2:從以上3個(gè)進(jìn)程混合執(zhí)行軌跡,你發(fā)現(xiàn)了什么?進(jìn)程的基本特征進(jìn)程的基本特征(1 1)動(dòng)態(tài)性)動(dòng)態(tài)性 進(jìn)程是程序的執(zhí)行過(guò)程,它有生進(jìn)程是程序的執(zhí)行過(guò)程,它有生有亡,有活動(dòng)有停頓,可以處于不同有亡,有活動(dòng)有停頓,可以處于不同的狀態(tài)。的狀態(tài)。(2 2)并發(fā)性)并發(fā)性 多個(gè)進(jìn)程的實(shí)體能存在于同一內(nèi)多個(gè)進(jìn)程的實(shí)體能存在于同一內(nèi)存中,在一段時(shí)間內(nèi)都得到運(yùn)行。這存中,在一段時(shí)間內(nèi)都得到運(yùn)行。這樣
26、就使得一個(gè)進(jìn)程的程序與其它進(jìn)程樣就使得一個(gè)進(jìn)程的程序與其它進(jìn)程的程序并發(fā)執(zhí)行了。的程序并發(fā)執(zhí)行了。 (3 3)獨(dú)立性)獨(dú)立性進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)中獨(dú)立獲得資源和位,同時(shí)也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位。凡末建立進(jìn)程獨(dú)立調(diào)度的基本單位。凡末建立進(jìn)程的程序都不能作為一個(gè)獨(dú)立的單位參的程序都不能作為一個(gè)獨(dú)立的單位參加運(yùn)行。加運(yùn)行。(4 4)異步性)異步性 這是指進(jìn)程按各自獨(dú)立的、不可預(yù)知這是指進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn),或者說(shuō),進(jìn)程按異的速度向前推進(jìn),或者說(shuō),進(jìn)程按異步方式運(yùn)行。這一特征將導(dǎo)致程序執(zhí)步方式運(yùn)行。這一特
27、征將導(dǎo)致程序執(zhí)行的不可再現(xiàn)性。行的不可再現(xiàn)性。(5)結(jié)構(gòu)性)結(jié)構(gòu)性 從結(jié)構(gòu)上看,進(jìn)程實(shí)體是由程序段、從結(jié)構(gòu)上看,進(jìn)程實(shí)體是由程序段、數(shù)據(jù)段及進(jìn)程控制塊數(shù)據(jù)段及進(jìn)程控制塊3部分組成,有人部分組成,有人把這把這3部分統(tǒng)稱為部分統(tǒng)稱為“進(jìn)程映像進(jìn)程映像”進(jìn)程和程序的區(qū)別是什么進(jìn)程和程序的區(qū)別是什么? (1 1)程序是靜態(tài)概念,本身可以作為)程序是靜態(tài)概念,本身可以作為一種軟件資源保存;而進(jìn)程是程序的一一種軟件資源保存;而進(jìn)程是程序的一次執(zhí)行過(guò)程,是動(dòng)態(tài)概念,它有一定的次執(zhí)行過(guò)程,是動(dòng)態(tài)概念,它有一定的生命期,是動(dòng)態(tài)地產(chǎn)生和消亡的。生命期,是動(dòng)態(tài)地產(chǎn)生和消亡的。 (2 2)進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,
28、)進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,能與其他進(jìn)程并發(fā)執(zhí)行,進(jìn)程是作為資能與其他進(jìn)程并發(fā)執(zhí)行,進(jìn)程是作為資源申請(qǐng)和調(diào)度單位存在的;而通常的程源申請(qǐng)和調(diào)度單位存在的;而通常的程序段不能作為一個(gè)獨(dú)立運(yùn)行的單位。序段不能作為一個(gè)獨(dú)立運(yùn)行的單位。 (3 3)程序和進(jìn)程無(wú)一一對(duì)應(yīng)關(guān)系。一)程序和進(jìn)程無(wú)一一對(duì)應(yīng)關(guān)系。一方面一個(gè)程序可由多個(gè)進(jìn)程共用;另方面一個(gè)程序可由多個(gè)進(jìn)程共用;另一方面,一個(gè)進(jìn)程在活動(dòng)中又可順序一方面,一個(gè)進(jìn)程在活動(dòng)中又可順序地執(zhí)行若干個(gè)程序。地執(zhí)行若干個(gè)程序。進(jìn)程和程序的區(qū)別是什么進(jìn)程和程序的區(qū)別是什么?2.5 進(jìn)程的狀態(tài)和組成進(jìn)程的狀態(tài)和組成v最簡(jiǎn)單的進(jìn)程運(yùn)行模型最簡(jiǎn)單的進(jìn)程運(yùn)行模型 最簡(jiǎn)單
29、的模型是基于這樣一個(gè)事實(shí):最簡(jiǎn)單的模型是基于這樣一個(gè)事實(shí):進(jìn)程要么正在執(zhí)行,要么沒(méi)有執(zhí)行。這樣,進(jìn)程要么正在執(zhí)行,要么沒(méi)有執(zhí)行。這樣,一個(gè)進(jìn)程就有兩種狀態(tài):運(yùn)行一個(gè)進(jìn)程就有兩種狀態(tài):運(yùn)行(Running)(Running)和非運(yùn)行和非運(yùn)行(Not-running)(Not-running),如下圖所示。,如下圖所示。一個(gè)進(jìn)程只有這兩種狀態(tài)嗎?一個(gè)進(jìn)程只有這兩種狀態(tài)嗎? 一個(gè)進(jìn)程的等待狀態(tài)可以分為兩一個(gè)進(jìn)程的等待狀態(tài)可以分為兩種,一種是等待種,一種是等待CPUCPU,叫就緒態(tài),另一,叫就緒態(tài),另一種是等待種是等待I/OI/O,叫阻塞態(tài)。,叫阻塞態(tài)。v進(jìn)程基本狀態(tài)模型(三態(tài)模型)進(jìn)程基本狀態(tài)模型(
30、三態(tài)模型)(1 1)運(yùn)行態(tài)()運(yùn)行態(tài)(RunningRunning)運(yùn)行狀態(tài)是指當(dāng)前進(jìn)程已分配到運(yùn)行狀態(tài)是指當(dāng)前進(jìn)程已分配到CPUCPU,它的程序正在處理機(jī)上執(zhí)行時(shí)的狀態(tài)。它的程序正在處理機(jī)上執(zhí)行時(shí)的狀態(tài)。處于這種狀態(tài)的進(jìn)程個(gè)數(shù)不能大于處于這種狀態(tài)的進(jìn)程個(gè)數(shù)不能大于CPUCPU的數(shù)目。的數(shù)目。運(yùn)行運(yùn)行狀態(tài)狀態(tài)就緒就緒狀態(tài)狀態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件等待某事件發(fā)生發(fā)生所等待事件所等待事件發(fā)生發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到(2 2)就緒態(tài))就緒態(tài)(Ready)(Ready)就緒狀態(tài)是指進(jìn)程已具備運(yùn)行條件,就緒狀態(tài)是指進(jìn)程已具備運(yùn)行條件,但因?yàn)槠渌M(jìn)程正占用但因?yàn)槠渌M(jìn)程正占用CPUCP
31、U,所以暫時(shí),所以暫時(shí)不能運(yùn)行而等待分配不能運(yùn)行而等待分配CPUCPU的狀態(tài)。的狀態(tài)。運(yùn)行運(yùn)行狀態(tài)狀態(tài)就緒就緒狀態(tài)狀態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件等待某事件發(fā)生發(fā)生所等待事件所等待事件發(fā)生發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到(3 3)阻塞態(tài)()阻塞態(tài)(BlockedBlocked)阻塞狀態(tài)是指進(jìn)程因等待某種事件阻塞狀態(tài)是指進(jìn)程因等待某種事件發(fā)生而暫時(shí)不能運(yùn)行的狀態(tài)。發(fā)生而暫時(shí)不能運(yùn)行的狀態(tài)。運(yùn)行運(yùn)行狀態(tài)狀態(tài)就緒就緒狀態(tài)狀態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件等待某事件發(fā)生發(fā)生所等待事件所等待事件發(fā)生發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到v進(jìn)程基本狀態(tài)模型的轉(zhuǎn)換進(jìn)程基本狀態(tài)模型的轉(zhuǎn)換運(yùn)行運(yùn)行狀態(tài)狀態(tài)就
32、緒就緒狀態(tài)狀態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件等待某事件發(fā)生發(fā)生所等待事件所等待事件發(fā)生發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到一個(gè)進(jìn)程除了這三種狀態(tài)外,一個(gè)進(jìn)程除了這三種狀態(tài)外,還可以有其他狀態(tài)嗎?還可以有其他狀態(tài)嗎?v 進(jìn)程狀態(tài)五態(tài)模型NewNew創(chuàng)建創(chuàng)建RunningRunning運(yùn)行運(yùn)行ExitExit結(jié)束結(jié)束ReadyReady就緒就緒BlockedBlocked阻塞阻塞 被調(diào)度被調(diào)度 時(shí)間片完時(shí)間片完 事件發(fā)生事件發(fā)生 等待事件等待事件 結(jié)結(jié)束束 進(jìn)入就緒隊(duì)列進(jìn)入就緒隊(duì)列v 進(jìn)程狀態(tài)五態(tài)模型l運(yùn)行狀態(tài)運(yùn)行狀態(tài)(Running)(Running):當(dāng)一個(gè)進(jìn)程正在:當(dāng)一個(gè)進(jìn)程正在處理機(jī)上運(yùn)行
33、時(shí)。處理機(jī)上運(yùn)行時(shí)。l就緒狀態(tài)就緒狀態(tài)(Ready)(Ready):一個(gè)進(jìn)程獲得了除一個(gè)進(jìn)程獲得了除處理機(jī)之外的一切所需資源,一旦得到處理機(jī)之外的一切所需資源,一旦得到處理機(jī)即可運(yùn)行處理機(jī)即可運(yùn)行. .l等待狀態(tài)又稱阻塞狀態(tài)等待狀態(tài)又稱阻塞狀態(tài)(Blocked)(Blocked):一:一個(gè)進(jìn)程正在等待某一事件而暫停運(yùn)行時(shí)。個(gè)進(jìn)程正在等待某一事件而暫停運(yùn)行時(shí)。如等待某資源,等待輸入如等待某資源,等待輸入 / /輸出完成。輸出完成。l創(chuàng)建狀態(tài)創(chuàng)建狀態(tài)(NEW)(NEW):一個(gè)進(jìn)程正在被創(chuàng):一個(gè)進(jìn)程正在被創(chuàng)建,還沒(méi)被轉(zhuǎn)到就緒狀態(tài)之前的狀態(tài)。建,還沒(méi)被轉(zhuǎn)到就緒狀態(tài)之前的狀態(tài)。l結(jié)束狀態(tài)結(jié)束狀態(tài)(Exi
34、t)(Exit):一個(gè)進(jìn)程正在從系:一個(gè)進(jìn)程正在從系統(tǒng)中消失時(shí)的狀態(tài),這是因?yàn)檫M(jìn)程結(jié)束統(tǒng)中消失時(shí)的狀態(tài),這是因?yàn)檫M(jìn)程結(jié)束或由于其他原因所導(dǎo)致?;蛴捎谄渌蛩鶎?dǎo)致。五狀態(tài)變化圖NewNew創(chuàng)建創(chuàng)建RunningRunning運(yùn)行運(yùn)行ExitExit結(jié)束結(jié)束ReadyReady就緒就緒BlockedBlocked阻塞阻塞 被調(diào)度被調(diào)度 時(shí)間片完時(shí)間片完 事件發(fā)生事件發(fā)生 等待事件等待事件 結(jié)束結(jié)束 進(jìn)入就緒隊(duì)列進(jìn)入就緒隊(duì)列可能的狀態(tài)變化如下。lNULLNewNULLNew:一個(gè)新進(jìn)程被產(chǎn)生出來(lái)執(zhí)行一個(gè):一個(gè)新進(jìn)程被產(chǎn)生出來(lái)執(zhí)行一個(gè)程序。程序。lNewReadyNewReady:當(dāng)進(jìn)程被創(chuàng)建完成并
35、初始化后,:當(dāng)進(jìn)程被創(chuàng)建完成并初始化后,一切就緒準(zhǔn)備運(yùn)行時(shí),變?yōu)榫途w狀態(tài)(為了限一切就緒準(zhǔn)備運(yùn)行時(shí),變?yōu)榫途w狀態(tài)(為了限制系統(tǒng)資源不過(guò)分分散,也可以限制從制系統(tǒng)資源不過(guò)分分散,也可以限制從NewNew進(jìn)入進(jìn)入ReadyReady狀態(tài)的進(jìn)程數(shù),這樣做可以使系統(tǒng)內(nèi)存、狀態(tài)的進(jìn)程數(shù),這樣做可以使系統(tǒng)內(nèi)存、內(nèi)核用戶頁(yè)、表空間等系統(tǒng)資源集中給有限的內(nèi)核用戶頁(yè)、表空間等系統(tǒng)資源集中給有限的進(jìn)程使用。因此可能使進(jìn)程進(jìn)入創(chuàng)建狀態(tài),但進(jìn)程使用。因此可能使進(jìn)程進(jìn)入創(chuàng)建狀態(tài),但很長(zhǎng)時(shí)間不能掛入就緒隊(duì)列,直等到操作系統(tǒng)很長(zhǎng)時(shí)間不能掛入就緒隊(duì)列,直等到操作系統(tǒng)把它調(diào)入時(shí),才可以分配好所有資源,變?yōu)榫桶阉{(diào)入時(shí),才可以分
36、配好所有資源,變?yōu)榫途w狀態(tài)。)緒狀態(tài)。)lReadyRunningReadyRunning:處于就緒狀態(tài)的進(jìn):處于就緒狀態(tài)的進(jìn)程被進(jìn)程調(diào)度程序選中后,就分配到處程被進(jìn)程調(diào)度程序選中后,就分配到處理機(jī)上來(lái)運(yùn)行理機(jī)上來(lái)運(yùn)行. .lRunningExitRunningExit:當(dāng)進(jìn)程表示它已經(jīng)完:當(dāng)進(jìn)程表示它已經(jīng)完成或者因錯(cuò)流產(chǎn),當(dāng)前運(yùn)行進(jìn)程會(huì)由操成或者因錯(cuò)流產(chǎn),當(dāng)前運(yùn)行進(jìn)程會(huì)由操作系統(tǒng)作結(jié)束處理。作系統(tǒng)作結(jié)束處理。lRunningReadyRunningReady:處于運(yùn)行狀態(tài)的進(jìn):處于運(yùn)行狀態(tài)的進(jìn)程在其運(yùn)行過(guò)程中,由于分配給它的處程在其運(yùn)行過(guò)程中,由于分配給它的處理機(jī)時(shí)間片用完而讓出處理機(jī)理機(jī)時(shí)
37、間片用完而讓出處理機(jī); ;在可剝?cè)诳蓜儕Z的操作系統(tǒng)中,當(dāng)有更高優(yōu)先級(jí)的進(jìn)奪的操作系統(tǒng)中,當(dāng)有更高優(yōu)先級(jí)的進(jìn)程就緒時(shí),操作系統(tǒng)調(diào)度程序可以將正程就緒時(shí),操作系統(tǒng)調(diào)度程序可以將正運(yùn)行進(jìn)程從運(yùn)行狀態(tài)改變?yōu)榫途w狀態(tài),運(yùn)行進(jìn)程從運(yùn)行狀態(tài)改變?yōu)榫途w狀態(tài),讓更高優(yōu)先級(jí)進(jìn)程運(yùn)行。讓更高優(yōu)先級(jí)進(jìn)程運(yùn)行。lRuningBlockedRuningBlocked:當(dāng)進(jìn)程請(qǐng)求某樣?xùn)|:當(dāng)進(jìn)程請(qǐng)求某樣?xùn)|西且必須等待時(shí)。例如,當(dāng)進(jìn)程請(qǐng)求操作西且必須等待時(shí)。例如,當(dāng)進(jìn)程請(qǐng)求操作系統(tǒng)服務(wù),而操作系統(tǒng)得不到所需的資源;系統(tǒng)服務(wù),而操作系統(tǒng)得不到所需的資源;或進(jìn)程請(qǐng)求一個(gè)輸入或進(jìn)程請(qǐng)求一個(gè)輸入/ /輸出操作,操作系輸出操作,操作系統(tǒng)
38、已啟動(dòng)外設(shè),但外設(shè)的輸入統(tǒng)已啟動(dòng)外設(shè),但外設(shè)的輸入/ /輸出尚未輸出尚未完成;或進(jìn)程要與其他進(jìn)程通信,要接收完成;或進(jìn)程要與其他進(jìn)程通信,要接收對(duì)方還未發(fā)出的信件時(shí),進(jìn)程都會(huì)被阻塞。對(duì)方還未發(fā)出的信件時(shí),進(jìn)程都會(huì)被阻塞。lBlockedReadyBlockedReady:當(dāng)進(jìn)程要等待某事件:當(dāng)進(jìn)程要等待某事件到來(lái)時(shí),它從阻塞狀態(tài)變到就緒狀態(tài)。到來(lái)時(shí),它從阻塞狀態(tài)變到就緒狀態(tài)。接收進(jìn)程接收進(jìn)程就緒隊(duì)列就緒隊(duì)列超時(shí)超時(shí)事件發(fā)生事件發(fā)生等待事件等待事件處理機(jī)處理機(jī)終止進(jìn)程終止進(jìn)程等待隊(duì)列等待隊(duì)列 在狀態(tài)模型中的隊(duì)列各只能有一個(gè)嗎?多隊(duì)列模型的進(jìn)一步表示:接收進(jìn)程接收進(jìn)程就緒隊(duì)列就緒隊(duì)列1 1就緒隊(duì)列
39、就緒隊(duì)列2 2 . .就緒隊(duì)列就緒隊(duì)列n n超時(shí)超時(shí)事件事件1 1發(fā)生發(fā)生事件事件2 2發(fā)生發(fā)生等待事件等待事件1 1等事件等事件2 2.處理機(jī)處理機(jī)終止進(jìn)程終止進(jìn)程事件事件m m發(fā)生發(fā)生等事件等事件m m 進(jìn)程除這五種狀態(tài)外還會(huì)有其他狀態(tài)嗎?接收接收事件發(fā)生事件發(fā)生解掛解掛掛起掛起解掛解掛掛起掛起事件發(fā)生事件發(fā)生掛起掛起接收接收調(diào)度調(diào)度時(shí)間片完時(shí)間片完等事件等事件有兩個(gè)掛起狀態(tài)的七態(tài)模型圖有兩個(gè)掛起狀態(tài)的七態(tài)模型圖v問(wèn)題5: 進(jìn)程什么時(shí)候需要掛起和解掛? 當(dāng)運(yùn)行進(jìn)程需要更大的內(nèi)存,而當(dāng)運(yùn)行進(jìn)程需要更大的內(nèi)存,而內(nèi)存又不足時(shí),一些進(jìn)程被掛起。內(nèi)存又不足時(shí),一些進(jìn)程被掛起。 進(jìn)程在掛起狀態(tài)時(shí),進(jìn)
40、程在掛起狀態(tài)時(shí), 意味著進(jìn)程意味著進(jìn)程沒(méi)有占用內(nèi)存空間。處在掛起狀態(tài)的沒(méi)有占用內(nèi)存空間。處在掛起狀態(tài)的進(jìn)程映像在磁盤上。進(jìn)程映像在磁盤上。 舉例說(shuō)明日常生活中的掛起和解掛? (1)農(nóng)宅里,白天為了方便使用把)農(nóng)宅里,白天為了方便使用把農(nóng)具、工具放在住宅外(掛起),晚上農(nóng)具、工具放在住宅外(掛起),晚上為了安全把它放在住宅內(nèi)(解掛)。為了安全把它放在住宅內(nèi)(解掛)。 (2)家中請(qǐng)客吃飯,為了多擺一桌,)家中請(qǐng)客吃飯,為了多擺一桌,把一些暫時(shí)用不上的物品放到雜物房里把一些暫時(shí)用不上的物品放到雜物房里(掛起),等客人散去又把這些物品?。⊕炱穑?,等客人散去又把這些物品取回?cái)[放原處(解掛)?;?cái)[放原處(
41、解掛)。問(wèn)題:計(jì)算機(jī)中進(jìn)程掛起的原因?問(wèn)題:計(jì)算機(jī)中進(jìn)程掛起的原因?2.5.2 2.5.2 進(jìn)程描述一、進(jìn)程需要描述。不同的進(jìn)程有不同的狀態(tài)、占用不同的資源。例:在一個(gè)多道程序運(yùn)行環(huán)境內(nèi),有多例:在一個(gè)多道程序運(yùn)行環(huán)境內(nèi),有多個(gè)進(jìn)程(個(gè)進(jìn)程(P1P1,Pn)Pn)生成并存放在虛存中。生成并存放在虛存中。在執(zhí)行過(guò)程中,每個(gè)進(jìn)程必須擁有一定的資源,在執(zhí)行過(guò)程中,每個(gè)進(jìn)程必須擁有一定的資源,包括處理器、包括處理器、I/OI/O設(shè)備、內(nèi)存等。其中,設(shè)備、內(nèi)存等。其中,PlPl正正在運(yùn)行,在運(yùn)行,P1P1至少有一部分在內(nèi)存中,并控制了至少有一部分在內(nèi)存中,并控制了兩個(gè)兩個(gè)I/OI/O設(shè)備;設(shè)備;P2P2
42、也在內(nèi)存中,但由于等待一也在內(nèi)存中,但由于等待一個(gè)個(gè)I/OI/O設(shè)備而阻塞;設(shè)備而阻塞;PnPn被交換出內(nèi)存處于掛起被交換出內(nèi)存處于掛起狀態(tài)。如下圖:狀態(tài)。如下圖:二、如何描述進(jìn)程?二、如何描述進(jìn)程?進(jìn)程表進(jìn)程表幾乎所有操作系統(tǒng)都會(huì)有幾乎所有操作系統(tǒng)都會(huì)有4 4類表來(lái)保存類表來(lái)保存信息,每一個(gè)表都有一定的數(shù)據(jù)結(jié)構(gòu)。信息,每一個(gè)表都有一定的數(shù)據(jù)結(jié)構(gòu)。 內(nèi)存表。用來(lái)跟蹤內(nèi)存表。用來(lái)跟蹤主(實(shí))存和輔(虛主(實(shí))存和輔(虛擬)存。擬)存。 I/OI/O表。用來(lái)管理表。用來(lái)管理I/OI/O設(shè)備和通道。設(shè)備和通道。文件表。提供當(dāng)前文件表。提供當(dāng)前存在文件中的信息。存在文件中的信息。 進(jìn)程表。用來(lái)管理進(jìn)程
43、表。用來(lái)管理進(jìn)程。進(jìn)程。1.1.進(jìn)程映像進(jìn)程映像即進(jìn)程的具體物理組成。即進(jìn)程的具體物理組成。由進(jìn)程映像來(lái)描述。由進(jìn)程映像來(lái)描述。2.2.進(jìn)程控制塊的組成進(jìn)程控制塊的組成(1 1)進(jìn)程控制塊內(nèi)容。操作系統(tǒng)管理進(jìn)程)進(jìn)程控制塊內(nèi)容。操作系統(tǒng)管理進(jìn)程所需的信息類型及信息都收集在進(jìn)程控制塊所需的信息類型及信息都收集在進(jìn)程控制塊(PCBPCB)中。)中。第第1 1類類 進(jìn)程標(biāo)識(shí)進(jìn)程標(biāo)識(shí)第第2 2類類 進(jìn)程狀態(tài)信息進(jìn)程狀態(tài)信息第第3 3類類 進(jìn)程控制信息進(jìn)程控制信息(2 2)一種進(jìn)程映象結(jié)構(gòu)。(用戶數(shù)據(jù)、用)一種進(jìn)程映象結(jié)構(gòu)。(用戶數(shù)據(jù)、用戶程序、系統(tǒng)棧、進(jìn)程控制塊)戶程序、系統(tǒng)棧、進(jìn)程控制塊)2.5.3
44、 2.5.3 進(jìn)程控制塊的組織進(jìn)程控制塊的組織為了對(duì)進(jìn)程進(jìn)行有效管理,要將系統(tǒng)為了對(duì)進(jìn)程進(jìn)行有效管理,要將系統(tǒng)中的進(jìn)程中的進(jìn)程PCBPCB按照一定的方式組織起來(lái)。主要按照一定的方式組織起來(lái)。主要的方式有:的方式有:(1 1)線性方式)線性方式系統(tǒng)中規(guī)定進(jìn)程的最大數(shù)目。系統(tǒng)中規(guī)定進(jìn)程的最大數(shù)目。(2 2)鏈接方式)鏈接方式按照各進(jìn)程的不同狀態(tài)分別將它們的按照各進(jìn)程的不同狀態(tài)分別將它們的PCBPCB放在不同的隊(duì)列中。放在不同的隊(duì)列中。(3 3)索引方式)索引方式利用索引表記載不同狀態(tài)進(jìn)程的利用索引表記載不同狀態(tài)進(jìn)程的PCBPCB地地址。址。2.6 進(jìn)程控制與管理2.6.1 操作系統(tǒng)內(nèi)核進(jìn)程的管理與
45、控制由操作系統(tǒng)進(jìn)程的管理與控制由操作系統(tǒng)內(nèi)核內(nèi)核負(fù)負(fù)責(zé)的。責(zé)的。內(nèi)核內(nèi)核-操作系統(tǒng)將一些與硬件緊密相操作系統(tǒng)將一些與硬件緊密相關(guān)的軟件模塊放在緊靠硬件的層次上,關(guān)的軟件模塊放在緊靠硬件的層次上,并使這部分程序常駐內(nèi)存,以提高操作并使這部分程序常駐內(nèi)存,以提高操作系統(tǒng)的運(yùn)行效率。這部分程序稱為操作系統(tǒng)的運(yùn)行效率。這部分程序稱為操作系統(tǒng)內(nèi)核。系統(tǒng)內(nèi)核。2.6 進(jìn)程控制與管理 操作系統(tǒng)內(nèi)核負(fù)責(zé)控制和管理進(jìn)程的操作系統(tǒng)內(nèi)核負(fù)責(zé)控制和管理進(jìn)程的產(chǎn)生、執(zhí)行和消亡的整個(gè)過(guò)程,這主要產(chǎn)生、執(zhí)行和消亡的整個(gè)過(guò)程,這主要通過(guò)對(duì)它們的控制操作來(lái)實(shí)現(xiàn)。通過(guò)對(duì)它們的控制操作來(lái)實(shí)現(xiàn)。2.6 進(jìn)程控制與管理2.6.2 核心
46、態(tài)和用戶態(tài)核心態(tài)和用戶態(tài)因?yàn)椴僮飨到y(tǒng)程序要管理硬件需要執(zhí)因?yàn)椴僮飨到y(tǒng)程序要管理硬件需要執(zhí)行很多與硬件相關(guān)的指令(特權(quán)指行很多與硬件相關(guān)的指令(特權(quán)指令)。為了讓系統(tǒng)程序能執(zhí)行特權(quán)指令)。為了讓系統(tǒng)程序能執(zhí)行特權(quán)指令,用戶程序只能執(zhí)行非特權(quán)指令。令,用戶程序只能執(zhí)行非特權(quán)指令。通常將處理機(jī)的執(zhí)行狀態(tài)分為核心態(tài)通常將處理機(jī)的執(zhí)行狀態(tài)分為核心態(tài)和用戶態(tài)。和用戶態(tài)。2.6 進(jìn)程控制與管理核心態(tài)核心態(tài)-又稱系統(tǒng)態(tài)。具有較高特權(quán),又稱系統(tǒng)態(tài)。具有較高特權(quán),能執(zhí)行一切指令,能訪問(wèn)所有的寄存能執(zhí)行一切指令,能訪問(wèn)所有的寄存器及內(nèi)存所有的區(qū)域。操作系統(tǒng)內(nèi)核器及內(nèi)存所有的區(qū)域。操作系統(tǒng)內(nèi)核通常運(yùn)行在系統(tǒng)態(tài)。通常運(yùn)
47、行在系統(tǒng)態(tài)。用戶態(tài)用戶態(tài)-具有較低特權(quán)的執(zhí)行狀態(tài)。具有較低特權(quán)的執(zhí)行狀態(tài)。在這種狀態(tài)下,只能執(zhí)行規(guī)定的指令,在這種狀態(tài)下,只能執(zhí)行規(guī)定的指令,訪問(wèn)指定的寄存器和內(nèi)存指定的區(qū)域。訪問(wèn)指定的寄存器和內(nèi)存指定的區(qū)域。通常用戶程序在用戶態(tài)下運(yùn)行。通常用戶程序在用戶態(tài)下運(yùn)行。2.6 進(jìn)程控制與管理2.6.3 操作系統(tǒng)內(nèi)核的功能操作系統(tǒng)內(nèi)核的功能(1)時(shí)鐘管理。)時(shí)鐘管理。(2)中斷處理。)中斷處理。 (3)實(shí)現(xiàn)(保護(hù))原語(yǔ)操作。)實(shí)現(xiàn)(保護(hù))原語(yǔ)操作。 原語(yǔ)原語(yǔ)-由若干條指令構(gòu)成,是用于完由若干條指令構(gòu)成,是用于完成一定功能的過(guò)程。成一定功能的過(guò)程。:在操作系統(tǒng):在操作系統(tǒng)中提供的某種特定操作,是通過(guò)一
48、段不中提供的某種特定操作,是通過(guò)一段不可分割的或者不能中斷的程序?qū)崿F(xiàn)其功可分割的或者不能中斷的程序?qū)崿F(xiàn)其功能,這種特定的操作我們稱之為原語(yǔ)。能,這種特定的操作我們稱之為原語(yǔ)。2.6 進(jìn)程控制與管理操作系統(tǒng)內(nèi)核都是由原語(yǔ)實(shí)現(xiàn)的。操作系統(tǒng)內(nèi)核都是由原語(yǔ)實(shí)現(xiàn)的。內(nèi)核中的原語(yǔ)操作完成操作系統(tǒng)中的內(nèi)核中的原語(yǔ)操作完成操作系統(tǒng)中的一些基本功能,如:進(jìn)程控制、進(jìn)程一些基本功能,如:進(jìn)程控制、進(jìn)程同步及常用的進(jìn)程通信手段等。同步及常用的進(jìn)程通信手段等。進(jìn)程控制操作有:創(chuàng)建進(jìn)程、撤消進(jìn)進(jìn)程控制操作有:創(chuàng)建進(jìn)程、撤消進(jìn)程、掛起進(jìn)程、恢復(fù)進(jìn)程、改變進(jìn)程程、掛起進(jìn)程、恢復(fù)進(jìn)程、改變進(jìn)程優(yōu)先級(jí)、封鎖進(jìn)程、喚醒進(jìn)程、調(diào)度
49、優(yōu)先級(jí)、封鎖進(jìn)程、喚醒進(jìn)程、調(diào)度進(jìn)程等。這些都是原語(yǔ)。下一節(jié)介紹進(jìn)程等。這些都是原語(yǔ)。下一節(jié)介紹幾個(gè)常用的進(jìn)程原語(yǔ)。幾個(gè)常用的進(jìn)程原語(yǔ)。2.6.4 進(jìn)程創(chuàng)建的原因 4 4種事件會(huì)導(dǎo)致新進(jìn)程產(chǎn)生種事件會(huì)導(dǎo)致新進(jìn)程產(chǎn)生進(jìn)程創(chuàng)建(產(chǎn)生)處理過(guò)程大致為進(jìn)程創(chuàng)建(產(chǎn)生)處理過(guò)程大致為: 1)接收進(jìn)程運(yùn)行現(xiàn)場(chǎng)初始值,初始優(yōu)接收進(jìn)程運(yùn)行現(xiàn)場(chǎng)初始值,初始優(yōu)先級(jí),初始執(zhí)行程序描述,以及其他資源先級(jí),初始執(zhí)行程序描述,以及其他資源等傳來(lái)的參數(shù)。等傳來(lái)的參數(shù)。 2 2)請(qǐng)求分配進(jìn)程描述塊的)請(qǐng)求分配進(jìn)程描述塊的PCBPCB空間,空間,得到一個(gè)內(nèi)部數(shù)字進(jìn)程標(biāo)識(shí)。得到一個(gè)內(nèi)部數(shù)字進(jìn)程標(biāo)識(shí)。 3 3)用從父進(jìn)程傳來(lái)的參數(shù)
50、初始化)用從父進(jìn)程傳來(lái)的參數(shù)初始化PCBPCB表。表。 4 4)產(chǎn)生描述進(jìn)程空間的數(shù)據(jù)結(jié)構(gòu),用)產(chǎn)生描述進(jìn)程空間的數(shù)據(jù)結(jié)構(gòu),用初始執(zhí)行文件初始化進(jìn)程空間,建立程序初始執(zhí)行文件初始化進(jìn)程空間,建立程序段,數(shù)據(jù)段、棧段等。段,數(shù)據(jù)段、棧段等。5 5)用進(jìn)程運(yùn)行現(xiàn)場(chǎng)初始值,設(shè)置處)用進(jìn)程運(yùn)行現(xiàn)場(chǎng)初始值,設(shè)置處理機(jī)現(xiàn)場(chǎng)保護(hù)區(qū)。造一個(gè)進(jìn)程運(yùn)行理機(jī)現(xiàn)場(chǎng)保護(hù)區(qū)。造一個(gè)進(jìn)程運(yùn)行棧幀。棧幀。6 6)將進(jìn)程置成就緒狀態(tài)。)將進(jìn)程置成就緒狀態(tài)。7 7)置好父進(jìn)程等關(guān)系域。)置好父進(jìn)程等關(guān)系域。8 8)將)將PCBPCB表掛入就緒隊(duì)列,等待時(shí)表掛入就緒隊(duì)列,等待時(shí)機(jī)被調(diào)度運(yùn)行。機(jī)被調(diào)度運(yùn)行。2.6.5.進(jìn)程終止1、進(jìn)
51、程終止原因 2.2.進(jìn)程終止大致處理過(guò)程如下:進(jìn)程終止大致處理過(guò)程如下: 1 1)將進(jìn)程狀態(tài)改成結(jié)束狀態(tài);)將進(jìn)程狀態(tài)改成結(jié)束狀態(tài); 2 2)關(guān)閉所有打開文件和設(shè)備;)關(guān)閉所有打開文件和設(shè)備;3 3)釋放用戶進(jìn)程程序文件映射和其他)釋放用戶進(jìn)程程序文件映射和其他資源;資源;4 4)進(jìn)行相關(guān)信息統(tǒng)計(jì);)進(jìn)行相關(guān)信息統(tǒng)計(jì);5 5)清理其相關(guān)進(jìn)程的鏈接關(guān)系,如在)清理其相關(guān)進(jìn)程的鏈接關(guān)系,如在UNIXUNIX中,將該結(jié)束進(jìn)程的所有子進(jìn)程鏈接中,將該結(jié)束進(jìn)程的所有子進(jìn)程鏈接到到1 1號(hào)進(jìn)程,作為號(hào)進(jìn)程,作為1 1號(hào)進(jìn)程的子進(jìn)程,號(hào)進(jìn)程的子進(jìn)程,并通知父進(jìn)程自己已結(jié)束并通知父進(jìn)程自己已結(jié)束6 6)釋放進(jìn)
52、程映像空間(對(duì)于虛存來(lái)說(shuō),)釋放進(jìn)程映像空間(對(duì)于虛存來(lái)說(shuō),如交換區(qū)、所占物理頁(yè),將頁(yè)表所占如交換區(qū)、所占物理頁(yè),將頁(yè)表所占空間返還系統(tǒng));空間返還系統(tǒng));7 7)釋放進(jìn)程控制塊)釋放進(jìn)程控制塊(PCB)(PCB);8 8)調(diào)用進(jìn)程調(diào)度與切換程序。)調(diào)用進(jìn)程調(diào)度與切換程序。 2.6.6 2.6.6 進(jìn)程阻塞進(jìn)程阻塞正在運(yùn)行的進(jìn)程通過(guò)調(diào)用阻塞原語(yǔ)正在運(yùn)行的進(jìn)程通過(guò)調(diào)用阻塞原語(yǔ)(如(如UNIX/LinuxUNIX/Linux系統(tǒng)的系統(tǒng)的sleepsleep),主動(dòng)),主動(dòng)地把自己阻塞。由阻塞原語(yǔ)根據(jù)該進(jìn)地把自己阻塞。由阻塞原語(yǔ)根據(jù)該進(jìn)程等待的事件將該進(jìn)程放置不同的等程等待的事件將該進(jìn)程放置不同的等
53、待隊(duì)列。待隊(duì)列。運(yùn)行運(yùn)行狀態(tài)狀態(tài)就緒就緒狀態(tài)狀態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件發(fā)生等待某事件發(fā)生所等待事件發(fā)生所等待事件發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到sleepsleepWakeUpWakeUp 2.6.7 2.6.7 進(jìn)程喚醒進(jìn)程喚醒當(dāng)阻塞的進(jìn)程所等待的事件出現(xiàn)當(dāng)阻塞的進(jìn)程所等待的事件出現(xiàn)時(shí),則由另外的、與阻塞進(jìn)程相關(guān)的進(jìn)時(shí),則由另外的、與阻塞進(jìn)程相關(guān)的進(jìn)程調(diào)用喚醒原語(yǔ)(如程調(diào)用喚醒原語(yǔ)(如UNIX/LinuxUNIX/Linux系統(tǒng)的系統(tǒng)的wakeupwakeup),將等待該事件的進(jìn)程喚醒。),將等待該事件的進(jìn)程喚醒。將其放入就緒隊(duì)列。將其放入就緒隊(duì)列。運(yùn)行運(yùn)行狀態(tài)狀態(tài)就緒就緒狀態(tài)狀
54、態(tài)阻塞阻塞狀態(tài)狀態(tài)等待某事件等待某事件發(fā)生發(fā)生所等待事件所等待事件發(fā)生發(fā)生分到分到CPUCPU時(shí)間片到時(shí)間片到SleepSleepWakeUpWakeUp2.7 2.7 線程線程進(jìn)程的兩個(gè)基本屬性:進(jìn)程的兩個(gè)基本屬性:(1 1)進(jìn)程是一個(gè)擁有資源的獨(dú)立單)進(jìn)程是一個(gè)擁有資源的獨(dú)立單元元(2 2)進(jìn)程是一個(gè)被處理機(jī)獨(dú)立調(diào)度)進(jìn)程是一個(gè)被處理機(jī)獨(dú)立調(diào)度的單元的單元引入線程完成進(jìn)程的第二個(gè)屬性,進(jìn)程只引入線程完成進(jìn)程的第二個(gè)屬性,進(jìn)程只完成第一個(gè)屬性。完成第一個(gè)屬性。線程稱輕型進(jìn)程線程稱輕型進(jìn)程LWPLWP(Light-weight Light-weight ProcessProcess)傳統(tǒng)進(jìn)程叫
55、重型進(jìn)程傳統(tǒng)進(jìn)程叫重型進(jìn)程HWPHWP(Heavy-Heavy-weight Processweight Process)進(jìn)程與線程在日常生活中的類比:進(jìn)程與線程在日常生活中的類比:(1 1)如果把一本書當(dāng)作一個(gè)進(jìn)程)如果把一本書當(dāng)作一個(gè)進(jìn)程(傳統(tǒng)進(jìn)程),現(xiàn)在把此書一分為二,把(傳統(tǒng)進(jìn)程),現(xiàn)在把此書一分為二,把這本書的目錄就稱作線程。目錄只有這本這本書的目錄就稱作線程。目錄只有這本書的大致內(nèi)容(即線程),而每一章的詳書的大致內(nèi)容(即線程),而每一章的詳述則稱進(jìn)程。述則稱進(jìn)程。進(jìn)程與線程在日常生活中的類比:進(jìn)程與線程在日常生活中的類比:(2 2)如果把一篇論文稱作一個(gè)進(jìn)程)如果把一篇論文稱作一
56、個(gè)進(jìn)程(傳統(tǒng)進(jìn)程),現(xiàn)在把論文一分為二,把(傳統(tǒng)進(jìn)程),現(xiàn)在把論文一分為二,把內(nèi)容摘要(只含有此論文的簡(jiǎn)介)稱作線內(nèi)容摘要(只含有此論文的簡(jiǎn)介)稱作線程,而把論文詳述稱作進(jìn)程。程,而把論文詳述稱作進(jìn)程。進(jìn)程與線程在日常生活中的類比:進(jìn)程與線程在日常生活中的類比:(3 3)到銀行排隊(duì)辦儲(chǔ)蓄業(yè)務(wù)。如果)到銀行排隊(duì)辦儲(chǔ)蓄業(yè)務(wù)。如果把一個(gè)人排隊(duì)稱作進(jìn)程(傳統(tǒng)進(jìn)程),現(xiàn)把一個(gè)人排隊(duì)稱作進(jìn)程(傳統(tǒng)進(jìn)程),現(xiàn)在是用號(hào)排隊(duì)(線程),等待叫到本人的在是用號(hào)排隊(duì)(線程),等待叫到本人的號(hào)碼后再到柜臺(tái)辦理業(yè)務(wù)。號(hào)碼后再到柜臺(tái)辦理業(yè)務(wù)。2.7.1 2.7.1 線程概念線程概念線程(線程(ThreadThread):線
57、程是進(jìn)程內(nèi)的一個(gè)):線程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的、可獨(dú)立調(diào)度和指派的執(zhí)行相對(duì)獨(dú)立的、可獨(dú)立調(diào)度和指派的執(zhí)行單元。單元。1 1、線程的組成、線程的組成每個(gè)線程有一個(gè)每個(gè)線程有一個(gè)threadthread結(jié)構(gòu),即線程結(jié)構(gòu),即線程控制塊,用于保存自己私有的信息,主要控制塊,用于保存自己私有的信息,主要由以下由以下4 4個(gè)基本部分組成:個(gè)基本部分組成:(1 1)一個(gè)唯一的線程標(biāo)識(shí)。)一個(gè)唯一的線程標(biāo)識(shí)。(2 2)描述處理器工作的一組寄存器)描述處理器工作的一組寄存器(3 3)每個(gè))每個(gè)threadthread結(jié)構(gòu)有兩個(gè)棧指針。結(jié)構(gòu)有兩個(gè)棧指針。(4 4)一個(gè)私有存儲(chǔ)區(qū)。)一個(gè)私有存儲(chǔ)區(qū)。2 2、線程的狀態(tài)、線程的狀態(tài)與進(jìn)程相似,線程也有若干種狀態(tài),與進(jìn)程相似,線程也有若干種狀態(tài),如運(yùn)行狀態(tài)、阻塞狀態(tài),就緒狀態(tài)和終如運(yùn)行狀態(tài)、阻塞狀態(tài),就緒狀態(tài)和終止?fàn)顟B(tài)。止?fàn)顟B(tài)。3 3、線程的管理、線程的管理與進(jìn)程管理類似,有:與進(jìn)程管理類似,有:線程創(chuàng)建(線程創(chuàng)建(thread_createthread_create)線程終止線程終止(thread_exit)(thread_exit)線程等待線程等待(thread_wait)(thread_wait)線程讓權(quán)線程讓權(quán)(thread_yield)(threa
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市托管班品牌授權(quán)與加盟合同
- 文化產(chǎn)品創(chuàng)意開發(fā)合同
- 工業(yè)管道清洗與維護(hù)預(yù)案
- 法律咨詢行業(yè)法律服務(wù)結(jié)果保證書
- 三農(nóng)行業(yè)三農(nóng)戶教育培訓(xùn)計(jì)劃
- 農(nóng)業(yè)種植養(yǎng)殖合同
- 智能圖書館管理系統(tǒng)供應(yīng)合同
- 大學(xué)語(yǔ)文辯論賽故事征文
- 高考語(yǔ)文復(fù)習(xí)-文言文專題訓(xùn)練《史記晉世家》
- 會(huì)議紀(jì)要與重要決策執(zhí)行情況跟蹤表
- 四川省建筑行業(yè)調(diào)研報(bào)告
- 北京市豐臺(tái)區(qū)2024-2025學(xué)年高三上學(xué)期期末英語(yǔ)試題
- 2025上海市嘉定工業(yè)區(qū)農(nóng)村青年干部招聘22人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025采購(gòu)部年度工作計(jì)劃
- 2024年度個(gè)人珠寶首飾分期購(gòu)買合同范本3篇
- 食為天:2024中國(guó)食品飲料行業(yè)白皮書
- 醫(yī)學(xué)倫理與醫(yī)患溝通技巧
- 2025年牛津譯林版英語(yǔ)七年級(jí)下冊(cè)全冊(cè)單元重點(diǎn)知識(shí)點(diǎn)與語(yǔ)法匯編
- 痔瘡中醫(yī)治療課件
- 污水處理設(shè)備的故障處理指南考核試卷
- 華東師范大學(xué)《社會(huì)研究方法》2023-2024學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論