版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. 第1章 操作系統(tǒng)概述 思考與練習(xí)題參考答案1. 選擇題(1) C (2) D (3) C (4) C(5)B (6)C(7)B (8)C(9)B (10)B(11)A 2. 填空題(1) 硬件 軟件(2) 存儲(chǔ)管理 設(shè)備管理(3)軟硬件資源(4) 批處理操作系統(tǒng) 分時(shí)操作系統(tǒng) 實(shí)時(shí)操作系統(tǒng)(5) 20ms 時(shí)間片輪轉(zhuǎn)調(diào)度算法3. 判斷題(1) (2) (3) (4) (5) (6). (7) (8)4. 問答題(1) 簡述操作系統(tǒng)的概念 答:操作系統(tǒng)是一組能控制和管理計(jì)算機(jī)系統(tǒng)的硬件和軟件資源,合理地組織計(jì)算機(jī)工作流程并為用戶使用計(jì)算機(jī)提供方便的程序和數(shù)據(jù)的集合。(2) 什么是批處理系統(tǒng)?
2、為什么要引入批處理系統(tǒng)? 答:批處理系統(tǒng)指用戶的作業(yè)成批的處理,作業(yè)建立、過渡、完自動(dòng)由系統(tǒng)成批完成。因?yàn)?9581964年,晶體管時(shí)代,計(jì)算機(jī)速度、容量、外設(shè)品種和數(shù)量等方面和第一代計(jì)算機(jī)相比都有了很大開展,計(jì)算機(jī)速度有幾十倍、上百倍的提高,故使手工操作的慢速度和計(jì)算機(jī)運(yùn)算的高速度之間形成一對(duì)矛盾。只有設(shè)法去掉人工干預(yù),實(shí)現(xiàn)作業(yè)自動(dòng)過渡,這樣就出現(xiàn)了成批處理。(3) 什么叫多道程序?試述多道程序涉及技術(shù)的根本思想及特征,為什么對(duì)作業(yè)進(jìn)展多道批處理可以提高系統(tǒng)效率? 答:多道程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)存中同時(shí)存放幾道相互獨(dú)立的程序,使它們?cè)诠芾沓绦蚩刂葡?,相互穿插交替運(yùn)行。當(dāng)*道程序因*種原因不能
3、繼續(xù)運(yùn)行下去時(shí),管理程序就將另一道程序投入運(yùn)行,這樣使幾道程序在系統(tǒng)并行工作,可使中央處理機(jī)及外設(shè)盡量處于忙碌狀態(tài),從而大大提高計(jì)算機(jī)使用效率。在批處理系統(tǒng)中采用多道程序設(shè)計(jì)技術(shù)形成多道批處理系統(tǒng),多個(gè)作業(yè)成批送入計(jì)算機(jī),由作業(yè)調(diào)度程序自動(dòng)選擇作業(yè)運(yùn)行,這樣提高了系統(tǒng)效率。 (4) 何為分時(shí)系統(tǒng)?簡述其特點(diǎn)。答:分時(shí)系統(tǒng)采用時(shí)間片輪轉(zhuǎn)法,使一臺(tái)計(jì)算機(jī)同時(shí)為多個(gè)終端效勞。特點(diǎn):多路性。假設(shè)干個(gè)終端連接到計(jì)算機(jī)上,系統(tǒng)按分時(shí)原則為每個(gè)用戶效勞。宏觀上多用戶同時(shí)工作,共享系統(tǒng)資源。微觀上,每個(gè)用戶作業(yè)輪流在CPU上運(yùn)行。獨(dú)立性。各用戶獨(dú)立地使用一臺(tái)終端工作,彼此互不干擾。用戶感覺自己在獨(dú)占使用計(jì)算機(jī)
4、。及時(shí)性。用戶的請(qǐng)求能在較短時(shí)間得到響應(yīng)。分時(shí)系統(tǒng)的響應(yīng)時(shí)間指用戶發(fā)出終端命令到系統(tǒng)響應(yīng),做出應(yīng)答所需要的時(shí)間。此時(shí)間需要在用戶能承受的圍之,通常為2至3秒。交互性。在分時(shí)系統(tǒng)中,用戶能與計(jì)算機(jī)進(jìn)展對(duì)話,以交互的方式進(jìn)展工作。用戶可聯(lián)機(jī)對(duì)文件進(jìn)展編輯,對(duì)源程序進(jìn)展編譯、,對(duì)程序進(jìn)展調(diào)試,運(yùn)行程序等活動(dòng)。(5) 分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)有何不同? 答:分時(shí)系統(tǒng)控制的主動(dòng)權(quán)在計(jì)算機(jī),計(jì)算機(jī)按一定時(shí)間間隔,以固定時(shí)間片或不固定時(shí)間片去輪流完成多個(gè)提交的任務(wù),只是在用戶反響相對(duì)較慢時(shí),不感到機(jī)器走開。而實(shí)時(shí)系統(tǒng)控制的主動(dòng)權(quán)在用戶,用戶規(guī)定什么時(shí)間要計(jì)算機(jī)干什么,計(jì)算機(jī)不能走開。 分時(shí)系統(tǒng)通用性強(qiáng),交互性強(qiáng),
5、及時(shí)響應(yīng)性要求一般通常數(shù)量級(jí)為秒;實(shí)時(shí)系統(tǒng)往往是專用的,系統(tǒng)與應(yīng)用很難別離,常常嚴(yán)密結(jié)合在一起,實(shí)時(shí)系統(tǒng)并不強(qiáng)調(diào)資源利用率,而更關(guān)心及時(shí)響應(yīng)性通常數(shù)量級(jí)為毫秒或微秒、可靠性等。(6) 實(shí)現(xiàn)多道程序解決哪些問題? 答:首先包括分時(shí)使用硬件的硬件設(shè)計(jì)技術(shù): CPU 和通道分時(shí)使用存、只讀存儲(chǔ)器和數(shù)據(jù)通道等;通道與通道分時(shí)使用CPU、存、通道的公用控制局部等;同一通道中的I/O又分時(shí)使用存、通道等。其次包括共享硬件和軟件資源的軟件設(shè)計(jì)技術(shù):包括引入進(jìn)程線程等技術(shù)。 (7) 設(shè)在存中有三道程序A、B和C,并按A、B、C的優(yōu)先次序運(yùn)行,其在CPU上運(yùn)行時(shí)間以及I/O時(shí)間分別為:A:計(jì)算30ms,I/O
6、40ms,計(jì)算10msB:計(jì)算30ms,I/O 50ms,計(jì)算10msC:計(jì)算20ms,I/O 40ms,計(jì)算20msCPUI/O0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 t/msA B C A 空閑 B 空閑 C圖1-1 三道作業(yè)并發(fā)運(yùn)行情況試畫出按多道程序運(yùn)行的時(shí)間關(guān)系圖(調(diào)度程序的執(zhí)行時(shí)間忽略不計(jì)),完成這三道程序共花多少時(shí)間?比單道運(yùn)行節(jié)省多少時(shí)間(假定運(yùn)行環(huán)境為單CPU,每個(gè)程序所用的I/O設(shè)備一樣,比方打印機(jī))答:三道程序共花180ms,比單道80+90+80ms=250ms節(jié)省了110ms。(
7、8) 簡述Winodws操作系統(tǒng)的開展歷史。(略)(9) 簡述Linu*操作系統(tǒng)的開展歷史。(略)(10) 簡述UNI*系統(tǒng)操作系統(tǒng)的開展歷史。(略)第2章 處理器管理 思考與練習(xí)題參考答案1. 選擇題 (1)A (2) D(3)B(4) C(5)D(6) D(7) C(8) B(9)D(10) C(11)D(12)A(13)C(14)D(15)B(16) D2. 填空題(1) 數(shù)據(jù)段PCB(2)運(yùn)行時(shí)間短等待時(shí)間長 (3)并行并發(fā)。(4)資源分配調(diào)度(5)阻塞(6)共享存儲(chǔ)區(qū)消息機(jī)制(7)阻塞(8)向前推進(jìn)。(9)后備(10) 可剝奪 非剝奪3. 判斷題(1)(2)(3)(4)(5)(6)(
8、7)(8)(9)(10)(11)(12)(13)(14)(15)4. 問答題(1) 簡述進(jìn)程和程序之間的區(qū)別和聯(lián)系。答:進(jìn)程和程序是既有區(qū)別又有聯(lián)系的兩個(gè)概念。1) 進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的。程序是一組有序的指令集合,是一個(gè)靜態(tài)的概念;進(jìn)程則是程序及其數(shù)據(jù)在計(jì)算機(jī)上的一次執(zhí)行,是一個(gè)動(dòng)態(tài)的集合。離開了程序,進(jìn)程就失去了存在的意義,但同一程序在計(jì)算機(jī)上的每次運(yùn)行將構(gòu)成不同的進(jìn)程。程序可看作是電影的膠片,進(jìn)程可以看作電影院放電影的過程。2) 一個(gè)進(jìn)程可以執(zhí)行多個(gè)程序,如同一個(gè)電影院的一場(chǎng)電影可放映多部影片。3) 一個(gè)程序可被多個(gè)進(jìn)程執(zhí)行,如同多個(gè)影院同時(shí)利用一個(gè)電影的膠片放映同一部電影。4) 程
9、序可以長期保存,進(jìn)程只能存在于一段時(shí)間。程序是永久存在的,而進(jìn)程有從被創(chuàng)立到消亡的生命周期。(2)為什么將進(jìn)程劃分成運(yùn)行、就緒和阻塞三個(gè)根本狀態(tài)?答: 根據(jù)多道程序執(zhí)行的特點(diǎn),進(jìn)程的運(yùn)行是走走停停的。因此進(jìn)程的初級(jí)狀態(tài)應(yīng)該是執(zhí)行和等待狀態(tài)。處于執(zhí)行狀態(tài)的進(jìn)程占用處理機(jī)執(zhí)行程序,處于等待狀態(tài)的進(jìn)程正在等待處理機(jī)或者等待其它*種事件的發(fā)生。但是,當(dāng)處理機(jī)空閑時(shí),并不是所有處于等待狀態(tài)的進(jìn)程都能放到處理機(jī)上執(zhí)行,有的進(jìn)程即使分配給它處理機(jī),它也不能執(zhí)行,因?yàn)樗膱?zhí)行的條件沒有得到滿足。因此,將等待狀態(tài)的進(jìn)程分成兩局部,一局部是放在處理機(jī)上就能立即執(zhí)行,這就是就緒的進(jìn)程;另一局部是仍需等*種事件發(fā)生的
10、進(jìn)程,即使放在處理機(jī)上也不能執(zhí)行的進(jìn)程,這就是阻塞進(jìn)程。(3) 進(jìn)程控制塊PCB的作用是什么?它主要包含哪些容?答: 操作系統(tǒng)管理的進(jìn)程是多種多樣的,要對(duì)這些進(jìn)程實(shí)施有效的管理,必須對(duì)進(jìn)程進(jìn)展抽象。為了便于系統(tǒng)控制和描述進(jìn)程的活動(dòng),在操作系統(tǒng)核心為進(jìn)程定義了一個(gè)進(jìn)程控制塊PCB。PCB用于描述進(jìn)程的根本情況以及進(jìn)程運(yùn)行和變化的過程,它與進(jìn)程一一對(duì)應(yīng)。當(dāng)系統(tǒng)創(chuàng)立進(jìn)程時(shí),為進(jìn)程分配一個(gè)PCB;在進(jìn)程運(yùn)行過程中,系統(tǒng)通過PCB對(duì)進(jìn)程實(shí)施管理和控制;進(jìn)程完畢時(shí),系統(tǒng)將收回PCB。PCB中的容主要包括調(diào)度信息和現(xiàn)場(chǎng)信息兩大局部。調(diào)度信息包括進(jìn)程名、進(jìn)程號(hào)、優(yōu)先級(jí)、當(dāng)前狀態(tài)、資源信息、程序和數(shù)據(jù)的位置信息
11、、隸屬關(guān)系和各種隊(duì)列指針信息等?,F(xiàn)場(chǎng)信息主要包括程序狀態(tài)字、時(shí)鐘存放器和界限存放器等描述進(jìn)程運(yùn)行情況的信息。(4) 簡述創(chuàng)立進(jìn)程的大致過程解 創(chuàng)立一個(gè)進(jìn)程大體分以下幾步:1) 申請(qǐng)一個(gè)空白的PCB和唯一的進(jìn)程標(biāo)識(shí)號(hào)pid2) 為新進(jìn)程分配除CPU以外的資源,包括存空間;3) 初始化PCB中的數(shù)據(jù)項(xiàng),包括標(biāo)志信息、狀態(tài)信息、控制信息等;4) 將新進(jìn)程的PCB插入系統(tǒng)的就緒隊(duì)列。(5) 為何引入線程?線程與進(jìn)程的關(guān)系是什么?答:在操作系統(tǒng)中引入進(jìn)程的目的,是為了使多個(gè)程序并發(fā)執(zhí)行,以改善資源利用率及提高系統(tǒng)的吞吐量;則,在操作系統(tǒng)中再引入線程則是為了減少程序并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使操作系統(tǒng)具
12、有更好的并發(fā)性。線程具有許多傳統(tǒng)進(jìn)程所具有的特征,故又稱為輕型進(jìn)程(Light-Weight Process)或進(jìn)程元;而把傳統(tǒng)的進(jìn)程稱為重型進(jìn)程(Heavy-Weight Process),它相當(dāng)于只有一個(gè)線程的任務(wù)。在引入了線程的操作系統(tǒng)中,通常一個(gè)進(jìn)程都有假設(shè)干個(gè)線程,至少需要有一個(gè)線程。(6) 何謂進(jìn)程通信?試列舉幾種進(jìn)程通信方式。答:進(jìn)程之間的信息交換,就是進(jìn)程通信。進(jìn)程同步與互斥,就實(shí)現(xiàn)了進(jìn)程之間交換信息,但由于交換的信息量少,可以看作是低級(jí)通信。并發(fā)執(zhí)行的進(jìn)程,有交換信息的各種需要,除同步與互斥外,還可采用其它的通信方式。介紹幾種常用的通信方式:共享存儲(chǔ)、消息傳遞、共享文件。(7
13、)2運(yùn)行就緒阻塞134進(jìn)程的三個(gè)根本的轉(zhuǎn)換如下列圖所示,圖中1、2、3、4分別代表*種類型狀態(tài)變遷,請(qǐng)分別答復(fù):1什么事件引起各狀態(tài)之間的變遷?2系統(tǒng)中常常由于*一進(jìn)程的狀態(tài)變遷引起另一進(jìn)程也產(chǎn)生狀態(tài)變遷,試判斷變遷31、21、32、41、34是否存在因果關(guān)系?答:1) 引起各變遷的事件如下:變遷1:正在執(zhí)行的進(jìn)程從處理機(jī)上退下,導(dǎo)致進(jìn)程調(diào)度程序從就緒狀態(tài)的進(jìn)程中選取一個(gè)進(jìn)程。 變遷2:正在執(zhí)行的進(jìn)程所分配的時(shí)間片用完,導(dǎo)致進(jìn)程從處理機(jī)上退到就緒狀態(tài);或者在可搶占優(yōu)先級(jí)的進(jìn)程調(diào)度中,有更高有先級(jí)的進(jìn)程進(jìn)入就緒狀態(tài),導(dǎo)致正在執(zhí)行的進(jìn)程從執(zhí)行狀態(tài)退到就緒狀態(tài)。 變遷3:進(jìn)程需要等待事件的發(fā)生; 變
14、遷4:進(jìn)程所等待的*事件發(fā)生了如I/O完成;2) 可能發(fā)生的因果變遷 31:由于處于運(yùn)行狀態(tài)的進(jìn)程轉(zhuǎn)入阻塞狀態(tài),進(jìn)程調(diào)度程序根據(jù)調(diào)度算法,又從就緒隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行;21:由于處于運(yùn)行狀態(tài)的進(jìn)程時(shí)間片用完,重新轉(zhuǎn)入就緒狀態(tài),從而使進(jìn)程調(diào)度程序又從就緒隊(duì)列中選擇一個(gè)進(jìn)程投入運(yùn)行;32:此種變化不存在;41:4的發(fā)生與1的發(fā)生沒有必然關(guān)系;34:3的發(fā)生和4的發(fā)生沒有必然關(guān)系。(8) 下表給出了4個(gè)作業(yè)J1、J2、J3、J4的提交時(shí)間、運(yùn)行時(shí)間,試分別采用FCFS、SJF和HRRF調(diào)度算法,求出在各種作業(yè)調(diào)度算法下作業(yè)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。表1 4個(gè)作業(yè)的提交時(shí)間和運(yùn)行時(shí)間表作
15、業(yè)名提交時(shí)間運(yùn)行時(shí)間/hJ110:002J210:181J310:480.5J411:000.8解:采用FCFS作業(yè)調(diào)度算法時(shí),根據(jù)這4個(gè)作業(yè)提交作業(yè)的先后順序依次運(yùn)行,每個(gè)作業(yè)的周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間如表2所示。表 2 FCFS調(diào)度算法性能表作業(yè)名提交時(shí)間運(yùn)行時(shí)間/h開場(chǎng)時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間/h帶權(quán)周轉(zhuǎn)時(shí)間J110:00210:0012:0021J210:18112:0013:002.72.7J310:480.513:0013:302.75.4J411:000.813:3014:183.34.125作業(yè)的平均周轉(zhuǎn)時(shí)間 = 2+2.7+2.7+3.3h/4=2.675h作業(yè)的平均帶權(quán)周轉(zhuǎn)時(shí)間
16、= 1+2.7+5.4+4.125/4=3.30625采用SJF作業(yè)調(diào)度算法時(shí),每個(gè)作業(yè)的周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間如表3所示。表3 SJF調(diào)度算法性能表作業(yè)名提交時(shí)間運(yùn)行時(shí)間/h開場(chǎng)時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間/h帶權(quán)周轉(zhuǎn)時(shí)間J110:00210:0012:0021J210:18113:1814:1844J310:480.512:0012:301.73.4J411:000.812:3013:182.32.875作業(yè)的平均周轉(zhuǎn)時(shí)間 = 2+4+1.7+2.3h/4=2.5h作業(yè)的平均帶權(quán)周轉(zhuǎn)時(shí)間 = 1+4+3.4+2.875/4=2.81875采用HRRF作業(yè)調(diào)度算法時(shí),每個(gè)作業(yè)的周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間
17、如表4所示。當(dāng)時(shí)間為10:00時(shí),僅有作業(yè)J1,J1先運(yùn)行。當(dāng)作業(yè)J1完畢后,此時(shí)系統(tǒng)中存在3個(gè)作業(yè),計(jì)算這3個(gè)作業(yè)J2、J3、J4的響應(yīng)比,分別為2.7、3.4、2.25。作業(yè)J3的響應(yīng)比高,作業(yè)J3運(yùn)行。當(dāng)作業(yè)J3完畢后,系統(tǒng)中剩下2個(gè)作業(yè),計(jì)算這2個(gè)作業(yè)J2、J4的響應(yīng)比,分別為3.2、2.875。作業(yè)J2的響應(yīng)比高,運(yùn)行作業(yè)J2。作業(yè)J2運(yùn)行完畢后,運(yùn)行作業(yè)J4。表 4 HRRF調(diào)度算法性能表作業(yè)名提交時(shí)間運(yùn)行時(shí)間/h開場(chǎng)時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間/h帶權(quán)周轉(zhuǎn)時(shí)間J110:00210:0012:0021J210:18112:3013:303.23.2J310:480.512:0012:301
18、.73.4J411:000.813:3014:183.34.125作業(yè)的平均周轉(zhuǎn)時(shí)間 = 2+3.2+1.7+3.3h/4=2.55h作業(yè)的平均帶權(quán)周轉(zhuǎn)時(shí)間 = 1+3.2+3.4+4.125/4=2.93125(9) 引起進(jìn)程調(diào)度的主要因素主要有哪些?答:1) 一個(gè)進(jìn)程運(yùn)行完畢;2) 一個(gè)正在運(yùn)行的進(jìn)程被阻塞;3) 在搶占式調(diào)度中,一個(gè)高優(yōu)先級(jí)的進(jìn)程被創(chuàng)立;4) 在搶占式調(diào)度中,一個(gè)高優(yōu)先級(jí)進(jìn)程由阻塞被喚醒;5) 在輪轉(zhuǎn)式調(diào)度中,正在運(yùn)行的進(jìn)程運(yùn)行完一個(gè)時(shí)間片。第3章 進(jìn)程同步與死鎖 思考與練習(xí)題參考答案1. 選擇題 (1)C(2)A(3) C(4)B, A(5)B,D(6) A(7) A(
19、8) B(9) B(10) C(11) D(12) B(13)A(14) D(15) D(16) A (17) B(18) A2. 填空題(1)環(huán)路等待條件。(2)臨界資源。(3) P、V等待(4) 可用資源數(shù)目等待該資源的進(jìn)程數(shù)。(5) 等待(6) PV(7) 進(jìn)程(8) 平安不平安(9) 信箱頭信箱體(10) 低級(jí)高級(jí)3. 判斷題(1) (2) (3)(4) (5) (6) (7) (8)(9)(10) (11) (12) 4. 問答題與計(jì)算分析題(1) 在多道程序系統(tǒng)中程序的執(zhí)行失去了封閉性和再現(xiàn)性,因此多道程序的執(zhí)行不需要這些特性,這種說法是否正確 ?答:這種說法不正確??梢韵胂?,如果
20、一個(gè)程序在多道程序系統(tǒng)中,在一樣的輸入的情況下,屢次執(zhí)行所得結(jié)果是不同的,有誰還敢使用這個(gè)程序?因此,多道程序的執(zhí)行也需要封閉性和再現(xiàn)性,只不過單道程序系統(tǒng)的封閉性和再現(xiàn)性是先天固有的,多道程序系統(tǒng)的程序執(zhí)行要想獲得封閉性和再現(xiàn)性,需通過程序員的精心設(shè)計(jì)才能得到。所使用的方法就是同步和互斥的方法。(2)多個(gè)進(jìn)程對(duì)信號(hào)量S進(jìn)展了5次 P操作,2次V操作后,現(xiàn)在信號(hào)量的值是 -3,與信號(hào)量S相關(guān)的處于阻塞狀態(tài)的進(jìn)程有幾個(gè)?信號(hào)量的初值是多少?解:因?yàn)镾的當(dāng)前值是-3,因此因?yàn)镾處于阻塞狀態(tài)的進(jìn)程有3個(gè);因?yàn)槊窟M(jìn)展一次P(S)操作,S的值都減1,每執(zhí)行1次V操作S的值加1,故信號(hào)量的初值為-3+5-
21、2=0;(3) 設(shè)公共汽車上,司機(jī)和售票員的活動(dòng)分別為:司機(jī)的活動(dòng)為啟動(dòng)車輛,正常行車,到站停車;售票員的活動(dòng)為關(guān)車門,售票,開車門。試問:在汽車不斷地到站、停車、行駛過程中,司機(jī)和售票員的活動(dòng)是同步關(guān)系還是互斥關(guān)系?并用信號(hào)量和P、V操作實(shí)現(xiàn)他們間的協(xié)調(diào)操作。解: 在這個(gè)問題中,司機(jī)與售票員間是并行操作的,司機(jī)和售票員各自的操作是順序進(jìn)展的。因此司機(jī)是一個(gè)進(jìn)程,售票員是一個(gè)進(jìn)程,它們之間是合作關(guān)系,即同步關(guān)系。根據(jù)一般常識(shí),司機(jī)和售票員在車上的操作規(guī)則如下:售票員操作的規(guī)則是只有司機(jī)停車后,售票員才能開門讓乘客上下車;司機(jī)操作的規(guī)則是只有售票員關(guān)門后,司機(jī)才能啟動(dòng)開場(chǎng)行駛汽車。根據(jù)同步規(guī)則以
22、及操作流程確定信號(hào)量的個(gè)數(shù)是2個(gè),S1和S2。S1的含義是否關(guān)門,其初值為0,表示開門,其值假設(shè)為1表示關(guān)門;S2的含義是否停車,其初值為1,表示停車,其值假設(shè)為0表示開車。司機(jī)在的操作:在開車前看是否關(guān)門?假設(shè)沒關(guān)則等待,這是一個(gè)P(S1)操作;假設(shè)門關(guān),則開車。到達(dá)一個(gè)站點(diǎn),則停車,這是一個(gè)V (S2) 操作;售票員的操作:看是否停車?假設(shè)沒停則等待,這是一個(gè)P (S2) 操作;假設(shè)停則開門,這是一個(gè)V(S1)操作。司機(jī)與售票員的協(xié)調(diào)操作描述如下: intS1=0;intS2=1;main()cobegindriver();busman();coenddriver()while (1)P(
23、S1);啟動(dòng)車輛;正常行車;到站停車;V(S2); busserver ()while (1) 關(guān)車門;V(S1);售票;P(S2);開車門;上下乘客;(4) 在OS中引入管程的目的是什么?答:在OS中引入管程的目的是為了更簡便、更可靠地解決進(jìn)程之間的同步、互斥問題。在未引入管程之間,進(jìn)程間的同步、互斥問題是由程序員處理的。例如,在臨界區(qū)的前后插入P、V操作。但是,由程序員處理同步、互斥問題有可能引入種種人為的錯(cuò)誤。管程主要是管理對(duì)共享數(shù)據(jù)的操作和使用,即把對(duì)共享數(shù)據(jù)互斥使用的控制這一任務(wù)從程序員身上,交由編譯程序去處理,這樣既方便了編程,又不會(huì)產(chǎn)生人為的同步、互斥上的錯(cuò)誤。(5) 一售票廳只
24、能容納300人,當(dāng)少于300人時(shí),可以進(jìn)入;否則,需在外等候。假設(shè)將每一個(gè)購票者作為一個(gè)進(jìn)程,請(qǐng)用P、V操作編程,并寫出信號(hào)量的初值。解: 信號(hào)量S的初值為300;int S=300 main() P1( ); P2( ); Pn( ); P1() P(S); 進(jìn)入售票廳; 購票; 退出售票廳; V(S); Pn( ) P(S); 進(jìn)入售票廳; 購票; 退出售票廳; V(S); A進(jìn)程CSAV(S1)P(S2)B進(jìn)程P(S1)CSBV(S2)圖3-11 第(6)題圖T*h (6) 設(shè)A、B為兩個(gè)并發(fā)進(jìn)程,它們共享一個(gè)臨界資源,其執(zhí)行臨界區(qū)的算法框圖如下列圖所示。試判斷該算法是否有錯(cuò)?請(qǐng)說明理由
25、。如果有錯(cuò),請(qǐng)改正。設(shè)S1、S2的初值為0,CSA、CSB為臨界區(qū)。解:該算法有錯(cuò)。假設(shè)A進(jìn)程永不要求訪問臨界資源,則不會(huì)執(zhí)行V(S1),意味著B進(jìn)程的申請(qǐng)永遠(yuǎn)得不到操作臨界資源的時(shí)機(jī);同理,假設(shè)B進(jìn)程不要求訪問臨界資源,則不會(huì)執(zhí)行V(S2),意味著A進(jìn)程下次也得不到操作臨界資源的時(shí)機(jī)。所以問題在于本應(yīng)進(jìn)展互斥控制而使用的卻是同步控制。實(shí)現(xiàn)改正如下:A進(jìn)程P(muye*)CSAV(mute*)B進(jìn)程P(mute*)CSBV(mute*)第(6)題改正圖T*h 設(shè)置信號(hào)mute*,初值為1;(7)消息緩沖通信機(jī)制有什么好處?試述消息緩沖通信的過程。解 消息緩沖通信機(jī)制不僅能較好地解決進(jìn)程間的同步
26、互斥問題,還能交換大量信息,是理想的進(jìn)程通信工具,而且操作系統(tǒng)隱藏了進(jìn)程通信的實(shí)現(xiàn)細(xì)節(jié),即通信過程對(duì)用戶是透明的,這樣就大簡化了通信程序編制上的復(fù)雜性。消息緩沖通信的過程如下:當(dāng)*個(gè)進(jìn)程需要向另一個(gè)進(jìn)程發(fā)送消息時(shí),便向系統(tǒng)申請(qǐng)一個(gè)消息緩沖區(qū),并把要發(fā)送的數(shù)據(jù)送到消息緩沖區(qū),然后把該消息緩沖區(qū)插入到承受進(jìn)程的消息隊(duì)列中。承受進(jìn)程在承受消息時(shí),只要從本進(jìn)程的消息隊(duì)列中摘下該消息緩沖區(qū),即可從中取下所需的信息,然后把該消息緩沖區(qū)交還給系統(tǒng)。(8) 桌上有一空盤,只允許存放一個(gè)水果。爸爸可向盤中放蘋果,也可向盤中放桔子。兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤中空時(shí)一次只能放一只水果供吃者
27、取用,請(qǐng)用P、V原語實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。解 在此題中,應(yīng)設(shè)置三個(gè)信號(hào)量S、So、Sa,信號(hào)量S表示盤子是否為空,其初值為1;信號(hào)量So表示盤中是否有桔子,其初值為0;信號(hào)量Sa表示盤中是否有蘋果,其初值為0。同步描述如下:int S=1;int Sa=0;int So=0;main( ) cobeginfather();son();daughter();coendfather() while(1) P(S );將水果放入盤中;if 放入的是桔子 V(So);else V(Sa);son( )while(1)P(So);從盤中取出桔子;V(S);吃桔子; daughter(
28、) while(1)P(Sa);從盤中取出蘋果;V(S);吃蘋果;(9)按序分配是防止死鎖的一種策略。什么是按序分配?為什么按序分配可以防止死鎖?解按序分配是適應(yīng)于動(dòng)態(tài)分配的一種分配方法。為了防止產(chǎn)生死鎖,系統(tǒng)將所有資源進(jìn)展,并規(guī)定進(jìn)程請(qǐng)求資源時(shí),嚴(yán)格按照設(shè)備的大小,比方由小到大的順序進(jìn)程申請(qǐng)。如果*進(jìn)程第n號(hào)資源沒有獲得,則進(jìn)程不能請(qǐng)求第jjn號(hào)資源。系統(tǒng)也可以規(guī)定由大到小的請(qǐng)求次序。因?yàn)榘葱蚍峙淇梢云茐沫h(huán)路等待條件,因此可以防止死鎖。(10) 有四個(gè)進(jìn)程(P1,P2,P3和P4)和三類資源(R1,R2和R3)在T0時(shí)刻的資源分配情況如表3-9所示,(1)檢查此刻的系統(tǒng)狀態(tài)是否平安。(2)假
29、設(shè)在T0時(shí)刻之后,進(jìn)程P3發(fā)出資源請(qǐng)求(1,0,1),即P3申請(qǐng)一個(gè)單位的R1和一個(gè)單位的R3,系統(tǒng)能否將資源分配給P3呢?表3-9 T0時(shí)刻的資源分配表 資源進(jìn)程Ma*AllocationNeedAvailableR1 R2 R3R1 R2 R3R1 R2 R3R1 R2 R3P13 2 21 0 02 2 21 1 2P26 1 35 1 11 0 2P33 1 42 1 11 0 3P44 2 20 0 24 2 0解:(1)從表1分析可知,可用資源數(shù)能滿足進(jìn)程P2,當(dāng)P2運(yùn)行完畢后,釋放它所占有的資源,使可用資源數(shù)目變?yōu)?6,2,3)。此刻,可用資源可滿足其他任一進(jìn)程,假設(shè)將可用資源分
30、配給進(jìn)程P1,P1完畢后,可用資源數(shù)變?yōu)?7,2,3)。再將可用資源分配給進(jìn)程P3,P3完畢后,可用資源數(shù)變?yōu)?9,3,4)。最后將可用資源分配給進(jìn)程P4,P4完畢后,可用資源數(shù)變?yōu)?9,3,6)。因此,系統(tǒng)在T0時(shí)刻是平安的。2由于P3請(qǐng)求資源數(shù)(1,0,1)小于可用資源數(shù)(1,1,2),因此現(xiàn)有資源能滿足P3的要求。系統(tǒng)先假定為P3分配資源,則可用資源數(shù)變?yōu)?0,1,1)。修改相關(guān)數(shù)據(jù),如表2 所示。表 P3申請(qǐng)資源后的資源分配表 資源進(jìn)程Ma*AllocationNeedAvailableR1 R2 R3R1 R2 R3R1 R2 R3R1 R2 R3P13 2 21 0 02 2 20
31、 1 1P26 1 35 1 11 0 2P33 1 43 1 20 0 2P44 2 20 0 24 2 0此刻,可用資源數(shù)0,1,1無法滿足任一個(gè)進(jìn)程的需要,故系統(tǒng)進(jìn)入不平安狀態(tài),因此,系統(tǒng)不能為P3分配資源。(11) 利用管程解決生產(chǎn)者與消費(fèi)者問題。解:下面以Hansen方法解決生產(chǎn)者和消費(fèi)者問題。monitor boundbuffer/* 定義管程,其名稱為boundbuffer */char bufferN;/* 緩沖區(qū)有N個(gè)空間 */int ne*tin,ne*tout;/* 緩沖區(qū)指針,將緩沖區(qū)的N個(gè)空間看作環(huán)形 */int count;/* 產(chǎn)品的數(shù)目 */condition
32、notfull,notempty;/* 同步條件變量 */void append(char *) /* 管程中的過程 */if (count=N) cwait(notfull); /* 緩沖區(qū)滿,等待緩沖區(qū)空的信號(hào) */bufferne*tin=*;/* 將產(chǎn)品放入緩沖區(qū)中 */ne*tin=(ne*tin+1) % N;/* 調(diào)整入隊(duì)指針 */count+;/* 產(chǎn)品個(gè)數(shù)加1 */csignal(notempty);/* 向消費(fèi)者進(jìn)程發(fā)信號(hào),有產(chǎn)品可供消費(fèi) */void take(char * *) if (count=0) then cwait(notempty); /* 沒有產(chǎn)品,需要等待 */*=bufferne*tout; /* 取產(chǎn)品 */ne*tout=(ne*tout+1) % N; /* 修改隊(duì)尾指針 */count-; /* 產(chǎn)品個(gè)數(shù)減1 */csignal(notfull); /* 向生產(chǎn)者進(jìn)程發(fā)信號(hào),有空閑區(qū)了 */monitor_main( ) /* 管程初始化程序 */ne*tin=0;ne*tout=0;count=0; /* 管程定義完畢 */void producer(int i) /* 生產(chǎn)者進(jìn)程 */char *
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖北電力建設(shè)第一工程公司招聘筆試參考題庫含答案解析
- 2025年度個(gè)人信用擔(dān)保裝修借款合同范本3篇
- 2025年個(gè)人金融理財(cái)產(chǎn)品投資合同4篇
- 2025年度油氣輸送鋼管租賃合作合同2篇
- 2025年度個(gè)人農(nóng)田科技種植項(xiàng)目合作協(xié)議4篇
- 2025版二手房免稅托管與租賃一體化服務(wù)合同
- 2025版協(xié)議離婚全程法律服務(wù)及婚姻財(cái)產(chǎn)分割合同3篇
- 2025年度二零二五年度鋼廠廢鋼再生產(chǎn)品銷售合同2篇
- 2025版新能源電池生產(chǎn)承包經(jīng)營合同示范文本3篇
- 2025-2030全球叉車機(jī)器人行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- (完整版)高考英語詞匯3500詞(精校版)
- 通信電子線路(哈爾濱工程大學(xué))智慧樹知到課后章節(jié)答案2023年下哈爾濱工程大學(xué)
- 《公路勘測(cè)細(xì)則》(C10-2007 )【可編輯】
- 皮膚惡性黑色素瘤-疾病研究白皮書
- 從心理學(xué)看現(xiàn)代家庭教育課件
- C語言程序設(shè)計(jì)PPT(第7版)高職完整全套教學(xué)課件
- 頭頸外科臨床診療指南2021版
- 大國重器北斗系統(tǒng)
- 網(wǎng)球運(yùn)動(dòng)知識(shí)教育PPT模板
- 防火墻漏洞掃描基礎(chǔ)知識(shí)
- 運(yùn)動(dòng)技能學(xué)習(xí)PPT
評(píng)論
0/150
提交評(píng)論