第2章 進程管理b-互斥與同步

第2章 進程管理b-互斥與同步

ID:19706099

大?。?42.00 KB

頁數(shù):127頁

時間:2018-10-05

第2章 進程管理b-互斥與同步_第1頁
第2章 進程管理b-互斥與同步_第2頁
第2章 進程管理b-互斥與同步_第3頁
第2章 進程管理b-互斥與同步_第4頁
第2章 進程管理b-互斥與同步_第5頁
資源描述:

《第2章 進程管理b-互斥與同步》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、第2、3章進程管理B互斥與同步本章知識點:并發(fā)原理互斥——軟件解決方法互斥——硬件解決方法2.3進程同步管程2.5進程通訊2.4經典進程的同步問題1順序程序及其特性程序的順序性包括如下兩層含義:(1)內部順序性,對于一個進程來說,它的所有指令是按序執(zhí)行的;(2)外部順序性,對于多個進程來說,所有進程是依次執(zhí)行的;例如,假設有P1和P2兩個進程,其活動分別為:P1活動:a1a2a3a4P2活動:b1b2b3b4順序執(zhí)行時,有如下兩種情形:情形1:a1a2a3a4b1b2b3b4情形2:b1b2b3b4a1a2a3a4

2、2順序程序設計三個良好的特性:(1)順序性:處理機嚴格按照指令次序依次執(zhí)行,即僅當一條指令執(zhí)行完后才開始執(zhí)行下一條指令;(2)封閉性:程序在執(zhí)行過程中獨占系統(tǒng)中的全部資源,該程序的運行環(huán)境只與其自身動作有關,不受其它程序及外界因素影響;(3)可再現(xiàn)性:程序的執(zhí)行結果與執(zhí)行速度無關,而只與初始條件有關,給定相同的初始條件,程序的任意多次執(zhí)行一定得到相同的執(zhí)行結果.3并發(fā)程序及其特性程序的并發(fā)性包括如下兩層含義:(1)內部并發(fā)性,對于一個進程來說,它的所有指令可能按序執(zhí)行,也可能不按次序執(zhí)行;(2)外部并發(fā)性:對于多個

3、進程來說,所有進程是交叉(interleave)執(zhí)行的.例如,對于上面P1和P2兩個進程來說,只考慮外部并發(fā)性,具有許多情形,如:情形1:a1b1b2a2a3b3a4b4情形2:b1b2a1a2a3b3b4a4并發(fā)進程在其執(zhí)行過程中,出現(xiàn)哪種交叉情形是不可預知的,這就是并發(fā)程序帶來的不確定性.4并發(fā)程序三個特性(1)交叉性:程序并發(fā)執(zhí)行對應某一種交叉,不同的交叉可能導致不同的計算結果,操作系統(tǒng)應當保證只產生導致正確結果的交叉,去除那些可能導致不正確結果的交叉.(2)非封閉性:一個進程的運行環(huán)境可能被其它進程所改變,

4、從而相互影響.(3)不可再現(xiàn)性:由于交叉的隨機性,并發(fā)程序的多次執(zhí)行可能對應不同的交叉,因而不能期望重新運行的程序能夠再現(xiàn)上次運行的結果.5與時間有關的錯誤若有兩個進程P1、P2,共享一個公用變量c,初值為8,P1、P2所做工作如下:P1(退票)P2(售票)L1:a=c;L4:b=c;L2:a=a+1;L5:b=b-1;L3:c=a;L6:c=b;6與時間有關的錯誤試看下述兩種執(zhí)行情況:(1)若語句執(zhí)行順序為L1,L2,L3,L4,L5,L6,則c=8;(2)若語句執(zhí)行順序為L1,L2,L4,L5,L3,L6,則c

5、=7。顯然,上述結果是不能令人滿意的。P1、P2是進程,每個進程中語句執(zhí)行順序是不變的,而兩個進程的語句是可以交叉執(zhí)行的,它們以哪種方式交叉執(zhí)行是不可預知的。改進:將c處理成臨界資源,讓P1、P2互斥訪問c,一個進程對于c的一次訪問完畢,另一個進程才能訪問,就不會出現(xiàn)這種情況。7與時間有關的錯誤上述錯誤并不是一定發(fā)生的,它與進程的推進速度有關.即上述錯誤發(fā)生與否與進程P1和P2的推進速度有關,而速度是時間的函數(shù),因而這種錯誤稱為與時間有關的錯誤.發(fā)生上述錯誤的原因在于兩個進程P1和P2同時對于一個變量C進行操作,一

6、個進程對C的操作僅做了一部分,另一個進程中途插入使得變量C處于一種不確定的狀態(tài),用數(shù)據(jù)庫的術語來說,就是失去了變量C的數(shù)據(jù)完整性.8臨界區(qū)criticalsection進程訪問臨界資源的程序段稱為臨界區(qū)。在一個系統(tǒng)中,可以用某些方法或某種機制保證進程對臨界區(qū)的互斥訪問,一個好的解決方案應該遵循以下條件:(1)任何兩個進程不能同時處于臨界區(qū)內;(2)進程在臨界區(qū)外只作有限時間的等待;(3)臨界區(qū)外的進程不得阻塞其它進程進入臨界區(qū);(4)等待臨界區(qū)時,釋放CPU。92.3并發(fā)原理在單處理機多道程序的系統(tǒng)中,進程的并發(fā)執(zhí)

7、行方式是插入執(zhí)行,表面看起來進程如同是同時執(zhí)行的。在多處理機系統(tǒng)中并發(fā)執(zhí)行方式有插入執(zhí)行和重疊執(zhí)行。并發(fā)的存在要求操作系統(tǒng)必須能跟蹤大量活躍進程,必須為每一活躍進程分配資源,必須保護每一進程的數(shù)據(jù)和物理資源不被其他進程侵犯,并且進程執(zhí)行的結果與其他并發(fā)進程執(zhí)行時的相對速度無關。102.3進程間相互聯(lián)系與 相互作用相互聯(lián)系:(1)相關進程:在邏輯上具有某種聯(lián)系的進程稱作相關進程.(2)無關進程:在邏輯上沒有任何聯(lián)系的進程稱作無關進程.相互作用:(1)直接相互作用:進程之間不需要通過中間媒介而發(fā)生的相互作用,這種相互作

8、用通常是有意識的.(2)間接相互作用:進程之間需要通過某種中間媒介而發(fā)生的相互作用,這種相互作用通常是無意識的.112.3進程間的相互競爭并發(fā)進程在競爭使用同一資源時將產生沖突。進程間的競爭面臨3個控制問題:互斥mutualexclusion(臨界資源和臨界段)死鎖deadlock饑餓starvation競爭的控制不可避免地涉及到操作系統(tǒng),因為是操作系統(tǒng)分配

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

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

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