《進程描述與狀態(tài)》PPT課件

《進程描述與狀態(tài)》PPT課件

ID:37471138

大?。?15.50 KB

頁數(shù):20頁

時間:2019-05-12

《進程描述與狀態(tài)》PPT課件_第1頁
《進程描述與狀態(tài)》PPT課件_第2頁
《進程描述與狀態(tài)》PPT課件_第3頁
《進程描述與狀態(tài)》PPT課件_第4頁
《進程描述與狀態(tài)》PPT課件_第5頁
資源描述:

《《進程描述與狀態(tài)》PPT課件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、第五講進程表示與進行狀態(tài)變化目的與要求:理解進程概念,掌握進程在系統(tǒng)中的表示方法,理解進程的創(chuàng)建及其狀態(tài)變化.重點與難點:進程表示與進程創(chuàng)建,狀態(tài)轉換.習題:1,2,4,5第三章進程與處理機管理3.1進程描述進程:是系統(tǒng)中占用處理機及爭奪其它系統(tǒng)資源的實體。用戶程序必須在進程中運行。進程的引入:為了能在作業(yè)內(nèi)某作業(yè)步等I/O時,另一邏輯上可并行作業(yè)步能使用CPU。引入進程后,邏輯上可并行的作業(yè)步可在不同進程中運行。處理機能在進程間切換。原多道程序設計系統(tǒng)中的作業(yè)可看成是只有一個進程的作業(yè)。*并發(fā)

2、與共享的問題:并行程序訪問共享數(shù)據(jù)問題舉例:(count為共享變量初值=300)ProgramA:…N=countN=N+100count=N…ProgramB:…M=countM=M+200count=M…如果按以下次序占處理機運行:N=count,N=N+100;M=count,M=M+200,count=M;count=N.結果count=400(應為600)*1.進程定義進程:是一個有獨立功能的程序關于某個數(shù)據(jù)集合的一次運行活動。特點:動態(tài)性:可動態(tài)創(chuàng)建,結束,也可是精靈進程并發(fā)性:可以

3、被獨立調(diào)度占用處理機運行獨立性:盡量把并發(fā)事務安排到不同的進程制約性:因訪問共享數(shù)據(jù)或進程間同步而產(chǎn)生制約.組成:操作系統(tǒng)表示/管理進程的PCB表以及執(zhí)行程序及處理數(shù)據(jù);一片存放程序和數(shù)據(jù)的空間;一個棧區(qū)(一個用戶棧,一個核心棧);進程使用的其他系統(tǒng)資源.*2.進程控制結構進程映像:進程執(zhí)行程序,數(shù)據(jù),棧。進程映像如何存放在內(nèi)存取決于存儲管理機制.進程控制塊PCB:系統(tǒng)管理控制進程運行用的信息集合(含核心棧).*用戶空間系統(tǒng)空間PCB含有以下三大類信息:進程標識信息。如本進程的標識;本進程的產(chǎn)生

4、者標識(父進程標識);進程所屬用戶標識。處理機狀態(tài)信息保存區(qū)(進程核心棧)。保存進程的運行現(xiàn)場信息:通用寄存器。這是指用戶程序可以使用的數(shù)據(jù)、地址寄存器??刂坪蜖顟B(tài)寄存器。如程序計數(shù)器(PC);處理機狀態(tài)字(PS)*進程控制信息調(diào)度和狀態(tài)信息,用于操作系統(tǒng)調(diào)度進程占用處理機。進程間通訊信息,為支持進程間的通訊相關的各種標識,信號,信件等,這些信息存在接收方的進程控制塊中。存儲管理信息。包含有指向本進程映像存儲空間的數(shù)據(jù)結構。進程所用資源。說明由進程打開,使用的系統(tǒng)資源,如打開的文件等。有關數(shù)據(jù)結

5、構鏈接信息,進程可以鏈接到一個進程隊列中,或鏈接到相關的其它進程PCB.*3.2進程狀態(tài)3.2.1.進程的創(chuàng)建與結束等系統(tǒng)調(diào)用一.進程創(chuàng)建處理過程大致為:接收進程運行初始值,初始優(yōu)先級,初始執(zhí)行程序名字,其它資源等參數(shù)。請求分配進程描述塊PCB空間,得到一個內(nèi)部數(shù)字進程標識。用執(zhí)行“進程創(chuàng)建”進程傳來的參數(shù)初始化PCB表。產(chǎn)生描述進程空間的數(shù)據(jù)結構,用初始執(zhí)行文件初始化進程空間,建立程序段,數(shù)據(jù)段、棧段等。*5.用進程運行初始值設置處理機現(xiàn)場保護區(qū)(如設置用戶程序main()入口執(zhí)行的運行現(xiàn)場)

6、。造一個進程運行棧幀。6.置好父進程等關系域。7.將PCB表掛入就緒隊列,等待時機被調(diào)度運行。*二.進程結束大致處理過程如下:1.將進程狀態(tài)改到結束狀態(tài)2.關閉所有打開數(shù)據(jù)文件、設備3.釋放對進程程序文件的使用4.進行相關信息統(tǒng)計5.清理其相關進程的鏈接關系,如在UNIX中,將該結束進程的所有子進程鏈到1號進程,作為1號進程的子進程,并通知父進程自己已結束。6.釋放進程映像空間(對于虛存來說如:交換區(qū),所占物理頁,將頁表所占空間返還系統(tǒng))7.釋放進程控制塊(PCB)。8.調(diào)用進程調(diào)度與切換程序。

7、*三、進程等待系統(tǒng)調(diào)用如waitpid(pid,&statloc,opts)系統(tǒng)調(diào)用.進程發(fā)出此系統(tǒng)調(diào)用阻塞于內(nèi)核等待pid所指進程運行結束.*3.2.2進程狀態(tài)及變化運行狀態(tài)(Running):當一個進程正在處理機上運行時。就緒狀態(tài)(Ready):一個進程獲得了除處理機之外的一切所需資源,一旦得到處理機即可運行.阻塞狀態(tài)又稱等待狀態(tài)(Blocked):一個進程正在等待某一事件而暫停運行時,如等待某資源成為可用,等待輸入/輸出完成。創(chuàng)建狀態(tài)(New):一個進程正在被創(chuàng)建,還沒到轉到就緒狀態(tài)之前的

8、狀態(tài)。結束狀態(tài)(Exit):一個進程正在從系統(tǒng)中消失時的狀態(tài),這是因為進程結束或其它原因流產(chǎn)所導致。*狀態(tài)變化圖NewRunningExitReadyBlocked被調(diào)度時間片完事件發(fā)生等待事件結束進入就緒隊列可能的狀態(tài)變化如下:空→創(chuàng)建:一個新進程被產(chǎn)生用來執(zhí)行一個程序,創(chuàng)建→就緒:當進程被創(chuàng)建完成,初始化后,一切就緒準備運行時變到就緒態(tài)。(為了限制系統(tǒng)資源不過份分散,也可以限制從New進入Ready狀態(tài)的進程數(shù),這樣做可以使系統(tǒng)內(nèi)存,內(nèi)核用戶頁表空間等系統(tǒng)資源集中給有限的進程使用。因此可能進

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。