![第7章 進程同步與進程通信_第1頁](http://file4.renrendoc.com/view/e858dc55ecabe3f1bfdd50aa1c380ab3/e858dc55ecabe3f1bfdd50aa1c380ab31.gif)
![第7章 進程同步與進程通信_第2頁](http://file4.renrendoc.com/view/e858dc55ecabe3f1bfdd50aa1c380ab3/e858dc55ecabe3f1bfdd50aa1c380ab32.gif)
![第7章 進程同步與進程通信_第3頁](http://file4.renrendoc.com/view/e858dc55ecabe3f1bfdd50aa1c380ab3/e858dc55ecabe3f1bfdd50aa1c380ab33.gif)
![第7章 進程同步與進程通信_第4頁](http://file4.renrendoc.com/view/e858dc55ecabe3f1bfdd50aa1c380ab3/e858dc55ecabe3f1bfdd50aa1c380ab34.gif)
![第7章 進程同步與進程通信_第5頁](http://file4.renrendoc.com/view/e858dc55ecabe3f1bfdd50aa1c380ab3/e858dc55ecabe3f1bfdd50aa1c380ab35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第七章進程同步與進程通信7.1進程的順序性與并發(fā)性7.2與時間有關的錯誤7.3臨界區(qū)與PV操作7.4進程的互斥7.5進程的同步7.6進程通信7.7UNIX中的進程同步與通信7.8線程概念7.1進程的順序性與并發(fā)性進程的順序性任何進程在順序的處理器上的執(zhí)行是嚴格按照順序進行的,這就是進程的順序性。當一個進程獨占處理器順序執(zhí)行時,具有兩個特性:一、封閉性;二、可再現(xiàn)性。進程的同時執(zhí)行在多道程序設計系統(tǒng)中,一個進程的工作沒有全部完成之前,另一個進程就可以開始工作,它們的執(zhí)行在時間上重迭的,把它們稱為是“可同時執(zhí)行的”進程的并發(fā)性若系統(tǒng)中存在一組可同時執(zhí)行的進程,則說該組進程具有并發(fā)性,并把可同時執(zhí)行的進程稱為“并發(fā)進程”并發(fā)進程間的關系并發(fā)進程相互之間可能是無關的,也可能是交互的如果一個進程的執(zhí)行不影響其他進程的執(zhí)行,且與其他進程的進展情況無關,即它們是各自獨立的,則這些并發(fā)進程相互之間是無關的。如果一個進程的執(zhí)行依賴其他進程的執(zhí)行,則這些并發(fā)進程之間是有交互的。7.2與時間有關的錯誤并發(fā)進程交替使用共享資源時會出現(xiàn)與時間有關的錯誤由于共享資源的原因,加上進程并發(fā)執(zhí)行的隨機性,一個進程對另一個進程的影響是不可預測的造成不正確的因素與進程占用處理器的時間、執(zhí)行的速度以及外界的影響有關。因此被稱為與時間有關的錯誤。7.3臨界區(qū)與PV操作臨界區(qū)的定義并發(fā)進程中與共享變量有關的程序段稱為“臨界區(qū)”相關臨界區(qū)相關臨界區(qū)是指并發(fā)進程中涉及到相同變量的那些程序段相關臨界區(qū)的要求1)一次最多讓一個進程在臨界區(qū)執(zhí)行,當有進程在臨界區(qū)時其他想進入臨界區(qū)執(zhí)行的進程必須等待2)任何一個進入臨界區(qū)執(zhí)行的進程必須在有限的時間內(nèi)退出臨界區(qū),即任何一個進程都不應該無限地逗留在自己的臨界區(qū)3)不能強迫一個進程無限地等待進入它的臨界區(qū),即有進程退出時應讓一個等待進入臨界區(qū)的進程進入它的臨界區(qū)7.4進程的互斥進程互斥是指當有若干進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用,其他要使用該資源的進程必須等待,直到占用資源者釋放了該資源。實現(xiàn)進程互斥的工具--PV操作。PV操作是由兩個操作,即P操作和V操作組成。P操作和V操作是兩個在信號量上進行操作的過程。假定用S表示信號量,則把這兩個過程記作P(S)和V(S),它們的定義如下:ProcedueP(VarS:Semaphore);beginS:=S-1;ifS<0thenW(S)end;{P}ProcedueV(VarS:Semaphore);beginS:=S+1;ifS<=0thenR(S)end;{V}為了確保PV操作自身的正確執(zhí)行,因此P(S)和V(S)操作中不可中斷,這種不可被中斷的過程稱為“原語”。用PV操作管理相關臨界區(qū)的一般形式一個信號量與一組涉及共享變量的相關臨界區(qū)聯(lián)系起來,信號量S的初值定為“1”任何一個進程要進入臨界區(qū)前先調(diào)用P操作,執(zhí)行臨界區(qū)的操作后,退出臨界區(qū)時調(diào)用V操作由于信號量S的初值為“1”,P操作起到了限制一次只有一個進程進入臨界區(qū)的作用,其余進程欲進入臨界區(qū)必須符合對臨界區(qū)管理的第一個要求,即一次最多讓一個進程在臨界區(qū)執(zhí)行。進程退出后執(zhí)行V操作,若有進程在等待則釋放一個進程,這樣就達到了對臨界區(qū)管理的第二個和第三個要求(即不能無限逗留也不能無限等待)在寫程序時要注意以下幾點PV操作中間只執(zhí)行相關臨界區(qū)內(nèi)容,不能把臨界區(qū)外的程序段放到PV操作中間,否則會降低系統(tǒng)并發(fā)執(zhí)行能力或引起系統(tǒng)癱瘓。當有條件語句時要注意在臨界區(qū)內(nèi)每個條件分支出口均要調(diào)用V操作,否則會違反對臨界區(qū)管理的第二、三兩個要求。7.5進程的同步進程同步是指并發(fā)進程之間存在一種制約關系,一個進程的執(zhí)行依賴另一個進程的消息,當一個進程沒有得到另一個進程的消息時應等待,直到消息到達才被喚醒?!吧a(chǎn)者”與“消費者”問題有兩個消息量:一是“緩沖器里有物品”,二是“可把物品存入緩沖器”,這兩個消息量對應需要兩個信號量SP和SG。生產(chǎn)者進程調(diào)用P(SP)和V(SG),消費者進程調(diào)用P(SG)和V(SP)根據(jù)SG和SP的值來決定是否可以存或取物。正確使用PV操作實現(xiàn)進程同步(1)用一個信號量與一個消息聯(lián)系起來,當信號量的值為0時表示期望的消息尚未產(chǎn)生,當信號量值為非0時表示期望的消息已經(jīng)存在(2)在用PV操作實現(xiàn)同步時,一個信號量與一個消息量聯(lián)系在一起,當有多個消息時必須定義多個信號量;測試不同的消息是否到達或發(fā)送不同消息時,應對不同的信號調(diào)用P操作或V操作。PV操作實現(xiàn)進程同步與互斥的混合問題進程的同步與進程的互斥都涉及到并發(fā)進程訪問共享資源的問題進程的互斥實際上是進程同步的一種特殊情況若干進程互斥使用資源時,一個等待使用資源的的進程在得到占用資源的進程發(fā)出“歸還資源”的消息(調(diào)用了V操作)后,它就可去使用資源互斥使用資源的進程之間實際上也存在一個進程依賴另一個進程發(fā)出信息的制約關系進程的互斥與進程的同步稱為進程的同步PV操作實現(xiàn)進程同步與互斥時怎樣定義信號量,信號量的物理含義及其作用利用PV操作實現(xiàn)進程互斥時,用一個信號量與一組相關臨界區(qū)對應,這些進程在同一個信號量上調(diào)用P操作和V操作來實現(xiàn)互斥。利用PV操作實現(xiàn)進程同步時,每一個消息與一個信號量對應,進程在不同信號量上調(diào)用P操作以測試自己需要的消息是否到達,在不同信號量上調(diào)用V操作把不同的消息發(fā)送出去。7.6進程通信進程通信通過專門的通信機制實現(xiàn)進程間交換大量信息的通信方式稱為“進程通信”實現(xiàn)進程通信的基本原語“send(發(fā)送)”原語“receive(接收)”原語利用信箱通信時“發(fā)送”和“接收”原語的功能send(N,M)功能:把信件M送到指定的信箱N
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度在線教育平臺股權收益權出讓與合作運營協(xié)議
- 2025年度酒店廣告宣傳合作合同范本匯編
- 二零二五年度涂料產(chǎn)品檢測與分析合同
- 2025年度可再生能源發(fā)電項目借款合同范本
- 2025年度夫妻隱秘離婚協(xié)議模板
- 2025年度能源管理系統(tǒng)銷售合同集合
- 電商平臺下的智慧物流解決方案
- 2025年遼寧貨車從業(yè)資格證題
- 2025年貴州貨運從業(yè)資格試題及答案
- 電子商務平臺的網(wǎng)絡安全保障措施匯報
- 小學三年級數(shù)學上冊口算題卡(加換算)
- 機械制造HSE協(xié)議書
- 2024-2030年中國靜脈血栓栓塞癥(VTE)防治行業(yè)市場全景監(jiān)測及投資策略研究報告
- 2024年國家保密法知識競賽經(jīng)典題庫及完整答案【必刷】
- 抑郁癥病例分享
- 《子路、曾皙、冉有、公西華侍坐》課件()
- 青島版(五四制)四年級數(shù)學下冊全冊課件
- 新時代勞動教育教程(中職版勞動教育)全套教學課件
- 人教鄂教版小學科學三年級下冊全冊教案教學設計
- 云計算安全部門KPI設計
- h型鋼焊接工藝
評論
0/150
提交評論