自考“操作系統(tǒng)原理”復(fù)習(xí)資料(8)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來(lái)源:本站整理
  • 閱讀:
導(dǎo)讀:
  本章考核知識(shí)點(diǎn) :1、進(jìn)程的順序性與并發(fā)性 2、與時(shí)間有關(guān)的錯(cuò)誤 3、相關(guān)臨界區(qū) 4、進(jìn)程的互斥 5、進(jìn)程的同步 6、進(jìn)程通信 7、線程的概念
  本章自學(xué)要求 :理解“進(jìn)程”是操作系統(tǒng)中的基本執(zhí)行單位,在多道程序設(shè)計(jì)的系統(tǒng)中往往同時(shí)有許多進(jìn)程存在,它們要輪流占用處理器。這些交叉執(zhí)行的并發(fā)進(jìn)程相互之間可能是無(wú)

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

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

重點(diǎn) 是:分析與時(shí)間有關(guān)的錯(cuò)誤;用PV操作實(shí)現(xiàn)進(jìn)程的同步與互斥;用信箱實(shí)現(xiàn)進(jìn)程通信。

一、進(jìn)程的順序性與并發(fā)性( 領(lǐng)會(huì) )

有人說(shuō),在程序中不是有跳轉(zhuǎn)語(yǔ)句和重復(fù)語(yǔ)句,怎么就是順序執(zhí)行?注意,這里是指進(jìn)程在處理器中的執(zhí)行,因?yàn)樘幚砥髅看沃荒軋?zhí)行一個(gè)操作,因此每條指令必須按順序進(jìn)入CPU執(zhí)行,假使有一條指令是跳轉(zhuǎn)的,那么執(zhí)行本指令后,會(huì)取出跳轉(zhuǎn)目的地址的指令進(jìn)入CPU運(yùn)行,這個(gè)順序是程序規(guī)定的。所以對(duì)CPU而言,進(jìn)程總是按順序執(zhí)行。

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

同時(shí)執(zhí)行并不是真的同時(shí),因?yàn)槿我粫r(shí)刻CPU中只能有一個(gè)進(jìn)程運(yùn)行。

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

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

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

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

二、與時(shí)間有關(guān)的錯(cuò)誤( 簡(jiǎn)單應(yīng)用 )

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

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

3、分析并發(fā)進(jìn)程中與時(shí)間有關(guān)的錯(cuò)誤,請(qǐng)理解教材上的例子。

三。相關(guān)臨界區(qū)( 領(lǐng)會(huì) )

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

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

3、對(duì)相關(guān)臨界區(qū)的管理要求。

1) 一次最多讓一個(gè) 進(jìn)程在臨界區(qū)執(zhí)行,當(dāng)有進(jìn)程在臨界區(qū)時(shí)其他想進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須等待。

2)任何一個(gè)進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須在 有限的時(shí)間內(nèi)退出 臨界區(qū),即任何一個(gè)進(jìn)程都不應(yīng)該無(wú)限地逗留在自己的臨界區(qū)。

3)不能強(qiáng)迫一個(gè)進(jìn)程無(wú)限地等待進(jìn)入它的臨界區(qū),即有進(jìn)程退出時(shí)應(yīng) 讓一個(gè)等待進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入 它的臨界區(qū)。

四、進(jìn)程的互斥( 綜合應(yīng)用 )

1、 進(jìn)程互斥 的含義:進(jìn)程的互斥是指當(dāng)有若干進(jìn)程都要使用某一共享資源時(shí),任何時(shí)刻最多只允許一個(gè)進(jìn)程去使用,其他要使用該資源的進(jìn)程必須等待,直到占用資源者釋放了該資源。 PV操作是兩個(gè)過(guò)程,由他們兩個(gè)來(lái)控制一個(gè)信號(hào)S,假設(shè)S是紅燈的個(gè)數(shù)。

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

臨界區(qū)門(mén)前有棵樹(shù)(S)

用來(lái)掛紅燈

進(jìn)程想進(jìn)CPU的門(mén)

先得上樹(shù)取盞燈(調(diào)用一次P操作)

取下一個(gè)去敲門(mén)(S=S-1)

如果樹(shù)上沒(méi)燈?。⊿≤0)

樹(shù)說(shuō)欠你一盞燈(S為負(fù)時(shí))

沒(méi)轍只好外邊排隊(duì)等( W ait (S))

得燈進(jìn)程續(xù)運(yùn)行

運(yùn)行完了要出門(mén)(調(diào)用一次V操作)

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

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

放個(gè)進(jìn)去事完成( R elease (S))

2、實(shí)現(xiàn)進(jìn)程互斥的工具——PV操作。

PV操作 是由兩個(gè)操作,即P操作和V操作組成。P操作和V操作是兩個(gè)在信號(hào)量上進(jìn)行操作的過(guò)程。假定用S表示信號(hào)量則把這兩個(gè)過(guò)程記作P(S)和V(S),它們的定義如下: Procedue P(Var S: Semaphore); begin S:=S-1; if S 0 then W(S) end; {P} Procedue V(Var S: Semaphore); begin S:=S+1; if S =0 then R(S) end; {V}

為了確保PV操作自身的正確執(zhí)行,因此P(S)和V(S)操作中不可中斷,這種 不可被中斷的過(guò)程稱為“原語(yǔ) ”。

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

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

任何一個(gè)進(jìn)程要進(jìn)入臨界區(qū)前先調(diào)用P操作,執(zhí)行臨界區(qū)的操作后,退出臨界區(qū)時(shí)調(diào)用V操作。

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

4、分析進(jìn)程互斥問(wèn)題并用PV操作實(shí)現(xiàn)進(jìn)程互斥。

相關(guān)閱讀

熱門(mén)標(biāo)簽

關(guān)于自考“操作系統(tǒng)原理”復(fù)習(xí)資料(8)文章

2021年自學(xué)考試報(bào)考入口 2021年自學(xué)考試報(bào)考入口

熱門(mén)文章