




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、123 P2 C2 I2 P1 C1 I1作業(yè)作業(yè)1作業(yè)作業(yè)2單用戶系統(tǒng)中操作的先后次序圖45 I1 I2 I3 I4C1C3C2P1P2 哪些程序段的執(zhí)行必須是順 序的?為什么? 哪些程序段的執(zhí)行是并行 的?為什么?多用戶系統(tǒng)中操作的先后次序圖6PQR三個并發(fā)進程7程序程序A n := n+1; 程序程序B print(n); n := 0; 共享變量的兩個程序8程序程序A的的n :=n+1與與程序程序B的兩個語句的兩個語句的關(guān)系的關(guān)系 n的賦值的賦值 打印的結(jié)果打印的結(jié)果 n的最終賦值的最終賦值 之前之前 10 11 0 之后之后 10 10 1 之間之間 10 10 0 程序程序A n
2、:= n+1; 程序程序B print(n); n := 0; 共享變量的兩個程序9例例1: I1 輸入程序段輸入程序段 I2 In例例2: 編譯編譯1C編譯程序編譯程序 編譯編譯2 編譯編譯n一個程序?qū)?yīng)多個計算的例子10111213 運運 行行服務(wù)請求服務(wù)請求(請求請求I/O等等)服務(wù)完成服務(wù)完成/事件來到事件來到進程調(diào)度進程調(diào)度時間片到時間片到 等等 待待 就就 緒緒個別系統(tǒng)提供個別系統(tǒng)提供進程狀態(tài)變遷圖14 運運 行行服務(wù)請求服務(wù)請求(請求請求I/O等等)服務(wù)完成服務(wù)完成/事件來到事件來到進程調(diào)度進程調(diào)度 等等 待待 就就 緒緒進程狀態(tài)變遷圖15 運運 行行1234 等等 待待 就就
3、緒緒變遷變遷1 變遷變遷3,是否會發(fā)生?需要什么條件?,是否會發(fā)生?需要什么條件?變遷變遷4 變遷變遷3,是否會發(fā)生?需要什么條件?是否會發(fā)生?需要什么條件?進程狀態(tài)變遷的討論1617181920進程進程控制塊控制塊PCB程序程序與與數(shù)據(jù)數(shù)據(jù)進程組成的示意圖21wait_lpt_q_startPCB3PCB7 next打印機等待隊列結(jié)構(gòu)打印機等待隊列結(jié)構(gòu)runningPCB4 next運行指針運行指針ready_q_start PCB1PCB2PCB9就緒隊列結(jié)構(gòu)就緒隊列結(jié)構(gòu)next進程隊列結(jié)構(gòu)示例2223創(chuàng)建撤銷無無有有消亡消亡等待運行運行等待等待喚醒就緒就緒等待等待2425ab 1 入口入
4、口 查查PCB總鏈總鏈有同名有同名 ? 向系統(tǒng)申請一個向系統(tǒng)申請一個空的空的PCB 結(jié)構(gòu)結(jié)構(gòu)有空有空PCB ? 將入口信息填入將入口信息填入PCB相應(yīng)項相應(yīng)項 將將PCB入就緒隊列入就緒隊列 將將PCB入總鏈隊列入總鏈隊列返回進返回進程程pid出錯出錯YN出錯出錯PCB池示意圖進程創(chuàng)建原語流程圖2627入口入口由運行指針得當(dāng)前進程的由運行指針得當(dāng)前進程的pid釋放本進程所占用的資源給父進程釋放本進程所占用的資源給父進程該進程從總鏈隊列中摘下該進程從總鏈隊列中摘下釋放釋放PCB結(jié)構(gòu)結(jié)構(gòu)轉(zhuǎn)進程調(diào)度轉(zhuǎn)進程調(diào)度進程撤銷原語流程圖2829入口入口保護進程的保護進程的CPU現(xiàn)場到現(xiàn)場到PCB結(jié)構(gòu)中結(jié)構(gòu)中置
5、該進程為置該進程為”等待等待”狀態(tài)狀態(tài)將該進程將該進程PCB結(jié)構(gòu)插入到等待結(jié)構(gòu)插入到等待隊列中隊列中轉(zhuǎn)進程調(diào)度轉(zhuǎn)進程調(diào)度進程等待原語流程圖3031入口入口找到該等待隊列找到該等待隊列將隊列首進程移出此等待隊列將隊列首進程移出此等待隊列將該進程置將該進程置為為”就緒就緒”狀態(tài),狀態(tài),并將并將PCB結(jié)構(gòu)插入到就緒結(jié)構(gòu)插入到就緒隊列中隊列中返回返回進程喚醒原語流程圖323334 x := x+1; csa 進程進程A進程進程B x := x+1; csb 進程臨界區(qū)示意圖35 x := x+1; csa 進程進程A進程進程B x := x+1; csb 進程臨界區(qū)示意圖36看病活動:看病活動: 要病
6、人去要病人去化驗;化驗; 等等化驗結(jié)果;化驗結(jié)果; 繼續(xù)診病;繼續(xù)診病;化驗活動:化驗活動: 需要進行化驗需要進行化驗 ? 進行進行化驗;化驗; 開出化驗結(jié)果;開出化驗結(jié)果; 進程同步活動示意圖37 緩沖區(qū)緩沖區(qū)bufiop cpABCDABCD兩個進程共享一個緩沖區(qū)示意圖3839 1W 進入臨界區(qū)進入臨界區(qū)csa 0W進程進程AW=0 ?= 0 1W 進入臨界區(qū)進入臨界區(qū)csb 0W進程進程BW=0 ?= 0兩個進程使用臨界資源的操作404142 入入 口口 S-1 S S0 ?轉(zhuǎn)進程調(diào)度轉(zhuǎn)進程調(diào)度返回返回 入信號燈等待隊列入信號燈等待隊列 置置“等待狀態(tài)等待狀態(tài)”00 0 0P 操作原語流
7、程圖43 入入 口口 S+ +1 S 從信號燈的等待隊列中取出首元素從信號燈的等待隊列中取出首元素 入就緒隊列入就緒隊列 置置“就緒狀態(tài)就緒狀態(tài)” 返回返回 S0 ?0 0V 操作原語流程圖44上鎖原語上鎖原語進入臨界區(qū)進入臨界區(qū)csa 進程進程 pa開鎖原語開鎖原語上鎖原語上鎖原語進入臨界區(qū)進入臨界區(qū)csb 進程進程 pb開鎖原語開鎖原語兩個進程利用上鎖、開鎖原語實現(xiàn)互斥4546p(mutex)進入臨界區(qū)進入臨界區(qū)csa 進程進程 pa v(mutex)p(mutex)進入臨界區(qū)進入臨界區(qū)csb 進程進程 pb v(mutex)兩個進程利用信號燈的P、V操作實現(xiàn)互斥474849p3 s fp
8、5p1p2p4p6p9p10p8 f sp5p6p7 s f進程流圖示例50pbpcpa f s3個合作進程 的進程流圖51pbpcpa f s3個合作進程 的進程流圖52 iop cp共享緩沖區(qū)的合作進程的同步示意圖53 iop cp共享緩沖區(qū)的合作進程 的同步示意圖54 iop cp共享緩沖區(qū)的合作進程 的同步示意圖55 iop cp共享緩沖區(qū)的合作進程 的同步示意圖5657c1p1 c2c3ck p2p3pm生產(chǎn)者消費者問題示意圖58c1p1 c2c3ck p2p3pm生產(chǎn)者消費者問題示意圖59606162636465運 行 終止 創(chuàng)建 就緒 等待 線程的狀態(tài)變遷圖66676869例:
9、main() int x; while(x=fork()= = - 1); if(x= =0) printf(“a”); else printf(“b”); printf(“c”); abcc?bcac?abcc?acbc? cabc?結(jié)果 ?701.fork error2 . i=5 i=10 i=73. i=7 i=5 i=104. i=5 i=7 i=10插入else呢?71父子1子2main( ) if(fork()=0) 子1的代碼段 else if(fork()=0) 子2的代碼段 else 父代碼段 main( ) if(fork()=0) 子1的代碼段; if(fork()=0
10、) 子2的代碼段 else 子1的代碼段 else 父代碼段去掉這個去掉這個else誰執(zhí)行這一段?誰執(zhí)行這一段?子1子2父72main() if(fork()=0) printf(“a”); execlp(“file1”,0); printf(“b”); printf(“c”);file1:main() printf(“d”);acd?cad?adc?abdc?adbcc?7374int main(void)pthread_tid;int i,ret;ret=pthread_create(&id,NULL,(void *) thread,NULL);if(ret!=0) printf
11、(Create pthread error!n); exit (1);for(i=0;i3;i+)printf(This is the main process.n);pthread_join(id,NULL);return (0);757677printf(“c”);78798081p3p4 Fp2Sp1p582子進程進程執(zhí)行的流圖圖83 s fp5p6p73個合作進程 的進程流圖84運行結(jié)果?運行結(jié)果?A in son process isA in thread is A in father process is 1085868788899091929394959697ready_q scheduler susp wakeup receive pcb6pcb4pcb3pcb2pcb1 dispatcher CPU98調(diào)度/分派結(jié)構(gòu)示意圖99100101102 pcb1pcb2pcbnCPU完成完成103簡單循環(huán)輪轉(zhuǎn)調(diào)度算法示意圖104 運行運行首先選擇首先選擇 100ms 因因 IO 而等待而等待 高
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中信息技術(shù)粵教版必修教學(xué)設(shè)計-2.3.1 從信息的來源進行判斷
- 2025至2031年中國移膜革行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國保鮮內(nèi)包裝塑料制品行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國調(diào)風(fēng)閥數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國花式編織機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國油壓縮管機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國服裝砂洗機數(shù)據(jù)監(jiān)測研究報告
- 起重設(shè)備基礎(chǔ)施工方案
- 2025至2030年中國主動門鉸鏈數(shù)據(jù)監(jiān)測研究報告
- 2025年中國鋼鋁帶分切機市場調(diào)查研究報告
- (正式版)JBT 10437-2024 電線電纜用可交聯(lián)聚乙烯絕緣料
- 【S城投公司償債能力存在的問題及優(yōu)化建議探析8000字(論文)】
- 品質(zhì)部質(zhì)量目標
- 2024屆廣東省深圳市中考物理模擬試卷(一模)(附答案)
- 前庭功能鍛煉科普知識講座
- 信永中和線上測評題庫
- 供應(yīng)鏈戰(zhàn)略布局與區(qū)域拓展案例
- 上海話培訓(xùn)課件
- 注塑車間績效考核方案
- 初中英語閱讀理解專項練習(xí)26篇(含答案)
- LS/T 1234-2023植物油儲存品質(zhì)判定規(guī)則
評論
0/150
提交評論