當前位置: 首頁 > 自學考試 > 自學考試備考資料 > 2012年自考工學類“操作系統(tǒng)原理”復習資料(7)

2012年自考工學類“操作系統(tǒng)原理”復習資料(7)

更新時間:2012-10-30 11:10:37 來源:|0 瀏覽0收藏0

自學考試報名、考試、查分時間 免費短信提醒

地區(qū)

獲取驗證 立即預約

請?zhí)顚憟D片驗證碼后獲取短信驗證碼

看不清楚,換張圖片

免費獲取短信驗證碼

  本章考核知識點:1、進程的順序性與并發(fā)性2、與時間有關的錯誤 3、相關臨界區(qū)4、進程的互斥5、進程的同步6、進程通信7、線程的概念

  本章自學要求:理解“進程”是操作系統(tǒng)中的基本執(zhí)行單位,在多道程序設計的系統(tǒng)中往往同時有許多進程存在,它們要輪流占用處理器。這些交叉執(zhí)行的并發(fā)進程相互之間可能是無關,也可能是相關的。當并發(fā)進程競爭共享資源時會出現(xiàn)與時間有關的錯誤,因此,應采用進程同步與互斥手段使其合理使用共享資源,以保證系統(tǒng)安全。當進程間必須通過信息交換進行協(xié)作時,可用進程通信的方式達到目的。

  重點是:分析與時間有關的錯誤;用PV操作實現(xiàn)進程的同步與互斥;用信箱實現(xiàn)進程通信。

  一、進程的順序性與并發(fā)性(領會)

  有人說,在程序中不是有跳轉語句和重復語句,怎么就是順序執(zhí)行?注意,這里是指進程在處理器中的執(zhí)行,因為處理器每次只能執(zhí)行一個操作,因此每條指令必須按順序進入CPU執(zhí)行,假使有一條指令是跳轉的,那么執(zhí)行本指令后,會取出跳轉目的地址的指令進入CPU運行,這個順序是程序規(guī)定的。所以對CPU而言,進程總是按順序執(zhí)行。

  進程是一個程序在一個數據集合上的一次執(zhí)行,同一個程序和同一個數據集的運行結果必然是相同的。這就是可再現(xiàn)性。

  同時執(zhí)行并不是真的同時,因為任一時刻CPU中只能有一個進程運行。

  1、進程的順序性:任何進程在順序的處理器上的執(zhí)行是嚴格按照順序進行的,這就是進程的順序性。當一個進程獨占處理器順序執(zhí)行時,具有兩個特性:一、封閉性二、可再現(xiàn)性。

  2、進程的同時執(zhí)行:在多道程序設計系統(tǒng)中,一個進程的工作沒有全部完成之前,另一個進程就可以開始工作,它們的執(zhí)行在時間上重迭的,我們把它們稱為是“可同時執(zhí)行的”。

  3、進程的并發(fā)性:若系統(tǒng)中存在一組可同時執(zhí)行的進程,則說該組進程具有并發(fā)性,并把可同時執(zhí)行的進程稱為“并發(fā)進程”。

  4、并發(fā)進程間的關系:并發(fā)進程相互之間可能是無關的,也可能是交往的。如果一個進程的執(zhí)行不影響其他進程的執(zhí)行,且與其他進程的進展情況無關,即它們是各自獨立的,則這些并發(fā)進程相互之間是無關的。如果一個進程的執(zhí)行依賴其他進程的執(zhí)行,則這些并發(fā)進程之間是有交往的。

  二、與時間有關的錯誤(簡單應用)

  1、并發(fā)進程的執(zhí)行速度取決于自身和進程調度策略。一個進程運行時會被中斷,且斷點是不固定的,一個進程被中斷后,哪個進程可以運行,被中斷的進程什么時候占用處理器,是與進程調度策略有關的。因此進程的執(zhí)行速度不能由自己決定。

  2、并發(fā)進程交替使用共享資源時會出現(xiàn)與時間有關的錯誤。由于共享資源的原因,加上進程并發(fā)執(zhí)行的隨機性,一個進程對另一個進程的影響是不可預測的。造成不正確的因素與進程占用處理器的時間、執(zhí)行的速度以及外界的影響有關。因此被稱為與時間有關的錯誤。

  3、分析并發(fā)進程中與時間有關的錯誤,請理解教材上的例子。

  三、相關臨界區(qū)(領會)

  1、臨界區(qū)的定義:并發(fā)進程中與共享變量有關的程序段稱為“臨界區(qū)”

  2、什么是相關臨界區(qū):相關臨界區(qū)是指并發(fā)進程中涉及到相同變量的那些程序段。

  3、對相關臨界區(qū)的管理要求。

  1)一次最多讓一個進程在臨界區(qū)執(zhí)行,當有進程在臨界區(qū)時其他想進入臨界區(qū)執(zhí)行的進程必須等待。

  2)任何一個進入臨界區(qū)執(zhí)行的進程必須在有限的時間內退出臨界區(qū),即任何一個進程都不應該無限地逗留在自己的臨界區(qū)。

  3)不能強迫一個進程無限地等待進入它的臨界區(qū),即有進程退出時應讓一個等待進入臨界區(qū)的進程進入它的臨界區(qū)。

  四、進程的互斥(綜合應用)

  1、進程互斥的含義:進程的互斥是指當有若干進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用,其他要使用該資源的進程必須等待,直到占用資源者釋放了該資源?! V操作是兩個過程,由他們兩個來控制一個信號S,假設S是紅燈的個數。

  每個進程進入臨界區(qū)前都要先執(zhí)行P操作。退出臨界區(qū)時執(zhí)行V操作。用下面的比喻很容易理解:

  臨界區(qū)門前有棵樹(S)

  用來掛紅燈

  進程想進CPU的門

  先得上樹取盞燈(調用一次P操作)

  取下一個去敲門(S=S-1)

  如果樹上沒燈取(S≤0)

  樹說欠你一盞燈(S為負時)

  沒轍只好外邊排隊等(Wait(S))

  得燈進程續(xù)運行

  運行完了要出門(調用一次V操作)

  馬上還回一盞燈(S=S+1)

  若有進程在催債(S≤0)

  放個進去事完成(Release(S))

  2、實現(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)操作中不可中斷,這種不可被中斷的過程稱為“原語”。

  3、用PV操作管理相關臨界區(qū)的一般形式

  一個信號量與一組涉及共享變量的相關臨界區(qū)聯(lián)系起來,信號量的初值定為“1”

  任何一個進程要進入臨界區(qū)前先調用P操作,執(zhí)行臨界區(qū)的操作后,退出臨界區(qū)時調用V操作。

  由于信號量的初值為“1”,P操作起到了限制一次只有一個進程進入臨界區(qū)的作用,其余進程欲進入臨界區(qū)必須符合對臨界區(qū)管理的第一個要求,即一次最多讓一個進程在臨界區(qū)執(zhí)行。進程退出后執(zhí)行V操作,若有進程在等待則釋放一個進程,這樣就達到了對臨界區(qū)管理的第二個和第三個要求(即不能無限逗留也不能無限等待)。

  4、分析進程互斥問題并用PV操作實現(xiàn)進程互斥。

?2013年高教自考網絡輔導課程招生簡章

?2013年1月自考報名 

更多信息請訪問:自學考試頻道    自學考試論壇

分享到: 編輯:環(huán)球網校

資料下載 精選課程 老師直播 真題練習

自學考試資格查詢

自學考試歷年真題下載 更多

自學考試每日一練 打卡日歷

0
累計打卡
0
打卡人數
去打卡

預計用時3分鐘

環(huán)球網校移動課堂APP 直播、聽課。職達未來!

安卓版

下載

iPhone版

下載

返回頂部