版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 基礎(chǔ)知識總結(jié)基礎(chǔ)知識總結(jié) 考核要點考核要點:進程的定義及特征、進程與程序的異同、進:進程的定義及特征、進程與程序的異同、進 程的狀態(tài)及引起狀態(tài)轉(zhuǎn)換的典型原因。程的狀態(tài)及引起狀態(tài)轉(zhuǎn)換的典型原因。 基礎(chǔ)要點基礎(chǔ)要點: (1)進程的并發(fā)執(zhí)行是指若干個進程在執(zhí)行時間上是重)進程的并發(fā)執(zhí)行是指若干個進程在執(zhí)行時間上是重 疊的。疊的。 (2)進程是一個程序?qū)δ硞€數(shù)據(jù)集的一次運行活動。)進程是一個程序?qū)δ硞€數(shù)據(jù)集的一次運行活動。 (3)并發(fā)進程在訪問共享變量時,可能會出現(xiàn)與時間)并發(fā)進程在訪問共享變量時,可能會出現(xiàn)與時間 有關(guān)的錯誤有關(guān)的錯誤 (4)程序并發(fā)執(zhí)行與順序執(zhí)行相比產(chǎn)生了一些新特征,)程序并發(fā)
2、執(zhí)行與順序執(zhí)行相比產(chǎn)生了一些新特征, 分別是:間斷性,失去封閉性和不可再現(xiàn)性。分別是:間斷性,失去封閉性和不可再現(xiàn)性。 2 (5)前趨圖展示了語句間的一種執(zhí)行順序關(guān)系,)前趨圖展示了語句間的一種執(zhí)行順序關(guān)系, 而進程圖展示的是進程之間的家族關(guān)系。而進程圖展示的是進程之間的家族關(guān)系。 (6)進程的基本特征是:動態(tài)性,并發(fā)性,獨立)進程的基本特征是:動態(tài)性,并發(fā)性,獨立 性,異步性和結(jié)構(gòu)特征。性,異步性和結(jié)構(gòu)特征。 (7)程序的順序執(zhí)行通常是在單道程序的工作環(huán))程序的順序執(zhí)行通常是在單道程序的工作環(huán) 境中,具有運行結(jié)果可再現(xiàn)的特點。境中,具有運行結(jié)果可再現(xiàn)的特點。 (8)進程的基本狀態(tài)有執(zhí)行、就緒
3、和阻塞。)進程的基本狀態(tài)有執(zhí)行、就緒和阻塞。 (9)進程是動態(tài)的概念,而程序是靜態(tài)的概念。)進程是動態(tài)的概念,而程序是靜態(tài)的概念。 3 (10)進程控制塊的初始化工作包括初始化標識符信息、)進程控制塊的初始化工作包括初始化標識符信息、 初始化處理機狀態(tài)信息、初始化處理機控制信息。初始化處理機狀態(tài)信息、初始化處理機控制信息。 (11)在進程管理中,當進程等待某一事件時,將執(zhí)行)在進程管理中,當進程等待某一事件時,將執(zhí)行 狀態(tài)從變?yōu)樽枞麪顟B(tài)。狀態(tài)從變?yōu)樽枞麪顟B(tài)。 (12)當進程執(zhí)行的時間片用完時,進程從執(zhí)行狀態(tài)變)當進程執(zhí)行的時間片用完時,進程從執(zhí)行狀態(tài)變 成就緒狀態(tài)。成就緒狀態(tài)。 (13)分配到
4、必要資源并獲得處理機時的進程狀態(tài)是執(zhí))分配到必要資源并獲得處理機時的進程狀態(tài)是執(zhí) 行狀態(tài)。行狀態(tài)。 4 (14)進程從結(jié)構(gòu)上講,包括程序段、數(shù)據(jù)段和進)進程從結(jié)構(gòu)上講,包括程序段、數(shù)據(jù)段和進 程控制塊這幾部分。程控制塊這幾部分。 (15)在一個單處理機系統(tǒng)中,若有)在一個單處理機系統(tǒng)中,若有4個用戶進程個用戶進程 且假定當前時刻有一個進程處于執(zhí)行狀態(tài),同處且假定當前時刻有一個進程處于執(zhí)行狀態(tài),同處 于就緒狀態(tài)的進程最多有于就緒狀態(tài)的進程最多有3個,最少有個,最少有0個。個。 (16)在操作系統(tǒng)中,不可中斷的操作稱為原語。)在操作系統(tǒng)中,不可中斷的操作稱為原語。 (17)進程控制就是對系統(tǒng)中的進
5、程實施有效的管)進程控制就是對系統(tǒng)中的進程實施有效的管 理,通過使用進程創(chuàng)建、進程撤消、進程阻塞、理,通過使用進程創(chuàng)建、進程撤消、進程阻塞、 進程喚醒等控制原語實現(xiàn)。進程喚醒等控制原語實現(xiàn)。 5 (18)在操作系統(tǒng)引入線程概念的主要目的是減)在操作系統(tǒng)引入線程概念的主要目的是減 少程序并發(fā)執(zhí)行時所需付出的時空開銷,提高少程序并發(fā)執(zhí)行時所需付出的時空開銷,提高 程序執(zhí)行的并發(fā)程度。程序執(zhí)行的并發(fā)程度。 (19)線程是進程內(nèi)一個相對獨立的、可調(diào)度的)線程是進程內(nèi)一個相對獨立的、可調(diào)度的 執(zhí)行單元。執(zhí)行單元。 (20)線程是系統(tǒng)進行調(diào)度的基本單位。)線程是系統(tǒng)進行調(diào)度的基本單位。 6 常見考試知識點
6、分析常見考試知識點分析 1、多道程序設(shè)計、多道程序設(shè)計 (1)定義:是在主存中同時存放多個用戶的作業(yè),使定義:是在主存中同時存放多個用戶的作業(yè),使 之同時處于運行狀態(tài)而共享系統(tǒng)資源。實現(xiàn)的前之同時處于運行狀態(tài)而共享系統(tǒng)資源。實現(xiàn)的前 提是:中斷和通道技術(shù)的出現(xiàn)。提是:中斷和通道技術(shù)的出現(xiàn)。 (2)多道程序的特點:并行性、共享性。多道程序的特點:并行性、共享性。 (3)多道程序的目標多道程序的目標 目標:是充分使用系統(tǒng)所有資源并盡可能地使它們目標:是充分使用系統(tǒng)所有資源并盡可能地使它們 并行工作。把硬件的代價交叉分頁在大量并行用并行工作。把硬件的代價交叉分頁在大量并行用 戶之間,而使計算機系統(tǒng)的
7、代價極小化。戶之間,而使計算機系統(tǒng)的代價極小化。 7 (4)多道程序設(shè)計的實現(xiàn)解決的多道程序設(shè)計的實現(xiàn)解決的3個問題:存?zhèn)€問題:存 儲保護、程序浮動處理機的管理和調(diào)度、儲保護、程序浮動處理機的管理和調(diào)度、 系統(tǒng)資源的管理和調(diào)度。系統(tǒng)資源的管理和調(diào)度。 (5)多道程序系統(tǒng)所必須解決的問題:多道程序系統(tǒng)所必須解決的問題: 提出解決各種沖突的策略;協(xié)調(diào)并發(fā)活動的提出解決各種沖突的策略;協(xié)調(diào)并發(fā)活動的 關(guān)系;保證數(shù)據(jù)的一致性;實現(xiàn)數(shù)據(jù)的存關(guān)系;保證數(shù)據(jù)的一致性;實現(xiàn)數(shù)據(jù)的存 取控制。取控制。 2、進程、進程 (1)定義與特征定義與特征 8 3、進程的狀態(tài)及轉(zhuǎn)換:、進程的狀態(tài)及轉(zhuǎn)換: 4、進程控制塊、進
8、程控制塊PCB:最重要的記錄型數(shù)據(jù)結(jié)構(gòu),:最重要的記錄型數(shù)據(jù)結(jié)構(gòu), 記錄了操作系統(tǒng)所需要的、用于描述進程情況及記錄了操作系統(tǒng)所需要的、用于描述進程情況及 控制進程運行所需要的全部信息。是使用一個在控制進程運行所需要的全部信息。是使用一個在 多道程序環(huán)境下不能獨立運行的程序,成為一個多道程序環(huán)境下不能獨立運行的程序,成為一個 能獨立運行的基本單位,一個能與其他進程并發(fā)能獨立運行的基本單位,一個能與其他進程并發(fā) 執(zhí)行的進程。執(zhí)行的進程。 5、進程隊列:就緒隊列和等待隊列,隊列的入隊、進程隊列:就緒隊列和等待隊列,隊列的入隊 和出隊。和出隊。 9 7、中斷及中斷響應(yīng)、中斷及中斷響應(yīng) (1)定義:是指
9、定義:是指CPU對系統(tǒng)中發(fā)生的異步事件對系統(tǒng)中發(fā)生的異步事件 的響應(yīng)或處理,異步事件是指無一定時序的響應(yīng)或處理,異步事件是指無一定時序 關(guān)系而隨機發(fā)生的事件。關(guān)系而隨機發(fā)生的事件。 10 (2)中斷在操作系統(tǒng)中的作用與地位:能充分發(fā)揮處中斷在操作系統(tǒng)中的作用與地位:能充分發(fā)揮處 理機的使用效率;提高系統(tǒng)的實時處理的能力。理機的使用效率;提高系統(tǒng)的實時處理的能力。 (3)中斷的功能:發(fā)現(xiàn)中斷源,提出中斷請求;保護中斷的功能:發(fā)現(xiàn)中斷源,提出中斷請求;保護 現(xiàn)場;啟動并運行處理中斷事件的程序。現(xiàn)場;啟動并運行處理中斷事件的程序。 (4)中斷響應(yīng)和處理中斷響應(yīng)和處理 中斷響應(yīng):是指處理器每執(zhí)行一條指
10、令后,硬件的中斷響應(yīng):是指處理器每執(zhí)行一條指令后,硬件的 中斷裝置立即檢查有無中斷事件發(fā)生,若有,則中斷裝置立即檢查有無中斷事件發(fā)生,若有,則 暫?,F(xiàn)行進程的執(zhí)行,而讓暫?,F(xiàn)行進程的執(zhí)行,而讓OS的中斷處理程序應(yīng)的中斷處理程序應(yīng) 用處理器的過程。用處理器的過程。 中斷處理:中斷處理:OS的中斷處理程序?qū)χ袛嗍录M行處理的中斷處理程序?qū)χ袛嗍录M行處理 時所要做的時所要做的3方面工作:方面工作: 11 保護被中斷進程的現(xiàn)場信息:把中斷時的通用寄存保護被中斷進程的現(xiàn)場信息:把中斷時的通用寄存 器、控制寄存器內(nèi)容以及舊程序狀態(tài)字器、控制寄存器內(nèi)容以及舊程序狀態(tài)字PSW保存保存 到被中斷進程的進程控制
11、塊中。到被中斷進程的進程控制塊中。 分析中斷原因:根據(jù)舊程序狀態(tài)字的中斷可知發(fā)生分析中斷原因:根據(jù)舊程序狀態(tài)字的中斷可知發(fā)生 中斷的具體原因。中斷的具體原因。 處理發(fā)生的中斷事件:由相應(yīng)的程序去做。處理發(fā)生的中斷事件:由相應(yīng)的程序去做。 8、中斷優(yōu)先級和中斷屏蔽、中斷優(yōu)先級和中斷屏蔽 中斷優(yōu)先級:中斷裝置按預(yù)定的順序來響應(yīng)同時出中斷優(yōu)先級:中斷裝置按預(yù)定的順序來響應(yīng)同時出 現(xiàn)的中斷事件,這個順序稱為中斷優(yōu)先級。高低現(xiàn)的中斷事件,這個順序稱為中斷優(yōu)先級。高低 順序:硬件故障中斷、自愿中斷、程序性中斷、順序:硬件故障中斷、自愿中斷、程序性中斷、 外部中斷和輸入外部中斷和輸入/輸出中斷。輸出中斷。
12、12 10、進程的并發(fā)性、進程的并發(fā)性 (1)進程的順序性:封閉性和可再現(xiàn)性)進程的順序性:封閉性和可再現(xiàn)性 (2)進程的并發(fā)性)進程的并發(fā)性 11、與時間有關(guān)的錯誤、與時間有關(guān)的錯誤 12、臨界區(qū)與、臨界區(qū)與P、V操作操作 (1)臨界區(qū):并發(fā)進程中與共享變量有關(guān)的程序)臨界區(qū):并發(fā)進程中與共享變量有關(guān)的程序 段。段。 相關(guān)臨界區(qū):并發(fā)進程中涉及相同變量的那些程序相關(guān)臨界區(qū):并發(fā)進程中涉及相同變量的那些程序 段。段。 (2)P、V操作操作 13 13、進程的互斥與同步、進程的互斥與同步 (1)進程的互斥:指當有若干個進程使用某)進程的互斥:指當有若干個進程使用某 一共享資源時,任何時刻最多只允
13、許一個一共享資源時,任何時刻最多只允許一個 進程使用,而其他要使用該資源的進程必進程使用,而其他要使用該資源的進程必 須等待,直到占用資源者釋放該資源須等待,直到占用資源者釋放該資源 (2)進程的同步:指并發(fā)進程之間存在一種)進程的同步:指并發(fā)進程之間存在一種 制約關(guān)系,一個進程的執(zhí)行依賴另一個進制約關(guān)系,一個進程的執(zhí)行依賴另一個進 程的消息,當一個進程沒有得到另一進程程的消息,當一個進程沒有得到另一進程 的消息時應(yīng)等待,直到消息到達才被喚醒。的消息時應(yīng)等待,直到消息到達才被喚醒。 14 (3)同步與互斥的混合問題:進程的互斥是)同步與互斥的混合問題:進程的互斥是 進程間競爭共享資源的使用權(quán),
14、這種競爭進程間競爭共享資源的使用權(quán),這種競爭 沒有固定的必然關(guān)系;進程同步,涉及共沒有固定的必然關(guān)系;進程同步,涉及共 享資源的并發(fā)進程之間有一種必然的依賴享資源的并發(fā)進程之間有一種必然的依賴 關(guān)系。關(guān)系。 15 實戰(zhàn)練習(xí)實戰(zhàn)練習(xí) 現(xiàn)代計算機系統(tǒng)一般都采用現(xiàn)代計算機系統(tǒng)一般都采用(A ),其基本思,其基本思 想是在主存中同時存放多個用戶的作業(yè),想是在主存中同時存放多個用戶的作業(yè), 使之同時處于運行狀態(tài)而共享資源。使之同時處于運行狀態(tài)而共享資源。 A 多道程序設(shè)計技術(shù)多道程序設(shè)計技術(shù) B 多處理機技術(shù)多處理機技術(shù) C 分布式系統(tǒng)技術(shù)分布式系統(tǒng)技術(shù) D 分時系統(tǒng)技術(shù)分時系統(tǒng)技術(shù) 16 一個運行進程
15、必須具有的一個運行進程必須具有的3種基本狀態(tài)是種基本狀態(tài)是(C ) A 就緒狀態(tài)、掛起狀態(tài)和執(zhí)行狀態(tài)就緒狀態(tài)、掛起狀態(tài)和執(zhí)行狀態(tài) B 掛起狀態(tài)、阻塞狀態(tài)和執(zhí)行狀態(tài)掛起狀態(tài)、阻塞狀態(tài)和執(zhí)行狀態(tài) C 就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài)就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài) D 就緒狀態(tài)、執(zhí)行狀態(tài)和終止狀態(tài)就緒狀態(tài)、執(zhí)行狀態(tài)和終止狀態(tài) 17 進程和程序的根本區(qū)別在于進程和程序的根本區(qū)別在于(A ) A 靜態(tài)與動態(tài)特點靜態(tài)與動態(tài)特點 B 是不是被調(diào)入到內(nèi)存中是不是被調(diào)入到內(nèi)存中 C 是不是具有就緒、運行和等待三種狀態(tài)是不是具有就緒、運行和等待三種狀態(tài) D 是不是占有處理器是不是占有處理器 下面所列的進程的下面所列的進
16、程的3種基本狀態(tài)之間的轉(zhuǎn)換不種基本狀態(tài)之間的轉(zhuǎn)換不 正確的是正確的是 ( D) A 就緒狀態(tài)就緒狀態(tài)執(zhí)行狀態(tài)執(zhí)行狀態(tài) B 執(zhí)行狀態(tài)執(zhí)行狀態(tài)就緒狀態(tài)就緒狀態(tài) C 執(zhí)行狀態(tài)執(zhí)行狀態(tài)阻塞狀態(tài)阻塞狀態(tài) D 就緒狀態(tài)就緒狀態(tài)阻塞狀態(tài)阻塞狀態(tài) 18 19 操作系統(tǒng)是根據(jù)操作系統(tǒng)是根據(jù)( B)來對并發(fā)執(zhí)行的進程進行來對并發(fā)執(zhí)行的進程進行 控制和管理的。控制和管理的。 A 進程的基本狀態(tài)進程的基本狀態(tài) B 進程控制塊進程控制塊 C 多道程序設(shè)計多道程序設(shè)計 D 進程的優(yōu)先權(quán)進程的優(yōu)先權(quán) 在進程進程塊中,主要包括在進程進程塊中,主要包括4方面用于描述和方面用于描述和 控制進程運行的信息,其中控制進程運行的信息,
17、其中(C )主要是由處主要是由處 理機各種寄存器中的內(nèi)容所組成。理機各種寄存器中的內(nèi)容所組成。 A 進程標識符信息進程標識符信息 B 進程調(diào)度信息進程調(diào)度信息 C 處理機狀態(tài)信息處理機狀態(tài)信息 D 進程控制信息進程控制信息 20 21 目前,常用的目前,常用的PCB組織方式有兩種組織方式有兩種(A ) A 鏈接方式和索引方式鏈接方式和索引方式 B 鏈接方式和順序方式鏈接方式和順序方式 C 順序方式和索引方式順序方式和索引方式 D 直接方式和順序方式直接方式和順序方式 22 計算機系統(tǒng)采用多道程序設(shè)計技術(shù)后(計算機系統(tǒng)采用多道程序設(shè)計技術(shù)后(D) A縮短了每個程序的執(zhí)行時間縮短了每個程序的執(zhí)行時
18、間 B系統(tǒng)效率隨并行工作道數(shù)成比例增長系統(tǒng)效率隨并行工作道數(shù)成比例增長 C使用設(shè)備時不會發(fā)生沖突使用設(shè)備時不會發(fā)生沖突 D提高了系統(tǒng)效率提高了系統(tǒng)效率 多道程序設(shè)計是指(多道程序設(shè)計是指(D) A程序段執(zhí)行不是順序的程序段執(zhí)行不是順序的 B有多個程序同時進入有多個程序同時進入CPU中運行中運行 C同一個程序可以對應(yīng)多個不同進程同一個程序可以對應(yīng)多個不同進程 D有多個程序同時進入主存并發(fā)執(zhí)行有多個程序同時進入主存并發(fā)執(zhí)行 23 24 以下不屬于進程基本特性的是(以下不屬于進程基本特性的是(A) A進程是具有特定功能的一組指令的集合,進程是具有特定功能的一組指令的集合, 它指出了處理器執(zhí)行操作的步
19、驟它指出了處理器執(zhí)行操作的步驟 B進程可以并發(fā)執(zhí)行進程可以并發(fā)執(zhí)行 C進程具有動態(tài)性,多個不同的進程可以進程具有動態(tài)性,多個不同的進程可以 包含相同的程序包含相同的程序 D進程具有進程具有3種基本狀態(tài):就緒狀態(tài)、運行種基本狀態(tài):就緒狀態(tài)、運行 狀態(tài)和阻塞狀態(tài)狀態(tài)和阻塞狀態(tài) 25 在一個單處理器系統(tǒng)中,處于運行狀態(tài)的進在一個單處理器系統(tǒng)中,處于運行狀態(tài)的進 程(程(C) A不能被打斷不能被打斷B不能請求系統(tǒng)調(diào)用不能請求系統(tǒng)調(diào)用 C只有一個只有一個D可以有多個可以有多個 在單處理器系統(tǒng)中,如果同時存在有在單處理器系統(tǒng)中,如果同時存在有10個進個進 程,則處于就緒隊列中的進程最多為(程,則處于就緒隊
20、列中的進程最多為(C) A1B8C9D10 26 27 進程具有進程具有3種基本狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)和阻種基本狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)和阻 塞狀態(tài)。進程在執(zhí)行過程中,其狀態(tài)總是不停地塞狀態(tài)。進程在執(zhí)行過程中,其狀態(tài)總是不停地 發(fā)生變化,下面關(guān)于進程狀態(tài)變化的說法中正確發(fā)生變化,下面關(guān)于進程狀態(tài)變化的說法中正確 的是(的是(B) A一個進程必須經(jīng)過進程的一個進程必須經(jīng)過進程的3種基本狀態(tài)才能結(jié)束種基本狀態(tài)才能結(jié)束 B在分時系統(tǒng)中,一個正在運行進程的時間片如在分時系統(tǒng)中,一個正在運行進程的時間片如 果終結(jié),該進程將轉(zhuǎn)入就緒狀態(tài)果終結(jié),該進程將轉(zhuǎn)入就緒狀態(tài) C三種進程狀態(tài)是進程運行過程中的基本狀
21、態(tài),三種進程狀態(tài)是進程運行過程中的基本狀態(tài), 進程可能同時處于某幾種狀態(tài)中進程可能同時處于某幾種狀態(tài)中 D進程一旦形成,首先進入的是運行狀態(tài)。進程一旦形成,首先進入的是運行狀態(tài)。 28 操作系統(tǒng)根據(jù)(操作系統(tǒng)根據(jù)(D)控制和管理進程,它是)控制和管理進程,它是 進程存在的標志進程存在的標志 A中斷裝置中斷裝置 B中斷寄存器中斷寄存器 C程序狀態(tài)字程序狀態(tài)字D進程控制塊進程控制塊 29 在任何時刻,一個進程的狀態(tài)變化(在任何時刻,一個進程的狀態(tài)變化(C)引)引 起另一個進程的狀態(tài)變化起另一個進程的狀態(tài)變化 A必定必定B一定不一定不C不一定不一定D不可能不可能 30 對于兩個并發(fā)進程,設(shè)互斥信號量
22、為對于兩個并發(fā)進程,設(shè)互斥信號量為A,若,若 A=0,則(,則(C) A表示有一個進程進入臨界區(qū),另一個進表示有一個進程進入臨界區(qū),另一個進 程等待進入程等待進入 B表示有兩個進程進入臨界區(qū)表示有兩個進程進入臨界區(qū) C表示有一個進程進入臨界區(qū)表示有一個進程進入臨界區(qū) D表示沒有進程進入臨界區(qū)表示沒有進程進入臨界區(qū) 31 造成進程發(fā)生錯誤的因素是與進程占用處理造成進程發(fā)生錯誤的因素是與進程占用處理 器的時間,執(zhí)行的速度及外界的影響有關(guān)。器的時間,執(zhí)行的速度及外界的影響有關(guān)。 而這些錯誤都與時間有關(guān),所以稱為(而這些錯誤都與時間有關(guān),所以稱為(B) A時間因素時間因素B與時間有關(guān)的錯誤與時間有關(guān)的
23、錯誤 C時間錯誤時間錯誤D時間問題時間問題 P、V操作是對(操作是對(A)進行操作)進行操作 A信號量信號量 B執(zhí)行速度執(zhí)行速度 C執(zhí)行時間執(zhí)行時間D執(zhí)行結(jié)果執(zhí)行結(jié)果 32 33 當兩個進程合作完成一個任務(wù),在并發(fā)執(zhí)行中,一當兩個進程合作完成一個任務(wù),在并發(fā)執(zhí)行中,一 個進程要等待其合作伙伴發(fā)來消息,或者建立某個進程要等待其合作伙伴發(fā)來消息,或者建立某 個條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱個條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱 為進程的(為進程的(C) A調(diào)度調(diào)度B執(zhí)行執(zhí)行 C同步同步D互斥互斥 信號量被定義為一個整型變量,其初始值是信號量被定義為一個整型變量,其初始值是 (D) A
24、0 B無任何限制無任何限制 C負整數(shù)負整數(shù)D非負數(shù)非負數(shù) 34 35 在消息緩沖通信中,系統(tǒng)應(yīng)提供若干(在消息緩沖通信中,系統(tǒng)應(yīng)提供若干(B),用以),用以 存放信息。存放信息。 A隊列緩沖區(qū)隊列緩沖區(qū)B消息緩沖區(qū)消息緩沖區(qū) C容量大的緩沖區(qū)容量大的緩沖區(qū)D容量小的緩沖區(qū)容量小的緩沖區(qū) 用信箱實現(xiàn)進程間互通信息的通信機制要有用信箱實現(xiàn)進程間互通信息的通信機制要有 兩個通信原語,它們是(兩個通信原語,它們是(C) A “發(fā)送發(fā)送”原語和原語和“執(zhí)行執(zhí)行”原語原語 B“就緒就緒”原語和原語和“執(zhí)行執(zhí)行”原語原語 C“發(fā)送發(fā)送”原語和原語和“接收接收”原語原語 D“就緒就緒”原語和原語和“接收接收”
25、原語原語 36 37 對若干個并發(fā)進程共享某一變量的相關(guān)臨界對若干個并發(fā)進程共享某一變量的相關(guān)臨界 區(qū)的管理,下列說法不正確的是(區(qū)的管理,下列說法不正確的是(A) A相關(guān)的進程可以同時進入相關(guān)的進程可以同時進入 B不能強迫一個進程無限地等待進入它的不能強迫一個進程無限地等待進入它的 臨界區(qū)臨界區(qū) C一次至多一個進程能夠進入臨界區(qū)一次至多一個進程能夠進入臨界區(qū) D不能讓一個進程無限制地在臨界區(qū)執(zhí)行不能讓一個進程無限制地在臨界區(qū)執(zhí)行 38 由于并發(fā)進程執(zhí)行的隨機性,一個進程對另一個進由于并發(fā)進程執(zhí)行的隨機性,一個進程對另一個進 程的影響是不可預(yù)測的,甚至造成結(jié)果的不正確,程的影響是不可預(yù)測的,甚
26、至造成結(jié)果的不正確, (c ) A造成不正確的因素只與外界的影響有關(guān)系造成不正確的因素只與外界的影響有關(guān)系 B造成不正確的因素只與執(zhí)行的速度有關(guān)造成不正確的因素只與執(zhí)行的速度有關(guān) C造成不正確的因素與時間有關(guān)造成不正確的因素與時間有關(guān) D造成不正確的因素只與進程占用處理器有關(guān)造成不正確的因素只與進程占用處理器有關(guān) 39 并發(fā)進程之間的關(guān)系是(并發(fā)進程之間的關(guān)系是(D) A無關(guān)的無關(guān)的B相關(guān)的相關(guān)的 C可能相關(guān)的可能相關(guān)的 D可能是無關(guān)的,也可能是有交往的可能是無關(guān)的,也可能是有交往的 40 下列關(guān)于下列關(guān)于P、V操作的說法中正確的是(操作的說法中正確的是(A) AP、V操作是兩個操作,而且都是
27、原語操作操作是兩個操作,而且都是原語操作 BP、V操作中操作中P操作可以不用原語方式,而操作可以不用原語方式,而V操作操作 必須使用原語操作必須使用原語操作 CP、V操作是一個過程,同一般函數(shù),過程一樣,操作是一個過程,同一般函數(shù),過程一樣, 只是執(zhí)行管理臨界區(qū)的操作只是執(zhí)行管理臨界區(qū)的操作 DP、V操作中操作中P操作必須使用原語方式,而操作必須使用原語方式,而V操作操作 可以不使用原語操作可以不使用原語操作 41 如果有如果有4個進程共享同一程序段,每次允許個進程共享同一程序段,每次允許3 個進程進入該程序段,若用個進程進入該程序段,若用P、V操作作為操作作為 同步機制,則信號量的取值范圍是
28、(同步機制,則信號量的取值范圍是(C) A4,3,2,1,-1B2,1,0,-1,-2 C3,2,1,0,-1D2,1,0,-2,-3 42 下列關(guān)于進程同步和互斥的說法中錯誤的是(下列關(guān)于進程同步和互斥的說法中錯誤的是(D) A進程互斥和進程同步有時也統(tǒng)稱為進程的同步進程互斥和進程同步有時也統(tǒng)稱為進程的同步 B進程互斥是進程同步的特例,互斥進程是競爭進程互斥是進程同步的特例,互斥進程是競爭 共享資源的使用,而同步進程之間必然有依賴關(guān)共享資源的使用,而同步進程之間必然有依賴關(guān) 系系 C進程的同步和互斥都涉及并發(fā)進程訪問共享資進程的同步和互斥都涉及并發(fā)進程訪問共享資 源的問題源的問題 D進程同步
29、是進程互斥的一種特殊情況。進程同步是進程互斥的一種特殊情況。 43 在進程通信中,(在進程通信中,(B)常用信件交換信息。)常用信件交換信息。 A低級通信低級通信B高級通信高級通信 C信息緩沖信息緩沖D消息通信消息通信 由于并發(fā)進程之間(由于并發(fā)進程之間(C)不能由進程本身控)不能由進程本身控 制,當它們在共享某些資源的時候可能會制,當它們在共享某些資源的時候可能會 產(chǎn)生與時間有關(guān)的錯誤。產(chǎn)生與時間有關(guān)的錯誤。 A分配外部設(shè)備分配外部設(shè)備 B分配內(nèi)存空間分配內(nèi)存空間 C執(zhí)行的相對速度執(zhí)行的相對速度D占用存儲器的位置占用存儲器的位置 44 45 下面對線程的描述中,錯誤的是(下面對線程的描述中,
30、錯誤的是(D) A同一進程中的線程可共享該進程的主存同一進程中的線程可共享該進程的主存 空間空間 B線程是調(diào)度和執(zhí)行單位線程是調(diào)度和執(zhí)行單位 C不同的線程可執(zhí)行相同的程序不同的線程可執(zhí)行相同的程序 D線程是資源分配單位線程是資源分配單位 46 P、V操作是(操作是(A)。)。 A兩條低級進程通信原語兩條低級進程通信原語 B兩組不同的機器指令兩組不同的機器指令 C兩條系統(tǒng)調(diào)用命令兩條系統(tǒng)調(diào)用命令 D兩條高級進程通信原語兩條高級進程通信原語 47 進程間的同步是指進程間在邏輯上的相互進程間的同步是指進程間在邏輯上的相互 (B)關(guān)系。)關(guān)系。 A聯(lián)接聯(lián)接B制約制約C繼續(xù)繼續(xù)D調(diào)用調(diào)用 下面對進程的描
31、述中,錯誤的是(下面對進程的描述中,錯誤的是(D) A進程是動態(tài)的概念進程是動態(tài)的概念 B進程執(zhí)行需要處理機進程執(zhí)行需要處理機 C進程是有生命期的進程是有生命期的 D進程是指令的集合進程是指令的集合 48 49 下面所述步驟中,(下面所述步驟中,(A)不是創(chuàng)建進程所必)不是創(chuàng)建進程所必 需的。需的。 A由調(diào)度程序為進程分配由調(diào)度程序為進程分配CPU B建立一個進程控制塊建立一個進程控制塊 C為進程分配內(nèi)存為進程分配內(nèi)存 D將進程控制塊鏈入就緒隊列將進程控制塊鏈入就緒隊列 50 為了進行進程協(xié)調(diào),進程之間應(yīng)當具有一定為了進行進程協(xié)調(diào),進程之間應(yīng)當具有一定 的聯(lián)系,這種聯(lián)系通常采用進程間交換數(shù)的聯(lián)
32、系,這種聯(lián)系通常采用進程間交換數(shù) 據(jù)的方式進行,這種方式稱為(據(jù)的方式進行,這種方式稱為(D)。)。 A進程互斥進程互斥B互斥互斥 C進程制約進程制約D進程通信進程通信 51 為使進程由活動就緒轉(zhuǎn)變?yōu)殪o止就緒,應(yīng)利為使進程由活動就緒轉(zhuǎn)變?yōu)殪o止就緒,應(yīng)利 用用(A2)原語;為使進程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樵Z;為使進程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)?阻塞狀態(tài),應(yīng)利用阻塞狀態(tài),應(yīng)利用(B4)原語;為使進程由原語;為使進程由 靜止就緒變?yōu)榛顒泳途w,就應(yīng)利用靜止就緒變?yōu)榛顒泳途w,就應(yīng)利用(C3)原原 語;為使進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),語;為使進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài), 應(yīng)利用應(yīng)利用(D5)原語。原語。 A,B,C,D:
33、 (1)create (2)suspend (3)active (4)block (5)wakeup。 52 對于記錄型信號量,在執(zhí)行一次對于記錄型信號量,在執(zhí)行一次wait操作時,操作時, 信號量的值應(yīng)當信號量的值應(yīng)當(A3),當其值為,當其值為(B2)時,時, 進程應(yīng)阻塞。在執(zhí)行進程應(yīng)阻塞。在執(zhí)行signal操作時,信號操作時,信號 量的值應(yīng)當為量的值應(yīng)當為(C)2,當其值為,當其值為(D4)時,應(yīng)時,應(yīng) 喚醒阻塞隊列中的進程。喚醒阻塞隊列中的進程。 A,C: (1)不變;不變;(2)加加1;(3)減減1;(4)加指定加指定 數(shù)值;數(shù)值;(5)減指定數(shù)值。減指定數(shù)值。 B,D: (1)大于
34、大于0;(2)小于小于0;(3)大于等于大于等于0; (4)小于等于小于等于0。 53 用信號量用信號量S實現(xiàn)對系統(tǒng)中實現(xiàn)對系統(tǒng)中4臺打印機的互斥使臺打印機的互斥使 用,用,S.value的初值應(yīng)設(shè)置為的初值應(yīng)設(shè)置為(A4),若,若 S.value的當前值為的當前值為-1,則表示,則表示S.L隊列中隊列中 有有(B2)個等待進程。個等待進程。 A: (1)1;(2)0;(3)-1;(4)4;(5)-4。 B: (1)0;(2)1;(3)2;(4)3;(5)4;(6)5; (7)6。 54 2.4 經(jīng)典進程的同步問題經(jīng)典進程的同步問題 2.4.1 生產(chǎn)者和消費者問題:是相互合作進程生產(chǎn)者和消費者
35、問題:是相互合作進程 關(guān)系的一種抽象,是有限緩沖區(qū)問題關(guān)系的一種抽象,是有限緩沖區(qū)問題 Bounded Buffer,常用來說明同步原語的常用來說明同步原語的 能力。有多種變型能力。有多種變型,多種不同情況。多種不同情況。 同步進程之間存在著哪些同步關(guān)系同步進程之間存在著哪些同步關(guān)系: 55 (1)所有進程間互斥訪問公用緩沖池所有進程間互斥訪問公用緩沖池:mutex=1 (2)生產(chǎn)者速度快時,緩沖池滿,生產(chǎn)者等待。生產(chǎn)者速度快時,緩沖池滿,生產(chǎn)者等待。 (先消費,后生產(chǎn))先消費,后生產(chǎn)):empty=n (3)消費者速度快時,緩沖池空,消費者等待。消費者速度快時,緩沖池空,消費者等待。 (先生
36、產(chǎn),后消費)(先生產(chǎn),后消費):full=0 注意:注意:P、V操作的位置順序,一般先同步,操作的位置順序,一般先同步, 后互斥。后互斥。 56 Producer Consumer Repeat Repeat 生產(chǎn)一個消息生產(chǎn)一個消息; P(full); P(empty); P(mutex); P(mutex) 取消息;取消息; 投放消息投放消息; V(mutex); V(mutex); V(empty); V(full); Until false; Until false 57 2009年綜合應(yīng)用題 例:三個進程例:三個進程P1、P2、P3互斥使用一個包含互斥使用一個包含 N(N0)個單元的
37、緩沖區(qū)。個單元的緩沖區(qū)。P1每次用每次用 produce()生成一個正整數(shù)并用生成一個正整數(shù)并用put()送入緩送入緩 沖區(qū)某一空單元中;沖區(qū)某一空單元中;P2每次用每次用getodd()從從 該緩沖區(qū)中取出一個奇數(shù)并用該緩沖區(qū)中取出一個奇數(shù)并用countodd() 統(tǒng)計奇數(shù)個數(shù);統(tǒng)計奇數(shù)個數(shù);P3每次用每次用geteven()從該緩從該緩 沖區(qū)中取出一個偶數(shù)并沖區(qū)中取出一個偶數(shù)并counteven()統(tǒng)計偶統(tǒng)計偶 數(shù)個數(shù)。請用信號量機制實現(xiàn)這三個進程數(shù)個數(shù)。請用信號量機制實現(xiàn)這三個進程 的同步與互斥活動,并說明所定義信號量的同步與互斥活動,并說明所定義信號量 的含義。要求用偽代碼描述。的含義
38、。要求用偽代碼描述。 58 答案:定義信號量答案:定義信號量S1控制控制P1與與P2之間的同步;之間的同步;S2控制控制P1與與 P3之間的同步;之間的同步;empty控制生產(chǎn)者與消費者之間的同步;控制生產(chǎn)者與消費者之間的同步; mutex控制進程間互斥使用緩沖區(qū)。程序如下:控制進程間互斥使用緩沖區(qū)。程序如下: Var s1=0,s2=0,empty=N,mutex=1; Parbegin P1:begin X=produce(); /*生成一個數(shù)生成一個數(shù)*/ P(empty);/*判斷緩沖區(qū)是否有空單元判斷緩沖區(qū)是否有空單元*/ P(mutex); /*緩沖區(qū)是否被占用緩沖區(qū)是否被占用*/
39、 put(x); If x%2=0 V(s2); /*如果是偶數(shù),向如果是偶數(shù),向P3發(fā)出信號發(fā)出信號*/ else V(s1); /*如果是奇數(shù),向如果是奇數(shù),向P2發(fā)出信號發(fā)出信號*/ V(mutex); /*使用完緩沖區(qū),釋放使用完緩沖區(qū),釋放*/ 59 P2:begin P(s1); /*收到收到P1發(fā)來的信號,已產(chǎn)生一個奇數(shù)發(fā)來的信號,已產(chǎn)生一個奇數(shù)*/ P(mutex); /*緩沖區(qū)是否被占用緩沖區(qū)是否被占用*/ Getodd(); Countodd():=coutodd()+1; V(mutex); /*釋放緩沖區(qū)釋放緩沖區(qū)*/ V(empty); /*向向P1發(fā)信號,多出一個空
40、單元發(fā)信號,多出一個空單元*/ End. 60 P3:begin P(s2); /*收到收到P1發(fā)來的信號,已產(chǎn)生一個偶數(shù)發(fā)來的信號,已產(chǎn)生一個偶數(shù)*/ P(mutex); /*緩沖區(qū)是否被占用緩沖區(qū)是否被占用*/ Geteven(); Counteven():=counteven()+1; V(mutex); /* 釋放緩沖區(qū)釋放緩沖區(qū)*/ V(empty); /*向向P1發(fā)信號,多出一個空單元發(fā)信號,多出一個空單元*/ End. Parend. 61 例例 銀行排隊問題銀行排隊問題(北京大學(xué)北京大學(xué)2000)銀行有)銀行有n個柜員個柜員, 每個顧客進入銀行后先取一個號每個顧客進入銀行后先取
41、一個號,并且等著叫號并且等著叫號, 當一個柜員空閑后,就叫下一個號。當一個柜員空閑后,就叫下一個號。 解:將顧客號碼排成一個隊列解:將顧客號碼排成一個隊列,顧客進入銀行領(lǐng)取號顧客進入銀行領(lǐng)取號 碼后碼后,將號碼由隊尾插入將號碼由隊尾插入;柜員空閑時柜員空閑時,從隊首取得從隊首取得 顧客號碼顧客號碼,并且為這個顧客服務(wù)并且為這個顧客服務(wù),由于隊列為若干由于隊列為若干 進程共享進程共享, 所以需要互斥所以需要互斥.柜員空閑時柜員空閑時,若有顧客若有顧客,就就 叫下一個顧客為之服務(wù)叫下一個顧客為之服務(wù).因此因此,需要設(shè)置一個信號需要設(shè)置一個信號 量來記錄等待服務(wù)的顧客數(shù)量來記錄等待服務(wù)的顧客數(shù). 6
42、2 Cobegin var mutex=1,customer_count=0:semaphore; cobegin process customer begin repeat 取號碼;取號碼; p(mutex); 進入隊列;進入隊列; v(mutex); v(customer_count); until false; end 63 process servers_i(i=1,.,n) begin repeat p(customer_count); p(mutex); 從隊列中取下一個號碼;從隊列中取下一個號碼; v(mutex); 為該號碼持有者服務(wù);為該號碼持有者服務(wù); until fals
43、e end Coend 64 例例 交通問題交通問題 有橋如圖示:有橋如圖示:(北京大學(xué)(北京大學(xué)1992年研究生試年研究生試 題)題) 橋 北 南 65 車流如箭頭所示。橋上不允許兩車交會,但車流如箭頭所示。橋上不允許兩車交會,但 允許同方向車輛依次通行(即橋上可以有允許同方向車輛依次通行(即橋上可以有 多個同方向的車)。用多個同方向的車)。用P、V操作實現(xiàn)交通操作實現(xiàn)交通 管理以防止橋上堵塞。管理以防止橋上堵塞。 解:設(shè)置解:設(shè)置countA和和countB表示由南往北、表示由南往北、 由北由北 往南已在橋上行駛的汽車數(shù)目,初值往南已在橋上行駛的汽車數(shù)目,初值 為為0,設(shè)置設(shè)置SA表示對表
44、示對countA的互斥,初值為的互斥,初值為 1 ,設(shè)置,設(shè)置SB表示對表示對countB的互斥,初值為的互斥,初值為 1,設(shè)置設(shè)置mutex表示對橋的互斥,初值為表示對橋的互斥,初值為1 66 P1:由南往北:由南往北 行駛到橋頭;行駛到橋頭; P(SA); If(countA=0)P(mutex); countA+; V(SA); 過橋;過橋; P(SA); countA-; if(countA=0)V(mutex); V(SA); 67 P2:由北往南:由北往南 行駛到橋頭;行駛到橋頭; P(SB); If(countB=0)P(mutex); countB+; V(SB); 過橋;過橋
45、; P(SB); countB-; if(countB=0)V(mutex); V(SB); 68 桌上有一空盤,允許存放一只水果。爸爸可向盤桌上有一空盤,允許存放一只水果。爸爸可向盤 中放蘋果,也可向盤中放桔子,兒子專等吃盤中放蘋果,也可向盤中放桔子,兒子專等吃盤 中的桔子,女兒專等吃盤中的蘋果。中的桔子,女兒專等吃盤中的蘋果。 規(guī)定規(guī)定:當盤空時一次只能放一只水果供吃者當盤空時一次只能放一只水果供吃者 取用,請用取用,請用P、V原語實現(xiàn)爸爸、兒子、女兒三原語實現(xiàn)爸爸、兒子、女兒三 個并發(fā)進程的同步。個并發(fā)進程的同步。 69 分析:本題中,爸爸、兒子、女兒共用一個盤子,分析:本題中,爸爸、兒
46、子、女兒共用一個盤子, 且盤中一次只能放一個水果。當盤子為空時,且盤中一次只能放一個水果。當盤子為空時, 爸爸可將一個水果放入果盤中。若放入果盤中爸爸可將一個水果放入果盤中。若放入果盤中 的是桔子,則允許兒子吃,女兒必須等待,若的是桔子,則允許兒子吃,女兒必須等待,若 放入果盤中的是蘋果,則允許女兒吃,兒子必放入果盤中的是蘋果,則允許女兒吃,兒子必 須等待。本題實際是生產(chǎn)者須等待。本題實際是生產(chǎn)者消費者問題的一消費者問題的一 種變形。這里,生產(chǎn)者放入緩沖區(qū)產(chǎn)品有兩類,種變形。這里,生產(chǎn)者放入緩沖區(qū)產(chǎn)品有兩類, 消費者也有兩類,每類消費者只消費其中固定消費者也有兩類,每類消費者只消費其中固定 的
47、一類產(chǎn)品。的一類產(chǎn)品。 70 解:本題中,應(yīng)設(shè)置三個信號量解:本題中,應(yīng)設(shè)置三個信號量s,so,sa,信號,信號 量量s表示盤子是否為空,其初值為表示盤子是否為空,其初值為1,信號量,信號量so 表示盤中是否有桔子,其初值為表示盤中是否有桔子,其初值為0,信號量,信號量sa 表示盤中是否有蘋果,其初值為表示盤中是否有蘋果,其初值為0。同步描述。同步描述 如下:如下: var s,sa,so:integer=1,0,0; father:begin p(s); 將水果放入盤中;將水果放入盤中; if(放入的是桔子放入的是桔子)v(so); else v(sa); end; 71 son:begin
48、 p(so); 從盤中取出桔子;從盤中取出桔子; v(s); 吃桔子;吃桔子; end 72 daughter:begin p(sa); 從盤中取出蘋果;從盤中取出蘋果; v(s); 吃蘋果;吃蘋果; end 73 (北京大學(xué)北京大學(xué)90年試題年試題)(略略) (1)寫出寫出P、V操作的定義操作的定義 (2)有三個進程有三個進程PA、PB和和PC合作解決文件打印合作解決文件打印 問題:問題:PA將文件記錄從磁盤讀入主存的緩沖將文件記錄從磁盤讀入主存的緩沖 區(qū)區(qū)1,每執(zhí)行一次讀一個記錄;,每執(zhí)行一次讀一個記錄;PB將緩沖區(qū)將緩沖區(qū)1 的內(nèi)容復(fù)制到緩沖區(qū)的內(nèi)容復(fù)制到緩沖區(qū)2,每執(zhí)行一次,復(fù)制一,每
49、執(zhí)行一次,復(fù)制一 個記錄;個記錄;PC將緩沖區(qū)將緩沖區(qū)2的內(nèi)容打印出來,每執(zhí)的內(nèi)容打印出來,每執(zhí) 行一次打印一個記錄。緩沖區(qū)的大小等于一個行一次打印一個記錄。緩沖區(qū)的大小等于一個 記錄大小。記錄大小。 請用請用P、V操作來保證文件的正確打印。操作來保證文件的正確打印。 74 解解: (2)本題中:進程本題中:進程PA、PB和和PC之間的關(guān)系為:之間的關(guān)系為:PA與與PB共用一個單緩沖區(qū),共用一個單緩沖區(qū), 而而PB又與又與PC共用一個單緩沖區(qū),其合作方式如圖示:共用一個單緩沖區(qū),其合作方式如圖示: 從磁盤讀入復(fù)制 緩沖區(qū)1緩沖區(qū)2 PAPCPB 打印 75 當緩沖區(qū)當緩沖區(qū)1為空時,為空時,P
50、A可將一個記錄讀可將一個記錄讀 入其中,若緩沖區(qū)入其中,若緩沖區(qū)1中有數(shù)據(jù)且緩沖區(qū)中有數(shù)據(jù)且緩沖區(qū)2為空,為空, PB可將記錄從緩沖區(qū)可將記錄從緩沖區(qū)1復(fù)制到緩沖區(qū)復(fù)制到緩沖區(qū)2中;若中;若 緩沖區(qū)緩沖區(qū)2中有數(shù)據(jù),則進程中有數(shù)據(jù),則進程PC可打印記錄。其可打印記錄。其 他條件下,相應(yīng)進程必須等待。實際上,這是他條件下,相應(yīng)進程必須等待。實際上,這是 一個生產(chǎn)者一個生產(chǎn)者消費者問題。消費者問題。(PB既是生產(chǎn)者又既是生產(chǎn)者又 是消費者是消費者) 76 為遵循這一同步規(guī)則。應(yīng)設(shè)置四個信號量為遵循這一同步規(guī)則。應(yīng)設(shè)置四個信號量 empty1、empty2、full1、full2,信號量,信號量 e
51、mpty1和和empty2分別表示緩沖區(qū)分別表示緩沖區(qū)1及緩沖區(qū)及緩沖區(qū)2 是否為空,其初值為是否為空,其初值為1;信號量;信號量full1和和full2分分 別表示緩沖區(qū)別表示緩沖區(qū)1和緩沖區(qū)和緩沖區(qū)2是否有記錄可供處理,是否有記錄可供處理, 其初值為其初值為0。其同步描述如下:。其同步描述如下: 初始化;初始化; 77 PA:begin repeat 從磁盤讀一個記錄;從磁盤讀一個記錄; p(empty1); 將記錄存入緩沖區(qū)將記錄存入緩沖區(qū)1; v(full1); until false; end 78 PB:begin repeat p(full1); 從緩沖區(qū)從緩沖區(qū)1取出記錄;取出
52、記錄; v(empty1); p(empty2); 將記錄存入緩沖區(qū)將記錄存入緩沖區(qū)2; v(full2); until false; end 79 PC:begin repeat p(full2); 從緩沖區(qū)從緩沖區(qū)2中取出記錄;中取出記錄; v(empty2); 打印記錄;打印記錄; until false end 80 有兩個優(yōu)先級相同的并發(fā)進程有兩個優(yōu)先級相同的并發(fā)進程m1,m2,各自,各自 計算過程如下所示。它們利用信號量計算過程如下所示。它們利用信號量s1,s2 同步,信號量同步,信號量s1,s2初始值設(shè)置為初始值設(shè)置為0。x,y,z 是它們共享的變量。問是它們共享的變量。問m1,
53、m2運行結(jié)束后,運行結(jié)束后, x,y,z在理論上可能的值分別是多少在理論上可能的值分別是多少? 81 進程進程m1 進程進程m2 x=1 y=2 V(s1) P(s1) z=x+1 z=y+1 P(s2) V(s2) x=z+x y=y+z 82 (華中理工大學(xué)華中理工大學(xué)99年試題年試題)設(shè)公共汽車上,司設(shè)公共汽車上,司 機和售票員的活動分別是:機和售票員的活動分別是: 司機的活動:啟動車輛司機的活動:啟動車輛 正常行車正常行車 到站停車到站停車 售票員的活動:售票員的活動: 關(guān)車門關(guān)車門 售票售票 開車門開車門 83 在汽車不斷地到站、停車、行駛過程中,在汽車不斷地到站、停車、行駛過程中,
54、 這兩個活動有什么同步關(guān)系?用信號量和這兩個活動有什么同步關(guān)系?用信號量和P、 V操作實現(xiàn)它們的同步。操作實現(xiàn)它們的同步。 84 解:汽車行駛過程中,司機活動與售票員活解:汽車行駛過程中,司機活動與售票員活 動之間的同步關(guān)系為:動之間的同步關(guān)系為: 售票員關(guān)車門后,向司機發(fā)開車信號,售票員關(guān)車門后,向司機發(fā)開車信號, 司機接到開車信號后啟動車輛,在汽車正司機接到開車信號后啟動車輛,在汽車正 常行駛過程中售票員售票,到站時司機停常行駛過程中售票員售票,到站時司機停 車,售票員在車停后開車門讓乘客上下車。車,售票員在車停后開車門讓乘客上下車。 因此司機啟動車輛的動作必須與售票員因此司機啟動車輛的動
55、作必須與售票員 關(guān)車門的動作取得同步;售票員開車門的關(guān)車門的動作取得同步;售票員開車門的 動作也必須與司機停車取得同步。動作也必須與司機停車取得同步。 85 本題中,設(shè)置兩個信號量本題中,設(shè)置兩個信號量s1,s2,s1 表示是否允許司機啟動汽車,其初值為表示是否允許司機啟動汽車,其初值為0, s2表示是否允許售票員開門,其初值為表示是否允許售票員開門,其初值為0。 描述如下:描述如下: 86 Driver:begin repeat p(s1); 啟動車輛;啟動車輛; 正常行駛;正常行駛; 到站停車;到站停車; v(s2); until false; end Busman:begin repea
56、t 關(guān)車門;關(guān)車門; v(s1); 售票;售票; p(s2); 開車門;開車門; 上下乘客;上下乘客; until false; end 87 (少林寺問題少林寺問題)某寺廟,有小和尚、老和尚若某寺廟,有小和尚、老和尚若 干廟內(nèi)有一水缸,由小和尚提水入缸,供干廟內(nèi)有一水缸,由小和尚提水入缸,供 老和尚飲用水缸可容納老和尚飲用水缸可容納 30 桶水,每次入桶水,每次入 水、取水僅為水、取水僅為1桶,不可同時進行。水取自桶,不可同時進行。水取自 同一井中,水井徑窄,每次只能容納一個水同一井中,水井徑窄,每次只能容納一個水 桶取水。設(shè)水桶個數(shù)為桶取水。設(shè)水桶個數(shù)為5個,試用信號量和個,試用信號量和
57、PV 操作給出老和尚和小和尚的活動。操作給出老和尚和小和尚的活動。 88 semaphore empty=30; / 表示缸中目前還能裝表示缸中目前還能裝 多少桶水,初始時能裝多少桶水,初始時能裝 30 桶水桶水 semaphore full=0; / 表示缸中有多少桶水,初始時缸中表示缸中有多少桶水,初始時缸中 沒有水沒有水 semaphore buckets=5; / 表示有多少只空桶可表示有多少只空桶可 用,初始時有用,初始時有 5 只桶可用只桶可用 semaphore mutex_well=1; / 用于實現(xiàn)對井的用于實現(xiàn)對井的 互斥操作互斥操作 semaphore mutex_big
58、jar=1; / 用于實現(xiàn)對缸用于實現(xiàn)對缸 的互斥操作的互斥操作 89 young_monk() while(1) P(empty); P(buckets); go to the well; P(mutex_well); get water; V(mutex_well); go to the temple; P(mutex_bigjar); pure the water into the big jar; V(mutex_bigjar); V(buckets); V(full); 90 old_monk() while(1) P(full); P(buckets); get a bucket;
59、 P(mutex_bigjar); get water; V(mutex_bigjar); V(buckets); V(empty); 91 有一個閱覽室,共有有一個閱覽室,共有100個座位,讀者進個座位,讀者進 入時必須先在一張登記表上登記,該表入時必須先在一張登記表上登記,該表 為每一座位列一表目,包括座號和讀者為每一座位列一表目,包括座號和讀者 姓名等,讀者離開時要消掉登記的信息,姓名等,讀者離開時要消掉登記的信息, 試問:試問: (1)為描述讀者的動作,應(yīng)編寫幾個程)為描述讀者的動作,應(yīng)編寫幾個程 序,設(shè)置幾個進程?序,設(shè)置幾個進程? (2)試用)試用PV操作描述讀者進程之間的操作描述
60、讀者進程之間的 同步關(guān)系。同步關(guān)系。 92 答:讀者的動作有兩個,一是填表進入閱覽室,答:讀者的動作有兩個,一是填表進入閱覽室, 這時要考慮閱覽室里是否有座位;一是讀者閱這時要考慮閱覽室里是否有座位;一是讀者閱 讀完畢,離開閱覽室,這時的操作要考慮閱覽讀完畢,離開閱覽室,這時的操作要考慮閱覽 室里是否有讀者。讀者在閱覽室讀書時,由于室里是否有讀者。讀者在閱覽室讀書時,由于 沒有引起資源的變動,不算動作變化。沒有引起資源的變動,不算動作變化。 算法的信號量有三個:算法的信號量有三個:seats表示閱覽室表示閱覽室 是否有座位(初值為是否有座位(初值為100,代表閱覽室的空座,代表閱覽室的空座 位
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 21219-21:2025 EN Intelligent transport systems - Traffic and travel information (TTI) via transport protocol experts group,generation 2 (TPEG2) - Part 21: Geographic lo
- 《環(huán)境安全教育資料》課件
- 2024年隔離酒店消防安全應(yīng)急預(yù)案
- 單位管理制度合并匯編人員管理篇
- 單位管理制度分享大全【職工管理】十篇
- 《種按摩康復(fù)療法》課件
- 單位管理制度呈現(xiàn)合集【職員管理篇】十篇
- 單位管理制度呈現(xiàn)大合集【員工管理篇】十篇
- 《電子商務(wù)新技術(shù)》課件
- 2024年地稅個人年度工作總結(jié)
- GB/T 750-2024水泥壓蒸安定性試驗方法
- 16種(卡特爾)人格測評試題及答案
- 蛋雞養(yǎng)殖場管理制度管理辦法
- 螺內(nèi)酯在腎臟病中的應(yīng)用演示教學(xué)
- 市政工程計量與計價講義
- 小孩出生后視力發(fā)展過程
- X62W萬能銑床
- 供應(yīng)商年度審核計劃及現(xiàn)場審核表
- 環(huán)甲膜穿刺ppt課件
- 裝配基礎(chǔ)知識要點
- 電腦全自動插拔力試驗機操作指導(dǎo)書
評論
0/150
提交評論