進程互斥與同步-互斥.ppt

進程互斥與同步-互斥.ppt

ID:48132099

大?。?03.00 KB

頁數(shù):38頁

時間:2020-01-17

進程互斥與同步-互斥.ppt_第1頁
進程互斥與同步-互斥.ppt_第2頁
進程互斥與同步-互斥.ppt_第3頁
進程互斥與同步-互斥.ppt_第4頁
進程互斥與同步-互斥.ppt_第5頁
資源描述:

《進程互斥與同步-互斥.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、4.4進程之間的約束關(guān)系程序并發(fā)執(zhí)行的相互制約間接的相互制約關(guān)系——資源共享(競爭資源系統(tǒng))直接的相互制約關(guān)系——公共變量(進程協(xié)作)341.進程互斥的概念臨界資源例1:x代表某航班機座號,p1和p2兩個售票進程,售票工作是對變量x加1。這兩個進程在一個處理機C上并發(fā)執(zhí)行,分別具有內(nèi)部寄存器r1和r2。35例2:兩個進程共享一個變量x兩個進程共享一個變量x時,兩種可能的執(zhí)行次序:A:p1:r1:=x;r1:=r1+1;x:=r1;p2:r2:=x;r2:=r2+1;x:=r2;設(shè)x的初值為10,兩種情況下的執(zhí)行結(jié)果:情況A:x=10+2情況B:x=10+1B:

2、p1:r1:=x;r1:=r1+1;x:=r1;p2:r2:=x;r2:=r2+1;x:=r2;36一次僅允許一個進程使用的資源稱為臨界資源。硬件:如輸入機、打印機、磁帶機等軟件:如公用變量、數(shù)據(jù)、表格、隊列等每個進程中訪問臨界資源的那段程序稱為臨界區(qū)。?x:=x+1;?csa{進程A進程B?x:=x+1;?csb{37互斥在操作系統(tǒng)中,當(dāng)某一進程正在訪問某一存儲區(qū)域時,就不允許其他進程來讀出或者修改存儲區(qū)的內(nèi)容,否則,就會發(fā)生后果無法估計的錯誤。進程間的這種相互制約關(guān)系稱為互斥。?x:=x+1;?csa{進程A進程B?x:=x+1;?csb{間接制約由于共享

3、某一公有資源而引起的在臨界區(qū)內(nèi)不允許并發(fā)進程交叉執(zhí)行的現(xiàn)象,稱為由共享公有資源而造成的對并發(fā)進程執(zhí)行速度的間接制約。受間接制約的類中各程序段在執(zhí)行順序上是任意的。間接制約的幾個進程是互斥關(guān)系使用臨界區(qū)應(yīng)遵守的原則各進程享有獨立,平等的競爭共享資源的權(quán)利。某個進程不在臨界區(qū),不阻止其他進程進入排它性,只能有一個進程進入臨界區(qū)有限等待,某個進程申請使用臨界區(qū)后,必須在有限的時間內(nèi)離開。382.進程同步的概念什么是進程同步并發(fā)進程在一些關(guān)鍵點上可能需要互相等待與互通消息,這種相互制約的等待與互通消息稱為進程同步。進程同步的例病員就診看病活動:?要病人去化驗;?等化驗

4、結(jié)果;?繼續(xù)診病;化驗活動:?需要進行化驗??進行化驗;開出化驗結(jié)果;?39共享緩沖區(qū)的計算進程與打印進程的同步計算進程cp和打印進程iop公用一個單緩沖緩沖區(qū)bufiopcpABCDABCD10直接制約一組在異步環(huán)境下的并發(fā)進程,各自的執(zhí)行結(jié)果互為對方的執(zhí)行條件,從而限制各進程的執(zhí)行速度的過程稱為并發(fā)進程間的直接制約。直接制約的進程之間是同步關(guān)系4.5同步機構(gòu)操作系統(tǒng)提供的同步機構(gòu)如下兩種:鎖和上鎖、開鎖操作信號燈和PV操作401.鎖和上鎖、開鎖操作什么是鎖用變量w代表某種資源的狀態(tài),w稱為“鎖”。上鎖操作和開鎖操作檢測w的值(是0還是1);如果w的值為1,

5、繼續(xù)檢測;如果w的值為0,將鎖位置1(表示占用資源),進入臨界區(qū)執(zhí)行。(此為上鎖操作)臨界資源使用完畢,將鎖位置0。(此為開鎖操作)42上鎖原語算法lock輸入:鎖變量w輸出:無{test:if(w為1)∕*測試鎖位的值*∕gototest;elsew=1;∕*上鎖*∕}不斷的測試鎖的狀態(tài),耗費CPU時間開鎖原語算法unlock輸入:鎖變量w輸出:無{w=0;∕*開鎖*∕}432.信號燈和P、V操作什么是信號燈信號燈是一個確定的二元組(s,q),s是一個具有非負初值的整型變量,q是一個初始狀態(tài)為空的隊列。操作系統(tǒng)利用信號燈的狀態(tài)對并發(fā)進程和共享資源進行

6、控制和管理。信號燈信號燈是整型變量。變量值≥0時,表示綠燈,進程執(zhí)行;變量值?0時,表示紅燈,進程停止執(zhí)行。注意:創(chuàng)建信號燈時,應(yīng)準(zhǔn)確說明信號燈s的意義和初值(這個初值絕不能為負值)。44P操作P操作的定義對信號燈s的p操作記為p(s)。p(s)是一個不可分割的原語操作,即取信號燈值減1,若相減結(jié)果為負,則調(diào)用p(s)的進程被阻,并插入到該信號燈的等待隊列中,否則可以繼續(xù)執(zhí)行。P操作的實現(xiàn)入口S-1→SS≥0?轉(zhuǎn)進程調(diào)度返回入信號燈等待隊列置“等待狀態(tài)”≥0?045V操作V操作的定義對信號燈s的v操作記為v(s)。v(s)是一個不可分割的原語操作,即取信號燈值

7、加1,若相加結(jié)果大于零,進程繼續(xù)執(zhí)行,否則,要幫助喚醒在信號燈等待隊列上的一個進程。V操作的實現(xiàn)入口S+1→S從信號燈的等待隊列中取出首元素入就緒隊列置“就緒狀態(tài)”返回S≤0?>0PV操作是通過原語實現(xiàn)的4.6進程互斥的實現(xiàn)461.用上鎖原語和開鎖原語實現(xiàn)進程互斥框圖描述上鎖原語進入臨界區(qū)csa進程pa開鎖原語上鎖原語進入臨界區(qū)csb進程pb開鎖原語47程序描述程序task1main(){intw=1;∕*互斥鎖*∕cobeginpa();pb();coend}47程序描述pa(){?lock(w);csa;unlock(w);?}pb(){?lock(w)

8、;csb;unlock(w);?}48

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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