進(jìn)程管理習(xí)題及答案_第1頁(yè)
進(jìn)程管理習(xí)題及答案_第2頁(yè)
進(jìn)程管理習(xí)題及答案_第3頁(yè)
進(jìn)程管理習(xí)題及答案_第4頁(yè)
進(jìn)程管理習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、進(jìn)程管理習(xí)題答案一選擇題1在進(jìn)程管理中,當(dāng) 時(shí)進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài).A. 進(jìn)程被進(jìn)程調(diào)度程序選中 B等待某一事件C等待的事件發(fā)生 D時(shí)間片用完答:C2分配到必要的資源并獲得處理機(jī)時(shí)的進(jìn)程狀態(tài)是 。A就緒狀態(tài) B執(zhí)行狀態(tài)C阻塞狀態(tài) D撤消狀態(tài)答:B3P、V操作是 。A兩條低級(jí)進(jìn)程通信原語(yǔ) B兩組不同的機(jī)器指令C兩條系統(tǒng)調(diào)用命令 D兩條高級(jí)進(jìn)程通信原語(yǔ)答:A4對(duì)進(jìn)程的管理和控制使用 。A指令 B原語(yǔ)C信號(hào)量 D信箱通信答:B5進(jìn)程的并發(fā)執(zhí)行是指若干個(gè)進(jìn)程 。A同時(shí)執(zhí)行 B在執(zhí)行的時(shí)間上是重疊的C在執(zhí)行的時(shí)間上是不可重疊的 D共享系統(tǒng)資源答:B6若P、V操作的信號(hào)量S初值為2,當(dāng)前值為1,則表

2、示有 等待進(jìn)程。A0個(gè) B1個(gè) C 2個(gè) D3個(gè)答:B7進(jìn)程的三個(gè)基本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進(jìn)程由就緒狀態(tài)變?yōu)檫\(yùn)行狀態(tài)的條件是 ;由運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是 。A時(shí)間片用完 B等待某事件發(fā)生C等待的某事件己發(fā)生 D被進(jìn)程調(diào)度程序選中答,D B8下列的進(jìn)程狀態(tài)變化中, 變化是不可能發(fā)生的。A運(yùn)行一就緒 B運(yùn)行一等待C等待一運(yùn)行 D等待一就緒答:C9一個(gè)運(yùn)行的進(jìn)程用完了分配給它的時(shí)間片后,它的狀態(tài)變?yōu)?。A就緒 B等待C運(yùn)行 D由用戶(hù)自己確定答:A10用P、V操作管理臨界區(qū)時(shí),信號(hào)量的初值應(yīng)定義為 。A一1 B0 C1 D任意值答:C11用V操作喚醒一個(gè)等待進(jìn)程時(shí),被喚醒進(jìn)程的狀態(tài)變?yōu)?/p>

3、A等待 B就緒 C運(yùn)行 D完成答:B12進(jìn)程間的同步是指進(jìn)程間在邏輯上的相互 關(guān)系。A聯(lián)接 B制約 C. 繼續(xù) D調(diào)用答:B13 是一種只能進(jìn)行P操作和V操作的特殊變量。A調(diào)度 B進(jìn)程 C同步 D信號(hào)量答:D14下面對(duì)進(jìn)程的描述中,錯(cuò)誤的是 。A進(jìn)程是動(dòng)態(tài)的概念 B進(jìn)程執(zhí)行需要處理機(jī)C進(jìn)程是有生命期的 D進(jìn)程是指令的集合答:D15下面的敘述中正確的是 。A操作系統(tǒng)的一個(gè)重要概念是進(jìn)程,因此不同進(jìn)程所執(zhí)行的代碼也一定不同。B為了避免發(fā)生進(jìn)程死鎖,各進(jìn)程只能逐個(gè)申請(qǐng)資源。C操作系統(tǒng)用PCB管理進(jìn)程,用戶(hù)進(jìn)程可以從此PCB中讀出與本身運(yùn)行狀況有關(guān)的信息D進(jìn)程同步是指某些進(jìn)程之間在邏輯上的相互制約關(guān)系

4、答:D16進(jìn)程控制就是對(duì)系統(tǒng)中的進(jìn)程實(shí)施有效的管理,通過(guò)使用 、進(jìn)程撤銷(xiāo)、進(jìn)程阻塞、進(jìn)程喚醒等進(jìn)程控制原語(yǔ)實(shí)現(xiàn)。A進(jìn)程運(yùn)行 B進(jìn)程管理C進(jìn)程創(chuàng)建 D進(jìn)程同步答:C17操作系統(tǒng)通過(guò) 對(duì)進(jìn)程進(jìn)行管理。AJCB BPCB CDCT DCHCT答:B18用P、V操作可以解決 互斥問(wèn)題。A一切 B某些 C正確 D錯(cuò)誤答:A19通常,用戶(hù)進(jìn)程被建立后, 。A便一直存在于系統(tǒng)中,直到被操作人員撤消B隨著作業(yè)運(yùn)行正?;虿徽=Y(jié)束而撤消C隨著時(shí)間片輪轉(zhuǎn)而撤消與建立D隨著進(jìn)程的阻塞或喚醒而撤消與建立答:B20一個(gè)進(jìn)程被喚醒意味著 。A該進(jìn)程重新占有了CPU B它的優(yōu)先權(quán)變?yōu)樽畲笃銹CB移至等待隊(duì)列隊(duì)首 D進(jìn)程變?yōu)?/p>

5、就緒狀態(tài)答:D21下面所述步驟中, 不是創(chuàng)建進(jìn)程所必需的。A由調(diào)度程序?yàn)檫M(jìn)程分配CPU B建立一個(gè)進(jìn)程控制塊C為進(jìn)程分配內(nèi)存 D將進(jìn)程控制塊鏈入就緒隊(duì)列答:A22多道程序環(huán)境下,操作系統(tǒng)分配資源以 為基本單位。A程序 B指令 C. 進(jìn)程 D作業(yè)答:C 23對(duì)于兩個(gè)并發(fā)進(jìn)程,設(shè)互斥信號(hào)量為mutex,若mutex=0,則 。A表示沒(méi)有進(jìn)程進(jìn)入臨界區(qū)B表示有一個(gè)進(jìn)程進(jìn)入臨界區(qū)C表示有一個(gè)進(jìn)程進(jìn)入臨界區(qū),另一個(gè)進(jìn)程等待進(jìn)入D表示有兩個(gè)進(jìn)程進(jìn)入臨界區(qū)答:B 24兩個(gè)進(jìn)程合作完成一個(gè)任務(wù),在并發(fā)執(zhí)行中,一個(gè)進(jìn)程要等待其合作伙伴發(fā)來(lái)消息,或者建立某個(gè)條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱(chēng)為進(jìn)程的 。A同

6、步 B互斥 C調(diào)度 D執(zhí)行答:A 25為了進(jìn)行進(jìn)程協(xié)調(diào),進(jìn)程之間應(yīng)當(dāng)具有一定的聯(lián)系,這種聯(lián)系通常采用進(jìn)程間交換數(shù)據(jù)的方式進(jìn)行,這種方式稱(chēng)為 。A進(jìn)程互斥 B進(jìn)程同步 C進(jìn)程制約 D進(jìn)程通信答:D 26設(shè)有5個(gè)進(jìn)程共享一個(gè)互斥段,如果最多允許有3個(gè)進(jìn)程同時(shí)進(jìn)入互斥段,則所采用的互斥信號(hào)量的初值應(yīng)是 。A5 B3 C1 D0答:B27支持多道程序設(shè)計(jì)的操作系統(tǒng)在運(yùn)行過(guò)程中,不斷地選擇新進(jìn)程運(yùn)行來(lái)實(shí)現(xiàn)CPU的共享,但其中 不是引起操作系統(tǒng)選擇新進(jìn)程的直接原因。A. 運(yùn)行進(jìn)程的時(shí)間片用完 B. 運(yùn)行進(jìn)程出錯(cuò)C. 運(yùn)行進(jìn)程要等待某事件的發(fā)生 D. 有新進(jìn)程進(jìn)入就緒狀態(tài)答:D28在多道程序設(shè)計(jì)系統(tǒng)中,多個(gè)

7、計(jì)算問(wèn)題同時(shí)裝入計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器 。A并發(fā)執(zhí)行 B順序執(zhí)行C. 并行執(zhí)行 D同時(shí)執(zhí)行答:A29引入多道程序設(shè)計(jì)技術(shù)后,處理器的利用率 。A有所改善 B極大地提高C降低了 D無(wú)變化,僅使程序執(zhí)行方便答:B30從總體上說(shuō),采用多道程序設(shè)計(jì)技術(shù)可 單位時(shí)間的算題量,但對(duì)每一個(gè)算題,從算題開(kāi)始到全部完成所需的時(shí)間比單道執(zhí)行所需的時(shí)間可能要 。A增加,減少 B增加,延長(zhǎng)C. 減少,延長(zhǎng) D減少,減少答:B31同一程序運(yùn)行在不同的數(shù)據(jù)集上,創(chuàng)建了 的進(jìn)程。A同步 B互斥C. 相同 D不同答:D二填空題1進(jìn)程的基本特征有 、 、獨(dú)立性、異步性及結(jié)構(gòu)特征。答:動(dòng)態(tài)性 并發(fā)性2信號(hào)量的物理意義是當(dāng)信號(hào)量值大

8、于零時(shí)表示 ;當(dāng)信號(hào)量值小于零時(shí)其絕對(duì)值表示 。答:可用資源的數(shù)目 因請(qǐng)求該資源而被阻塞的進(jìn)程數(shù)目3臨界資源的概念是 ,而臨界區(qū)是指 。答:一次僅允許一個(gè)進(jìn)程訪(fǎng)問(wèn)的資源進(jìn)程中訪(fǎng)問(wèn)臨界資源的那段程序代碼4進(jìn)程在運(yùn)行過(guò)程中有三種基本狀態(tài),它們是 、 、 。答:運(yùn)行 就緒 等待(阻塞)5進(jìn)程主要由 、 、 三部分內(nèi)容組成,其中 是進(jìn)程存在的唯一標(biāo)志,而 部分也可以為其他進(jìn)程共享。答:程序段 數(shù)據(jù)段 PCB PCB 程序段6系統(tǒng)中各進(jìn)程之間邏輯上的相互制約關(guān)系稱(chēng)為 。答:進(jìn)程同步7:若一個(gè)進(jìn)程己進(jìn)入臨界區(qū),其他欲進(jìn)入臨界區(qū)的進(jìn)程必須 。答:等待8將進(jìn)程的 鏈接在一起就形成了進(jìn)程隊(duì)列。答:PCB9用P、

9、V操作管理臨界區(qū)時(shí),任何一個(gè)進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)調(diào)用 操作,在退出臨界區(qū)時(shí)應(yīng)調(diào)用 操作。答:P V10用信箱實(shí)現(xiàn)通信時(shí),應(yīng)有 和 兩條基本原語(yǔ)。答:發(fā)送 接收11在多道程序系統(tǒng)中,進(jìn)程之間存在著的不同制約關(guān)系可以劃分為兩類(lèi): 與 。 指進(jìn)程間具有的一定邏輯關(guān)系; 是指進(jìn)程間在使用共享資源方面的約束關(guān)系。答:同步 互斥 同步 互斥12有m個(gè)進(jìn)程共享同一臨界資源,若使用信號(hào)量機(jī)制實(shí)現(xiàn)對(duì)臨界資源的互斥訪(fǎng)問(wèn),則信號(hào)量值的變化范圍是 。答:1至(m1)13設(shè)系統(tǒng)中有n(n>2)個(gè)進(jìn)程,且當(dāng)前不再執(zhí)行進(jìn)程調(diào)度程序,試考慮下述4種情況:沒(méi)有運(yùn)行進(jìn)程,有2個(gè)就緒進(jìn)程,n個(gè)進(jìn)程處于等待狀態(tài)。有1個(gè)運(yùn)行進(jìn)

10、程,沒(méi)有就緒進(jìn)程,n一1進(jìn)程處于等待狀態(tài)。有1個(gè)運(yùn)行進(jìn)程,有1個(gè)就緒進(jìn)程,n一2進(jìn)程處于等待狀態(tài)。有1個(gè)運(yùn)行進(jìn)程,n一1個(gè)就緒進(jìn)程,沒(méi)有進(jìn)程處于等待狀態(tài)。上述情況中,不可能發(fā)生的情況是 。答:14在一個(gè)單處理機(jī)系統(tǒng)中,若有5個(gè)用戶(hù)進(jìn)程,且假設(shè)當(dāng)前時(shí)刻為用戶(hù)態(tài),則處于就緒狀態(tài)的用戶(hù)進(jìn)程最多有 個(gè),最少有 個(gè)。答:4 015操作系統(tǒng)中,對(duì)信號(hào)量S的P原語(yǔ)操作定義中,使進(jìn)程進(jìn)入相應(yīng)等待隊(duì)列等待的條件是 。答:S<016下面關(guān)于進(jìn)程的敘述不正確的是 。進(jìn)程申請(qǐng)CPU得不到滿(mǎn)足時(shí),其狀態(tài)變?yōu)榈却隣顟B(tài)。在單CPU系統(tǒng)中,任一時(shí)刻至多有一個(gè)進(jìn)程處于運(yùn)行狀態(tài)。優(yōu)先級(jí)是進(jìn)行進(jìn)程調(diào)度的重要依據(jù),一旦確定不能

11、改變。進(jìn)程獲得處理機(jī)而運(yùn)行是通過(guò)調(diào)度而實(shí)現(xiàn)的。答:17信箱邏輯上分成 和 兩部分。 中存放有關(guān)信箱的描述。 由若干格子組成,每格存放一信件,格子的數(shù)目和大小在創(chuàng)建信箱時(shí)確定。答:信箱頭 信箱體18當(dāng)多個(gè)進(jìn)程等待分配處理機(jī)時(shí),系統(tǒng)按一種規(guī)定的策略從多個(gè)處于 狀態(tài)的進(jìn)程中選擇一個(gè)進(jìn)程,讓它占有處理機(jī),被選中的進(jìn)程就進(jìn)入了 狀態(tài)。答:就緒、執(zhí)行19若使當(dāng)前運(yùn)行的進(jìn)程總是優(yōu)先級(jí)最高的進(jìn)程,應(yīng)選擇 進(jìn)程調(diào)度算法。答:搶占式(剝奪式)20操作系統(tǒng)中用于完成一些特定功能的、不可中斷的過(guò)程稱(chēng)為 。答:原語(yǔ)三簡(jiǎn)答題1在操作系統(tǒng)中為什么要引入進(jìn)程概念?它與程序的關(guān)系是怎樣的?答:在操作系統(tǒng)中,由于多道程序并發(fā)執(zhí)行

12、時(shí)共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過(guò)程中就出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停?!钡男?tīng)顟B(tài)。這些都是在程序執(zhí)行的動(dòng)態(tài)過(guò)程中發(fā)生的。用程序這個(gè)靜態(tài)概念已不能如實(shí)反映程序并發(fā)執(zhí)行過(guò)程中的這些特征。為此,人們引入“進(jìn)程”這一概念來(lái)描述程序動(dòng)態(tài)執(zhí)行過(guò)程的性質(zhì)。進(jìn)程和程序是既有聯(lián)系又有區(qū)別的兩個(gè)概念,進(jìn)程不能脫離具體程序而虛設(shè),程序規(guī)定了相應(yīng)進(jìn)程所要完成的動(dòng)作。它們的主要區(qū)別如下:(1)程序是指令的有序集合,其本身沒(méi)有任何運(yùn)行的含義,它是一個(gè)靜態(tài)的概念;進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過(guò)程,它是一個(gè)動(dòng)態(tài)概念。(2)程序的存在是永久的,而進(jìn)程則是有生命期的,它因創(chuàng)建而產(chǎn)

13、生,因調(diào)度而執(zhí)行,因得不到資源而暫停,因撤銷(xiāo)而消亡。(3)程序僅是指令的有序集合。而進(jìn)程則由程序、數(shù)據(jù)和進(jìn)程控制塊組成。(4)在傳統(tǒng)的操作系統(tǒng)中,進(jìn)程是資源分配和調(diào)度運(yùn)行的基本單位,而程序不是。(5)進(jìn)程與程序之間不是一一對(duì)應(yīng)的,即同一程序同時(shí)運(yùn)行于若干不同的數(shù)據(jù)集合上,它將屬于若干個(gè)不同的進(jìn)程;而一個(gè)進(jìn)程至少對(duì)應(yīng)執(zhí)行一個(gè)程序。2為了實(shí)現(xiàn)并發(fā)進(jìn)程間的合作和協(xié)調(diào)工作,以及保證系統(tǒng)的安全,操作系統(tǒng)在進(jìn)程管理方面應(yīng)做哪些工作?答:(1)進(jìn)程控制:系統(tǒng)必須設(shè)置一套控制機(jī)構(gòu)來(lái)實(shí)現(xiàn)進(jìn)程創(chuàng)建、進(jìn)程撤消以及進(jìn)程在運(yùn)行過(guò)程中的狀態(tài)轉(zhuǎn)換。(2)進(jìn)程同步:系統(tǒng)必須設(shè)置同步機(jī)制來(lái)實(shí)現(xiàn)對(duì)所有進(jìn)程的運(yùn)行進(jìn)行協(xié)調(diào),協(xié)調(diào)的方

14、式包括進(jìn)程的互斥和進(jìn)程的同步。(3)進(jìn)程通信:多道程序環(huán)境下可能需要諸進(jìn)程合作完成一個(gè)任務(wù),這些進(jìn)程相互間需要通過(guò)交換信息來(lái)協(xié)調(diào)各自工作的進(jìn)度。因此系統(tǒng)必須具有進(jìn)程之間通信(交換信息)的能力。(4)進(jìn)程調(diào)度:系統(tǒng)必須能夠在處理機(jī)空閑時(shí),按一定算法從就緒進(jìn)程隊(duì)列中選擇一個(gè)就緒進(jìn)程,把處理機(jī)分配給它,并為之設(shè)置運(yùn)行的現(xiàn)場(chǎng)使其投入運(yùn)行。3在操作系統(tǒng)中引入線(xiàn)程概念的主要目的是什么?答:減少程序并發(fā)執(zhí)行時(shí)所需付出的時(shí)空開(kāi)銷(xiāo),提高程序執(zhí)行的并發(fā)度。特別有利于共享存儲(chǔ)器的多處理機(jī)系統(tǒng),和更加適合cs模型。4在一個(gè)單CPU的多道程序設(shè)計(jì)系統(tǒng)中,若在某一時(shí)刻有N個(gè)進(jìn)程同時(shí)存在,那么處于運(yùn)行態(tài)、等待態(tài)和就緒態(tài)進(jìn)程

15、的最小和最大值分別可能是多少?答:若多道程序設(shè)計(jì)系統(tǒng)中,在某一時(shí)刻有N個(gè)進(jìn)程同時(shí)存在,則處于運(yùn)行態(tài)的進(jìn)程最少0個(gè),最大1個(gè);處于就緒態(tài)的進(jìn)程最少0個(gè),最大N1個(gè);處于等待態(tài)的進(jìn)程最少0個(gè),最大N個(gè)。5進(jìn)程之間存在哪幾種相互制約關(guān)系?各是什么原因引起的?下列活動(dòng)分別屬于哪種制約關(guān)系?(1)若干同學(xué)去圖書(shū)館借書(shū);(2)兩隊(duì)舉行籃球比賽;(3)流水線(xiàn)生產(chǎn)各道工序;(4)商品生產(chǎn)和社會(huì)消費(fèi)答:進(jìn)程之間的制約關(guān)系分為直接制約關(guān)系(即同步)和間接制約關(guān)系(即互斥)。同步是因合作進(jìn)程之間協(xié)調(diào)彼此的工作而控制自己的執(zhí)行速度,即因相互合作、相互等待而產(chǎn)生的制約關(guān)系;而互斥是進(jìn)程之間競(jìng)爭(zhēng)臨界資源而禁止兩個(gè)以上的進(jìn)

16、程同時(shí)進(jìn)入臨界區(qū)所發(fā)生的制約關(guān)系。 (1)屬于互斥關(guān)系,因?yàn)橐槐緯?shū)只能借給一個(gè)同學(xué)。 (2)屬于互斥關(guān)系,籃球只有一個(gè),兩隊(duì)都要爭(zhēng)奪。 (3)居于同步關(guān)系,各道工序的開(kāi)始都依賴(lài)前一道工序的完成。 (4)屬于同步關(guān)系,商品沒(méi)生產(chǎn)出來(lái)則消費(fèi)無(wú)法進(jìn)行,商品沒(méi)有消費(fèi)完則無(wú)須再生產(chǎn)。6為了讓用戶(hù)進(jìn)程互斥地進(jìn)入臨界區(qū),可以把整個(gè)臨界區(qū)實(shí)現(xiàn)成不可中斷的過(guò)程,即讓用戶(hù)具有屏蔽所有中斷的能力。每當(dāng)用戶(hù)程序進(jìn)入臨界區(qū)的時(shí)候,屏蔽所有中斷;當(dāng)出了臨界區(qū)的時(shí)候,再開(kāi)放所有中斷。你認(rèn)為這種方法有什么缺點(diǎn)。答:用戶(hù)進(jìn)程進(jìn)入臨界區(qū)時(shí)屏蔽所有中斷,應(yīng)當(dāng)也包括系統(tǒng)程序。若屏蔽的是用戶(hù)進(jìn)程,的確可以保護(hù)臨界資源,但若系統(tǒng)所發(fā)出的

17、中斷也被屏蔽,則會(huì)引起錯(cuò)誤,因?yàn)橄到y(tǒng)的中斷往往與當(dāng)前運(yùn)行的程序無(wú)關(guān),卻可能是一些重要的硬件中斷,如電源故障等,故不可盲目屏蔽所有中斷;又或者當(dāng)時(shí)發(fā)出故障中斷的中斷源恰好是該臨界資源,則更應(yīng)該及時(shí)響應(yīng)處理。7設(shè)有n個(gè)進(jìn)程共享一個(gè)互斥段,對(duì)于如下兩種情況:(1)如果每次只允許一個(gè)進(jìn)程進(jìn)入互斥段; (2)如果每次最多允許m個(gè)進(jìn)程(m<n)同時(shí)進(jìn)入互斥段。試問(wèn):所采用的互斥信號(hào)量初值是否相同?信號(hào)量的變化范圍如何?答:(1)信號(hào)量的初值為1。信號(hào)量的變化范圍是1,0,1,(n1)。(2)信號(hào)量的初值為m。信號(hào)量的變化范圍是:m,m1,,1,0,(nm)。四應(yīng)用題1若程序A和B單獨(dú)執(zhí)行時(shí)分別需要1

18、小時(shí)和1.5小時(shí),其中CPU工作時(shí)間分別為18分鐘和27分鐘。若采用多道程序設(shè)計(jì)方法,讓A和B并行工作,假定CPU利用率達(dá)到50,另加15分鐘系統(tǒng)開(kāi)銷(xiāo),請(qǐng)問(wèn)系統(tǒng)效率能提高多少?解:在多道系統(tǒng)中,程序A和B共用的CPU時(shí)間為:(18十27)5090分鐘系統(tǒng)效率提高(A和B單獨(dú)執(zhí)行的時(shí)間總和多道方式下總時(shí)間)A和B單獨(dú)執(zhí)行的時(shí)間總和,即(60十90)(90十15)(60十90)45150302在測(cè)量控制系統(tǒng)中,數(shù)據(jù)采集任務(wù)把所采集的數(shù)據(jù)送入一單緩沖區(qū);計(jì)算任務(wù)從該單緩沖區(qū)中取出數(shù)據(jù)進(jìn)行計(jì)算。試寫(xiě)出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖區(qū)的同步算法。 解:在本題中,應(yīng)設(shè)置兩個(gè)信號(hào)童sf,se,信號(hào)量sf表

19、示緩沖區(qū)中是否有可供打印的計(jì)算結(jié)果,其初值為o;信號(hào)量se用于表示緩沖區(qū)有無(wú)空位置存放新的信息,其初值為1。本題的同步描述如下:int se=1;int sf=0;main( ) cobeginget ( ) ;compute ( ); coendget ( ) while (采集工作未完成) 采集一個(gè)數(shù)據(jù);p(se);將數(shù)據(jù)送入緩沖區(qū);v(sf); compute ( )while (計(jì)算工作未完成) p(sf); 從緩沖區(qū)中取出數(shù)據(jù); v(se); 進(jìn)行數(shù)據(jù)計(jì)算;3下圖給出了四個(gè)進(jìn)程合作完成某一任務(wù)的前趨圖,試說(shuō)明這四個(gè)進(jìn)程間的同步關(guān)系并用P、V操作描述它。解:上圖說(shuō)明任務(wù)啟動(dòng)后Sl先執(zhí)行

20、。當(dāng)S1結(jié)束后,S2、S3可以開(kāi)始執(zhí)行。S2、S3完成后,S4才能開(kāi)始執(zhí)行。為了確保這一執(zhí)行順序,設(shè)三個(gè)同步信號(hào)量b2、b3、b4分別表示進(jìn)程S2、S3、S4是否可以開(kāi)始執(zhí)行,其初值均為0。這四個(gè)進(jìn)程的同步描述如下:int b2=0;int b3=0;int b4=0;main ( )cobegin s1 ( ); s2 ( ); s3 ( ); s4 ( );coends1 ( )v(b2);v(b3);s2 ( )p(b2);v(b4);s3 ( )p(b3);v(b4);s4 ( )p(b4);p(b4); /*因在s2和s3完成后均對(duì)b4作了v操作,因此這里要用兩個(gè)p操作*/4某系統(tǒng)的

21、進(jìn)程狀態(tài)轉(zhuǎn)換圖如下,請(qǐng)說(shuō)明:(1)引起各種狀態(tài)轉(zhuǎn)換的典型事件有哪些?(2)當(dāng)我們觀察系統(tǒng)中某些進(jìn)程時(shí),能夠看到某一進(jìn)程產(chǎn)生的一次狀態(tài)轉(zhuǎn)換能引起另一進(jìn)程作一次狀態(tài)轉(zhuǎn)換。在什么情況下,當(dāng)一個(gè)進(jìn)程發(fā)生轉(zhuǎn)換3時(shí)能立即引起另一個(gè)進(jìn)程發(fā)生轉(zhuǎn)換l?(3)試說(shuō)明是否會(huì)發(fā)生下述因果轉(zhuǎn)換: 2 l324 1答:(1)在本題所給的進(jìn)程狀態(tài)轉(zhuǎn)換圖中存在四種狀態(tài)轉(zhuǎn)換。當(dāng)進(jìn)程調(diào)度程序從就緒隊(duì) 列中選取一個(gè)進(jìn)程投入運(yùn)行時(shí)引起轉(zhuǎn)換1;正在執(zhí)行的進(jìn)程如因時(shí)間片用完而被暫停執(zhí)行就會(huì)引起轉(zhuǎn)換2;正在執(zhí)行的進(jìn)程因等待的事件尚未發(fā)生而無(wú)法執(zhí)行(如進(jìn)程請(qǐng)求完成I/O)則會(huì)引起轉(zhuǎn)換3;當(dāng)進(jìn)程等待的事件發(fā)生時(shí)(如I/O完成)則會(huì)引起轉(zhuǎn)換4。

22、(2)如果就緒隊(duì)列非空,則一個(gè)進(jìn)程的轉(zhuǎn)換3會(huì)立即引起另一個(gè)進(jìn)程的轉(zhuǎn)換1。這是因?yàn)橐粋€(gè)進(jìn)程發(fā)生轉(zhuǎn)換3意味著正在執(zhí)行的進(jìn)程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),這時(shí)處理機(jī)空閑,進(jìn)程調(diào)度程序必然會(huì)從就緒隊(duì)列中選取一個(gè)進(jìn)程并將它投入運(yùn)行,因此只要就緒隊(duì)列非空,一個(gè)進(jìn)程的轉(zhuǎn)換3能立即引起另一個(gè)進(jìn)程的轉(zhuǎn)換1。(3)所謂因果轉(zhuǎn)換指的是有兩個(gè)轉(zhuǎn)換,一個(gè)轉(zhuǎn)換的發(fā)生會(huì)引起另一個(gè)轉(zhuǎn)換的發(fā)生,前一個(gè)轉(zhuǎn)換稱(chēng)為因,后一個(gè)轉(zhuǎn)換稱(chēng)為果,這兩個(gè)轉(zhuǎn)換稱(chēng)為因果轉(zhuǎn)換。當(dāng)然這種因果關(guān)系并不是什么時(shí)候都能發(fā)生,而是在一定條件下才會(huì)發(fā)生。 2 1:發(fā)生轉(zhuǎn)換2時(shí),就必然引起另一進(jìn)程的轉(zhuǎn)換1。因?yàn)楫?dāng)發(fā)生轉(zhuǎn)換2時(shí),正在執(zhí)行的進(jìn)程從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài),進(jìn)程調(diào)

23、度程序必然會(huì)從就緒隊(duì)列中選取一個(gè)進(jìn)程投入運(yùn)行,即發(fā)生轉(zhuǎn)換1。3 2: 某個(gè)進(jìn)程的轉(zhuǎn)換3決不可能引起另一進(jìn)程發(fā)生轉(zhuǎn)換2。這是因?yàn)楫?dāng)前執(zhí)行進(jìn)程從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)不可能又從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)。4 1: 當(dāng)處理機(jī)空閑且就緒隊(duì)列為空時(shí),某一進(jìn)程的轉(zhuǎn)換4就會(huì)引起該進(jìn)程的轉(zhuǎn)換1。因?yàn)榇藭r(shí)處理機(jī)空閑,一旦某個(gè)進(jìn)程發(fā)生轉(zhuǎn)換4,就意味著有一個(gè)進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),因而調(diào)度程序就會(huì)將就緒隊(duì)列中的此進(jìn)程投入運(yùn)行。5某車(chē)站售票廳,任何時(shí)刻最多可容納20名購(gòu)票者進(jìn)入,當(dāng)售票廳中少于20名購(gòu)票者時(shí),廳外的購(gòu)票者可立即進(jìn)入,否則需在外面等待。若把一個(gè)購(gòu)票者看作一個(gè)進(jìn)程,請(qǐng)回答下列問(wèn)題:(1)用PV操作管理這些并發(fā)

24、進(jìn)程時(shí),應(yīng)怎樣定義信號(hào)量,寫(xiě)出信號(hào)量的初值以及信號(hào)量各種取值的含義。(2)根據(jù)所定義的信號(hào)量,把應(yīng)執(zhí)行的P、V操作填入下面橫線(xiàn)上,以保證進(jìn)程能夠正確地并發(fā)執(zhí)行。(3)若欲購(gòu)票者最多為n個(gè)人,寫(xiě)出信號(hào)量可能的變化范圍(最大值和最小值)。答:(1)定義一信號(hào)量S,初始值為20,其意義如下:S>0S的值表示可繼續(xù)進(jìn)入售票廳的人數(shù)S=0表示售票廳中已有20名顧客(購(gòu)票者)S<0|S|的值為等待進(jìn)入售票廳的人數(shù)(2)根據(jù)所定義的信號(hào)量,把應(yīng)執(zhí)行的P、V操作填入下面橫線(xiàn)上,以保證進(jìn)程能夠正確地并發(fā)執(zhí)行。COBEGINPROCESSPi(i=1,2,)begin;P(S)進(jìn)入售票廳;購(gòu)票;退出;

25、V(S)end;COEND(3) S的最大值為20;S的最小值為20n6理發(fā)店里有一位理發(fā)師,一把理發(fā)椅和N把供等候理發(fā)的顧客坐的椅子.如果沒(méi)有顧客,則理發(fā)師便在理發(fā)椅上睡覺(jué).當(dāng)一個(gè)顧客到來(lái)時(shí),他必須先喚醒理發(fā)師.如果顧客到來(lái)時(shí)理發(fā)師正在理發(fā),則如果有空椅子,可坐下來(lái)等;否則離開(kāi)。解:定義信號(hào)量如下:VarSn:semaphore; 位子數(shù)目,初值為nS:semaphore; 理發(fā)師睡覺(jué),初值為1 mutex:semaphore; 初值為1用P、V操作實(shí)現(xiàn)如下:顧客進(jìn)程 i:P(Sn);門(mén)外觀望P(mutex);進(jìn)門(mén);V(mutex);V(S); if(sn=n-1) v(s); 等候;理發(fā);

26、V(Sn)P(mutex);出門(mén);V(mutex);理發(fā)師進(jìn)程 :Repeat P(S); P(mutex); 叫人理發(fā); V(mutex); 理發(fā);Until false;7試寫(xiě)出用加鎖原語(yǔ)和開(kāi)鎖原語(yǔ)實(shí)現(xiàn)兩個(gè)進(jìn)程關(guān)于臨界資源的操作的描述。 答:Program test begin s:=0 (表示該資源可用) cobegin (1) A: begin 加鎖原語(yǔ); 臨界區(qū)A; 開(kāi)鎖原語(yǔ); end B: begin 加鎖原語(yǔ); 臨界區(qū)B; 開(kāi)鎖原語(yǔ); end conend end8. 桌子上有一只盤(pán)子,每次只能放入一只水果。爸爸專(zhuān)向盤(pán)中放蘋(píng)果,媽媽專(zhuān)向盤(pán)中放桔子,一個(gè)兒子專(zhuān)等吃盤(pán)中的桔子,一個(gè)女兒專(zhuān)等吃盤(pán)中的蘋(píng)果。請(qǐng)利用P、V操作實(shí)現(xiàn)他們之間的同步。解:在本題中,應(yīng)設(shè)置三個(gè)信號(hào)量s、so、sa,信號(hào)量s表示盤(pán)子是否為空,其初值為1;信號(hào)量so表示盤(pán)中是否有桔子,其初值為0;信號(hào)量sa表示盤(pán)中是否有蘋(píng)果,其初值為0。同步描述如下:int s=1;int sa=0;int so=0;main ( ) c

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論