2012年自考工學(xué)類“操作系統(tǒng)原理”復(fù)習(xí)資料(7)
本章考核知識點:1、進(jìn)程的順序性與并發(fā)性2、與時間有關(guān)的錯誤 3、相關(guān)臨界區(qū)4、進(jìn)程的互斥5、進(jìn)程的同步6、進(jìn)程通信7、線程的概念
本章自學(xué)要求:理解“進(jìn)程”是操作系統(tǒng)中的基本執(zhí)行單位,在多道程序設(shè)計的系統(tǒng)中往往同時有許多進(jìn)程存在,它們要輪流占用處理器。這些交叉執(zhí)行的并發(fā)進(jìn)程相互之間可能是無關(guān),也可能是相關(guān)的。當(dāng)并發(fā)進(jìn)程競爭共享資源時會出現(xiàn)與時間有關(guān)的錯誤,因此,應(yīng)采用進(jìn)程同步與互斥手段使其合理使用共享資源,以保證系統(tǒng)安全。當(dāng)進(jìn)程間必須通過信息交換進(jìn)行協(xié)作時,可用進(jìn)程通信的方式達(dá)到目的。
重點是:分析與時間有關(guān)的錯誤;用PV操作實現(xiàn)進(jìn)程的同步與互斥;用信箱實現(xiàn)進(jìn)程通信。
一、進(jìn)程的順序性與并發(fā)性(領(lǐng)會)
有人說,在程序中不是有跳轉(zhuǎn)語句和重復(fù)語句,怎么就是順序執(zhí)行?注意,這里是指進(jìn)程在處理器中的執(zhí)行,因為處理器每次只能執(zhí)行一個操作,因此每條指令必須按順序進(jìn)入CPU執(zhí)行,假使有一條指令是跳轉(zhuǎn)的,那么執(zhí)行本指令后,會取出跳轉(zhuǎn)目的地址的指令進(jìn)入CPU運行,這個順序是程序規(guī)定的。所以對CPU而言,進(jìn)程總是按順序執(zhí)行。
進(jìn)程是一個程序在一個數(shù)據(jù)集合上的一次執(zhí)行,同一個程序和同一個數(shù)據(jù)集的運行結(jié)果必然是相同的。這就是可再現(xiàn)性。
同時執(zhí)行并不是真的同時,因為任一時刻CPU中只能有一個進(jìn)程運行。
1、進(jìn)程的順序性:任何進(jìn)程在順序的處理器上的執(zhí)行是嚴(yán)格按照順序進(jìn)行的,這就是進(jìn)程的順序性。當(dāng)一個進(jìn)程獨占處理器順序執(zhí)行時,具有兩個特性:一、封閉性二、可再現(xiàn)性。
2、進(jìn)程的同時執(zhí)行:在多道程序設(shè)計系統(tǒng)中,一個進(jìn)程的工作沒有全部完成之前,另一個進(jìn)程就可以開始工作,它們的執(zhí)行在時間上重迭的,我們把它們稱為是“可同時執(zhí)行的”。
3、進(jìn)程的并發(fā)性:若系統(tǒng)中存在一組可同時執(zhí)行的進(jìn)程,則說該組進(jìn)程具有并發(fā)性,并把可同時執(zhí)行的進(jìn)程稱為“并發(fā)進(jìn)程”。
4、并發(fā)進(jìn)程間的關(guān)系:并發(fā)進(jìn)程相互之間可能是無關(guān)的,也可能是交往的。如果一個進(jìn)程的執(zhí)行不影響其他進(jìn)程的執(zhí)行,且與其他進(jìn)程的進(jìn)展情況無關(guān),即它們是各自獨立的,則這些并發(fā)進(jìn)程相互之間是無關(guān)的。如果一個進(jìn)程的執(zhí)行依賴其他進(jìn)程的執(zhí)行,則這些并發(fā)進(jìn)程之間是有交往的。
二、與時間有關(guān)的錯誤(簡單應(yīng)用)
1、并發(fā)進(jìn)程的執(zhí)行速度取決于自身和進(jìn)程調(diào)度策略。一個進(jìn)程運行時會被中斷,且斷點是不固定的,一個進(jìn)程被中斷后,哪個進(jìn)程可以運行,被中斷的進(jìn)程什么時候占用處理器,是與進(jìn)程調(diào)度策略有關(guān)的。因此進(jìn)程的執(zhí)行速度不能由自己決定。
2、并發(fā)進(jìn)程交替使用共享資源時會出現(xiàn)與時間有關(guān)的錯誤。由于共享資源的原因,加上進(jìn)程并發(fā)執(zhí)行的隨機(jī)性,一個進(jìn)程對另一個進(jìn)程的影響是不可預(yù)測的。造成不正確的因素與進(jìn)程占用處理器的時間、執(zhí)行的速度以及外界的影響有關(guān)。因此被稱為與時間有關(guān)的錯誤。
3、分析并發(fā)進(jìn)程中與時間有關(guān)的錯誤,請理解教材上的例子。
三、相關(guān)臨界區(qū)(領(lǐng)會)
1、臨界區(qū)的定義:并發(fā)進(jìn)程中與共享變量有關(guān)的程序段稱為“臨界區(qū)”
2、什么是相關(guān)臨界區(qū):相關(guān)臨界區(qū)是指并發(fā)進(jìn)程中涉及到相同變量的那些程序段。
3、對相關(guān)臨界區(qū)的管理要求。
1)一次最多讓一個進(jìn)程在臨界區(qū)執(zhí)行,當(dāng)有進(jìn)程在臨界區(qū)時其他想進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須等待。
2)任何一個進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須在有限的時間內(nèi)退出臨界區(qū),即任何一個進(jìn)程都不應(yīng)該無限地逗留在自己的臨界區(qū)。
3)不能強(qiáng)迫一個進(jìn)程無限地等待進(jìn)入它的臨界區(qū),即有進(jìn)程退出時應(yīng)讓一個等待進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入它的臨界區(qū)。
四、進(jìn)程的互斥(綜合應(yīng)用)
1、進(jìn)程互斥的含義:進(jìn)程的互斥是指當(dāng)有若干進(jìn)程都要使用某一共享資源時,任何時刻最多只允許一個進(jìn)程去使用,其他要使用該資源的進(jìn)程必須等待,直到占用資源者釋放了該資源?! V操作是兩個過程,由他們兩個來控制一個信號S,假設(shè)S是紅燈的個數(shù)。
每個進(jìn)程進(jìn)入臨界區(qū)前都要先執(zhí)行P操作。退出臨界區(qū)時執(zhí)行V操作。用下面的比喻很容易理解:
臨界區(qū)門前有棵樹(S)
用來掛紅燈
進(jìn)程想進(jìn)CPU的門
先得上樹取盞燈(調(diào)用一次P操作)
取下一個去敲門(S=S-1)
如果樹上沒燈取(S≤0)
樹說欠你一盞燈(S為負(fù)時)
沒轍只好外邊排隊等(Wait(S))
得燈進(jìn)程續(xù)運行
運行完了要出門(調(diào)用一次V操作)
馬上還回一盞燈(S=S+1)
若有進(jìn)程在催債(S≤0)
放個進(jìn)去事完成(Release(S))
2、實現(xiàn)進(jìn)程互斥的工具――PV操作。
PV操作是由兩個操作,即P操作和V操作組成。P操作和V操作是兩個在信號量上進(jìn)行操作的過程。假定用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)操作中不可中斷,這種不可被中斷的過程稱為“原語”。
3、用PV操作管理相關(guān)臨界區(qū)的一般形式
一個信號量與一組涉及共享變量的相關(guān)臨界區(qū)聯(lián)系起來,信號量的初值定為“1”
任何一個進(jìn)程要進(jìn)入臨界區(qū)前先調(diào)用P操作,執(zhí)行臨界區(qū)的操作后,退出臨界區(qū)時調(diào)用V操作。
由于信號量的初值為“1”,P操作起到了限制一次只有一個進(jìn)程進(jìn)入臨界區(qū)的作用,其余進(jìn)程欲進(jìn)入臨界區(qū)必須符合對臨界區(qū)管理的第一個要求,即一次最多讓一個進(jìn)程在臨界區(qū)執(zhí)行。進(jìn)程退出后執(zhí)行V操作,若有進(jìn)程在等待則釋放一個進(jìn)程,這樣就達(dá)到了對臨界區(qū)管理的第二個和第三個要求(即不能無限逗留也不能無限等待)。
4、分析進(jìn)程互斥問題并用PV操作實現(xiàn)進(jìn)程互斥。
?2013年高教自考網(wǎng)絡(luò)輔導(dǎo)課程招生簡章
更多信息請訪問:自學(xué)考試頻道 自學(xué)考試論壇
最新資訊
- 考前必背!自學(xué)考試《中國近現(xiàn)代史綱要》論述題高頻考點2024-10-19
- 自考報考策略:科學(xué)搭配科目,加速畢業(yè)進(jìn)程2024-07-20
- 2025年考研考生五一假期,英語科目應(yīng)該如何復(fù)習(xí)?2024-05-03
- 備考指南!2024年4月自學(xué)考試考前要做哪些準(zhǔn)備?2024-03-31
- 考前備考沖刺!自考如何一次就過?2024-03-30
- 考點匯總:《中國近現(xiàn)代史綱要》論述題2024-03-25
- 備考資料:《中國近現(xiàn)代史綱要》簡答題考點匯總2024-03-25
- 自考可以從哪些維度進(jìn)行備考?2024-02-17
- @自考生,這里有備考技巧2024-02-17
- 自學(xué)考試備考復(fù)習(xí)方法!建議收藏2024-02-16