操作系統(tǒng)復(fù)習(xí)題_第1頁
操作系統(tǒng)復(fù)習(xí)題_第2頁
操作系統(tǒng)復(fù)習(xí)題_第3頁
操作系統(tǒng)復(fù)習(xí)題_第4頁
操作系統(tǒng)復(fù)習(xí)題_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)原理第一章習(xí)題1 簡(jiǎn)述計(jì)算機(jī)系統(tǒng)的組成。參考答案:計(jì)算機(jī)系統(tǒng)就是按人的要求接收和存儲(chǔ)信息,自動(dòng)進(jìn)行數(shù)據(jù)處理和計(jì)算,并輸出結(jié)果信息的系統(tǒng)。一個(gè)完整的計(jì)算機(jī)系統(tǒng)是由硬件和軟件兩大部分組成的。通常硬件是指計(jì)算機(jī)物理裝置本身,是完成系統(tǒng)各項(xiàng)工作的物質(zhì)基礎(chǔ),主要包括中央處理器(CPU)、存儲(chǔ)器和各種輸入輸出設(shè)備(簡(jiǎn)稱I/O設(shè)備);而軟件是各種程序和文件,用于指揮和管理整個(gè)計(jì)算機(jī)系統(tǒng)按指定的要求進(jìn)行工作。2 什么是操作系統(tǒng)?它在計(jì)算機(jī)中的地位如何?其功能有哪些?參考答案:操作系統(tǒng)是一組控制和管理計(jì)算機(jī)硬件和軟件資源,合理地對(duì)各類作業(yè)進(jìn)行調(diào)度,以及方便用戶使用的程序的集合。 操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最

2、靠近硬件的一層軟件,它支持和管理硬件,與具體的應(yīng)用領(lǐng)域無關(guān),在計(jì)算機(jī)系統(tǒng)的所有軟件中,操作系統(tǒng)是基礎(chǔ),其它軟件只有在操作系統(tǒng)的支持下,才能發(fā)揮作用。它是計(jì)算機(jī)硬件和其它軟件以及計(jì)算機(jī)用戶之間的聯(lián)系紐帶,如果沒有操作系統(tǒng),用戶幾乎無法使用計(jì)算機(jī)系統(tǒng)。從資源管理的觀點(diǎn)看,操作系統(tǒng)具有五個(gè)方面的功能:處理器管理、存儲(chǔ)器管理、設(shè)備管理、文件管理和提供用戶接口。這五大部分相互配合,協(xié)調(diào)工作,實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的資源管理、控制程序的執(zhí)行、并為用戶提供方便的使用接口。3 操作系統(tǒng)有哪幾種類型?各有什么特點(diǎn)?參考答案:操作系統(tǒng)是隨著計(jì)算機(jī)硬件技術(shù)的不斷發(fā)展和用戶的使用要求的提高而從無到有不斷完善起來的,其主要類型

3、及其特點(diǎn)如下:(1) 批處理操作系統(tǒng):具有很高的資源利用率和系統(tǒng)吞吐量,但作業(yè)的平均周轉(zhuǎn)時(shí)間較長(zhǎng),也沒有交互性。(2) 分時(shí)操作系統(tǒng):具有多路性、獨(dú)立性、及時(shí)性和交互性特征,而交互性是其最重要的特征之一。(3) 實(shí)時(shí)操作系統(tǒng):實(shí)時(shí)操作系統(tǒng)通常是專用的,具有高及時(shí)性和高可靠性,但交互性較弱。(4) 微機(jī)操作系統(tǒng):是配置在微型計(jì)算機(jī)上的操作系統(tǒng),可以是單任務(wù)或多任務(wù),也可以是單用戶或多用戶系統(tǒng)。(5) 網(wǎng)絡(luò)操作系統(tǒng):是配置在網(wǎng)絡(luò)中的操作系統(tǒng),用于管理網(wǎng)絡(luò)通信和共享資源,協(xié)調(diào)各計(jì)算機(jī)上任務(wù)的運(yùn)行,并向用戶提供統(tǒng)一的、有效方便的網(wǎng)絡(luò)接口。(6) 分布式操作系統(tǒng):是配置在分布式處理系統(tǒng)上的操作系統(tǒng),其最

4、基本的特征是能實(shí)現(xiàn)處理上的分布,而處理分布的實(shí)質(zhì)是資源、功能、任務(wù)和控制都是分布的。(7) 嵌入式操作系統(tǒng):通常具有以下特點(diǎn):(1)操作系統(tǒng)規(guī)模一般較小。因?yàn)橥ǔO鄳?yīng)硬件配置較低,而且對(duì)操作系統(tǒng)提供的功能要求也不高。(2)應(yīng)用領(lǐng)域差別大。對(duì)于不同的應(yīng)用領(lǐng)域其硬件環(huán)境和設(shè)備配置情況有明顯得差別。4 分時(shí)操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)各有什么特點(diǎn)??jī)烧哂惺裁磪^(qū)別?參考答案:分時(shí)操作系統(tǒng)具有多路性、獨(dú)立性、及時(shí)性和交互性特征,而實(shí)時(shí)操作系統(tǒng)通常是專用的,具有高及時(shí)性和高可靠性,但交互性較弱。兩者的主要區(qū)別是:從交互性上,分時(shí)系統(tǒng)具有很高的交互性,能向終端用戶提供數(shù)據(jù)處理服務(wù)、資源共享等服務(wù),而實(shí)時(shí)系統(tǒng)雖然也

5、具有交互性,但這里人與系統(tǒng)的交互,僅限于訪問系統(tǒng)中某些特定的轉(zhuǎn)用服務(wù)程序;從及時(shí)性上,實(shí)時(shí)信息系統(tǒng)與分時(shí)系統(tǒng)相似,都是以人所能接受的等待時(shí)間來確定的,而實(shí)時(shí)控制系統(tǒng)的及時(shí)性則是以控制對(duì)象所要求的截止時(shí)間來確定的,一般為秒級(jí)、百毫秒級(jí)直至毫秒級(jí),甚至要低于100微秒;從可靠性上,分時(shí)系統(tǒng)雖然也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)高度可靠,因此在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施來保證系統(tǒng)的安全性及數(shù)據(jù)的安全性。5 對(duì)于用戶來說,分時(shí)操作系統(tǒng)與批處理操作系統(tǒng)相比有哪些主要優(yōu)點(diǎn)?參考答案:對(duì)于用戶來說,分時(shí)系統(tǒng)讓每個(gè)用戶都擁有一個(gè)獨(dú)立的終端,方便用戶隨時(shí)上機(jī);同時(shí),為用戶提供了很好的人機(jī)交

6、換能力,使用戶能對(duì)自己的作業(yè)進(jìn)行直接控制,這對(duì)于程序員調(diào)試程序尤為重要。6 什么是多道程序設(shè)計(jì)技術(shù)?它有什么優(yōu)點(diǎn)?試畫出三道作業(yè)的運(yùn)行情況。參考答案:多道程序設(shè)計(jì)技術(shù)的基本思想是按照一定的算法選擇若干個(gè)作業(yè)同時(shí)裝入內(nèi)存,在管理程序的控制下交替執(zhí)行,共享CPU和系統(tǒng)中的其它各種資源,每當(dāng)正在運(yùn)行的程序因某種原因(如等待I/O操作的完成)不能繼續(xù)運(yùn)行時(shí),CPU立即轉(zhuǎn)去執(zhí)行另一道程序。其主要優(yōu)點(diǎn)是既提高了CPU的利用率,也提高了內(nèi)存和I/O設(shè)備的利用率,同時(shí)也大幅增加了系統(tǒng)吞吐量三道作業(yè)的運(yùn)行情況:7 現(xiàn)有以下計(jì)算機(jī)的應(yīng)用場(chǎng)合,請(qǐng)為其選擇適當(dāng)?shù)牟僮飨到y(tǒng): 航空航天,核變研 究; 國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中

7、心; 機(jī)房學(xué)生上機(jī)學(xué)習(xí)編程; 鍋爐爐溫控制; 民航機(jī)票訂購(gòu)系統(tǒng); 兩個(gè)不同地區(qū)之間發(fā)送電子郵件; 產(chǎn)品組裝流水線。參考答案: 航空航天,核變研究:配置實(shí)時(shí)操作系統(tǒng); 國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中心:配置批處理操作系統(tǒng); 機(jī)房學(xué)生上機(jī)學(xué)習(xí)編程:配置分時(shí)操作系統(tǒng); 鍋爐爐溫控制:配置實(shí)時(shí)操作系統(tǒng); 民航機(jī)票訂購(gòu)系統(tǒng):配置實(shí)時(shí)操作系統(tǒng); 兩個(gè)不同地區(qū)之間發(fā)送電子郵件:配置網(wǎng)絡(luò)操作系統(tǒng); 產(chǎn)品組裝流水線:配置實(shí)時(shí)操作系統(tǒng)。8 操作系統(tǒng)有哪些特征?其最基本的特征是什么?它們之間有什么聯(lián)系?參考答案:不同操作系統(tǒng)的特征各不相同,但都具有以下幾個(gè)基本特征:并發(fā)性、共享性、虛擬性和異步性。其中最基本的特征是并發(fā)和共享

8、,它們互為存在條件。首先,共享是以并發(fā)執(zhí)行為條件,若系統(tǒng)不支持程序并發(fā)執(zhí)行,則系統(tǒng)中將不存在資源共享;同時(shí),共享也必然會(huì)影響程序的并發(fā)執(zhí)行,若資源共享不當(dāng),并發(fā)性會(huì)減弱,甚至無法實(shí)現(xiàn)。9 操作系統(tǒng)一般為用戶提供了哪三種使用接口?參考答案:現(xiàn)代操作系統(tǒng)通常向用戶提供以下三種類型的用戶接口:(1) 命令接口:操作系統(tǒng)向用戶提供一組鍵盤操作命令。用戶從鍵盤上輸入命令, 命令解釋程序接收并解釋這些命令,然后調(diào)用操作系統(tǒng)內(nèi)部的相應(yīng)程序,完成相應(yīng)的功能。(2) 程序接口:是操作系統(tǒng)內(nèi)核與應(yīng)用程序之間的接口,是為應(yīng)用程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,通常由一組系統(tǒng)調(diào)用組成,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功

9、能的子程序。系統(tǒng)調(diào)用只能在程序中調(diào)用,不能直接作為命令從鍵盤上輸入執(zhí)行。(3) 圖形接口:這是為了方便用戶使用操作系統(tǒng)而提供的圖形化操作界面。用戶利用鼠標(biāo)、窗口、菜單、圖標(biāo)等圖形用戶界面工具,可以直觀、方便、有效地使用系統(tǒng)服務(wù)和各種應(yīng)用程序及實(shí)用工具,而不必象使用命令接口那樣去記住命令名及格式。第二章習(xí)題:1 進(jìn)程管理主要包括哪些管理功能?參考答案:進(jìn)程管理實(shí)際上就是對(duì)處理器的管理,因?yàn)閭鹘y(tǒng)的多道程序系統(tǒng)中,處理器的分配和運(yùn)行都是以進(jìn)程為基本單位的。主要有以下幾方面的功能:進(jìn)程控制、進(jìn)程互斥與同步、進(jìn)程通信、進(jìn)程調(diào)度。2 什么是進(jìn)程?進(jìn)程有哪些特征?其中最基本的特征是什么?參考答案:進(jìn)程是具有

10、一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。進(jìn)程具有動(dòng)態(tài)性、并發(fā)性、獨(dú)立性、異步性、結(jié)構(gòu)性特征,其中最基本的特征是動(dòng)態(tài)性。3 簡(jiǎn)述進(jìn)程與程序的區(qū)別和聯(lián)系。參考答案:進(jìn)程與程序是兩個(gè)不同的概念,它們之間既有區(qū)別又有聯(lián)系。首先程序是構(gòu)成進(jìn)程的組成部分之一,一個(gè)進(jìn)程的運(yùn)行目標(biāo)是執(zhí)行它所對(duì)應(yīng)的程序,如果沒有程序,進(jìn)程就失去了其存在的意義;反之,如果沒有進(jìn)程,多道程序也不可能并發(fā)運(yùn)行。但進(jìn)程與程序又有著本質(zhì)的區(qū)別:(1) 程序是靜態(tài)概念,本身可以作為軟件資源長(zhǎng)期保存;而進(jìn)程是程序的一次執(zhí)行 過程,是動(dòng)態(tài)的,有一定的生命期。(2) 進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,

11、是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,能與其它進(jìn)程并發(fā)執(zhí)行,而程序則不然。(3) 程序和進(jìn)程無一一對(duì)應(yīng)關(guān)系。一個(gè)程序可由多個(gè)進(jìn)程共享,而一個(gè)進(jìn)程在其運(yùn)行過程中又可順序地執(zhí)行多個(gè)程序。例如,在分時(shí)系統(tǒng)中多個(gè)終端用戶同時(shí)進(jìn)行C程序編譯,這樣,一個(gè)C編譯程序?qū)?yīng)多個(gè)用戶進(jìn)程;而對(duì)每個(gè)用戶進(jìn)程來說,在進(jìn)行編譯的過程中會(huì)用到預(yù)處理、詞法及語法分析、代碼生成和優(yōu)化等幾個(gè)程序模塊。(4) 各進(jìn)程在并發(fā)執(zhí)行過程中存在異步性特征,而程序本身是靜態(tài)的,沒有這個(gè)特征。4 進(jìn)程有哪三種基本狀態(tài)?試說明引起進(jìn)程狀態(tài)轉(zhuǎn)換的典型原因。參考答案:進(jìn)程有就緒狀態(tài)、執(zhí)行狀態(tài)、阻塞狀態(tài)三種狀態(tài)。引起進(jìn)程發(fā)生狀態(tài)轉(zhuǎn)換的典型原因:(1)

12、 就緒執(zhí)行:處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序?yàn)橹峙淞颂幚砥骱螅撨M(jìn)程便由就緒狀態(tài)轉(zhuǎn)換到執(zhí)行狀態(tài)。 (2)執(zhí)行就緒:在分時(shí)系統(tǒng)中,正在執(zhí)行的進(jìn)程如果時(shí)間片用完則將暫停執(zhí)行;在搶占調(diào)度方式中,如有更高優(yōu)先級(jí)的進(jìn)程需要運(yùn)行,將迫使正在運(yùn)行的進(jìn)程讓出CPU。 (3)執(zhí)行阻塞:正在執(zhí)行的進(jìn)程因發(fā)生某事件而無法執(zhí)行,如等待I/O操作的完成或未能申請(qǐng)到所需的系統(tǒng)資源等,則進(jìn)程轉(zhuǎn)為阻塞狀態(tài)。 (4)阻塞就緒:處于阻塞狀態(tài)的進(jìn)程,所等待的事情已經(jīng)發(fā)生,如I/O操作已完成或獲得了所需的資源,則進(jìn)程將轉(zhuǎn)變?yōu)榫途w狀態(tài)。5 進(jìn)程控制塊的作用是什么?在進(jìn)程控制塊中主要包括哪些信息?參考答案:進(jìn)程控制塊,簡(jiǎn)稱PCB(P

13、rocess Control Block),是進(jìn)程實(shí)體的重要組成部分,其中記錄了用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需要的全部信息。通過PCB,使得原來不能并發(fā)執(zhí)行的程序,成為能并發(fā)執(zhí)行的進(jìn)程。在進(jìn)程的控制和管理中,隨進(jìn)程的創(chuàng)建而建立PCB;因進(jìn)程的狀態(tài)變化而修改PCB的相關(guān)內(nèi)容;當(dāng)進(jìn)程被撤銷時(shí),系統(tǒng)收回其PCB??梢姡到y(tǒng)是根據(jù)PCB來感知進(jìn)程的存在的,PCB是進(jìn)程存在的唯一標(biāo)志。不同的操作系統(tǒng)其PCB所包含的信息會(huì)有些不同,但PCB通常都應(yīng)包含如下基本信息:(1)進(jìn)程標(biāo)識(shí)符:系統(tǒng)中的每個(gè)進(jìn)程都有唯一的標(biāo)識(shí)符,以標(biāo)識(shí)一個(gè)進(jìn)程,可以用字符串或編號(hào)表示。(2)說明信息:是與進(jìn)程調(diào)度有關(guān)的一些信息,包

14、括進(jìn)程所處的狀態(tài)、進(jìn)程優(yōu)先權(quán)、進(jìn)程等待時(shí)間或已執(zhí)行時(shí)間、進(jìn)程阻塞原因等。(3)現(xiàn)場(chǎng)信息:主要是由處理器的各個(gè)寄存器中的內(nèi)容組成,包括通用寄存器內(nèi)容、指令計(jì)數(shù)器的值、程序狀態(tài)字內(nèi)容以及用戶棧指針。當(dāng)執(zhí)行中的進(jìn)程因某種原因而暫停時(shí),必須將這些寄存器中的信息保存在PCB中,以便當(dāng)進(jìn)程再次獲得處理器時(shí),能從PCB中恢復(fù)上次斷點(diǎn)處的現(xiàn)場(chǎng)信息而正確地繼續(xù)執(zhí)行。(4)管理信息:是進(jìn)程管理和控制所需要的相關(guān)信息,包括程序和數(shù)據(jù)在內(nèi)存或外存的地址、進(jìn)程同步和通信機(jī)制、資源清單(記錄進(jìn)程所需的除CPU外的全部資源和已經(jīng)分配到的資源)、進(jìn)程隊(duì)列的鏈接指針等。6 進(jìn)程創(chuàng)建、進(jìn)程撤銷、進(jìn)程阻塞、進(jìn)程喚醒幾個(gè)原語主要應(yīng)完

15、成哪些工作?參考答案:(1)進(jìn)程創(chuàng)建原語的功能是為新進(jìn)程申請(qǐng)一個(gè)空白PCB,分配必要的資源,并把新進(jìn)程的相關(guān)信息填入PCB中,如進(jìn)程名、父進(jìn)程標(biāo)識(shí)符、處理器初始狀態(tài)、進(jìn)程狀態(tài)、進(jìn)程優(yōu)先級(jí)、進(jìn)程對(duì)應(yīng)程序入口地址、資源申請(qǐng)和分配情況等。然后將其PCB插入就緒隊(duì)列等待進(jìn)程調(diào)度。(2)進(jìn)程撤消原語的主要功能是收回被撤消進(jìn)程所占用的系統(tǒng)資源,包括PCB。原語首先檢查被撤消進(jìn)程在系統(tǒng)中是否存在,如果存在,則回收該進(jìn)程占用的所有系統(tǒng)資源,將其PCB從所在隊(duì)列中移出。如果該進(jìn)程還有子進(jìn)程,則一并予以撤消。最后撤消其PCB。(3)進(jìn)程阻塞原語首先停止該進(jìn)程的執(zhí)行,將CPU中各寄存器內(nèi)容填入該進(jìn)程的PCB中,并將

16、其狀態(tài)由“執(zhí)行”改為“阻塞”,然后插入相應(yīng)的阻塞隊(duì)列,最后轉(zhuǎn)進(jìn)程調(diào)度程序重新進(jìn)行調(diào)度。(4)進(jìn)程喚醒原語首先將被阻塞進(jìn)程的PCB從所在阻塞隊(duì)列中移出,并將其PCB中的狀態(tài)由“阻塞”改為“就緒”,然后插入就緒隊(duì)列中等待調(diào)度。7 同步機(jī)制應(yīng)遵循的四個(gè)準(zhǔn)則是什么?參考答案:同步機(jī)制應(yīng)遵循的四個(gè)準(zhǔn)則是:(1) 空閑讓進(jìn):當(dāng)無進(jìn)程處于臨界區(qū)時(shí),相應(yīng)的臨界資源處于空閑狀態(tài),因而應(yīng)允許一個(gè)請(qǐng)求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入自己的臨界區(qū),以有效地利用資源。(2) 忙則等待:當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),表示相應(yīng)的臨界資源正被訪問,因而所 有其它試圖進(jìn)入相關(guān)臨界區(qū)的進(jìn)程必須等待,以保證諸進(jìn)程互斥訪問臨界資源。(3) 有限等

17、待:對(duì)要求訪問臨界資源的進(jìn)程,應(yīng)保證該進(jìn)程能在有限的時(shí)間內(nèi)進(jìn)入 自己的臨界區(qū),以免陷入“永遠(yuǎn)等待”狀態(tài)。(4) 讓權(quán)等待:當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時(shí),應(yīng)立即釋放處理器,以免陷入“忙等”狀態(tài)。8 簡(jiǎn)述進(jìn)程互斥與同步的概念。參考答案:多個(gè)進(jìn)程之間彼此無關(guān),它們并不知道其它進(jìn)程的存在,但由于同處于一個(gè)系統(tǒng)中,必然存在著資源共享關(guān)系。系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,這類資源稱為臨界資源,許多物理設(shè)備(如打印機(jī)、磁帶機(jī)等)和許多軟件資源(如共享變量、數(shù)據(jù)、表格、隊(duì)列等)都屬于臨界資源。多個(gè)進(jìn)程在共享臨界資源時(shí),必須以互斥方式共享。所謂進(jìn)程同步是指相互合作的進(jìn)程需按一定的先后順序執(zhí)行,以順利完成某共同任

18、務(wù)。具體說,這些進(jìn)程之間需要交換一定的信息,當(dāng)某進(jìn)程未獲得其合作進(jìn)程發(fā)來的信息之前,該進(jìn)程等待,直到接收到相關(guān)信息時(shí)才繼續(xù)執(zhí)行,從而保證諸進(jìn)程的協(xié)調(diào)運(yùn)行。9 信號(hào)量的PV操作是如何定義的?試說明信號(hào)量的PV操作的物理意義。參考答案:P(S):將信號(hào)量S減1,若結(jié)果大于或等于0,則該進(jìn)程繼續(xù)執(zhí)行;若結(jié)果小于0,則該進(jìn)程被阻塞,并將其插入到該信號(hào)量的等待隊(duì)列中,然后轉(zhuǎn)去調(diào)度另一進(jìn)程。V(S):將信號(hào)量S加1,若結(jié)果大于0,則該進(jìn)程繼續(xù)執(zhí)行;若結(jié)果小于或等于0,則從該信號(hào)量的等待隊(duì)列中移出一個(gè)進(jìn)程,使其從阻塞狀態(tài)變?yōu)榫途w狀態(tài),并插入到就緒隊(duì)列中,然后返回當(dāng)前進(jìn)程繼續(xù)執(zhí)行。PV操作的物理含義:信號(hào)量S

19、值的大小表示某類資源的數(shù)量。當(dāng)S0時(shí),其值表示當(dāng)前可供分配的資源數(shù)目;當(dāng)S0時(shí),其絕對(duì)值表示S信號(hào)量的等待隊(duì)列中的進(jìn)程數(shù)目。每執(zhí)行一次P操作,S值減1,表示請(qǐng)求分配一個(gè)資源,若S0,表示可以為進(jìn)程分配資源,即允許進(jìn)程進(jìn)入其臨界區(qū);若S0,表示等待隊(duì)列為空;若S0,則表示等待隊(duì)列中有因申請(qǐng)不到相應(yīng)資源而被阻塞的進(jìn)程,于是喚醒其中一個(gè)進(jìn)程,并將其插入就緒隊(duì)列。無論以上哪種情況,執(zhí)行V操作的進(jìn)程都可繼續(xù)運(yùn)行。10 什么是臨界資源?什么是臨界區(qū)?參考答案:系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,這類資源稱為臨界資源,許多物理設(shè)備(如打印機(jī)、磁帶機(jī)等)和許多軟件資源(如共享變量、數(shù)據(jù)、表格、隊(duì)列等)都屬于

20、臨界資源。每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。11 在生產(chǎn)者消費(fèi)者問題中,如果缺少了V(full)或V(empty),或者將P(full)與P(mutex)互換位置,或者將V(full)與V(mutex)互換位置,結(jié)果分別是什么?參考答案:在生產(chǎn)者消費(fèi)者問題中,如果缺少了V(full)或V(empty),系統(tǒng)最終可能進(jìn)入死鎖狀態(tài)。將P(full)與P(mutex)互換位置,系統(tǒng)也可能進(jìn)入死鎖狀態(tài)。將V(full)與V(mutex)互換位置,系統(tǒng)不會(huì)出現(xiàn)什么問題,最多只是臨界資源的釋放推遲。12 假設(shè)有三個(gè)并發(fā)進(jìn)程P,Q,R,其中P負(fù)責(zé)從輸入設(shè)備上讀入信息并傳送給Q,Q將信息加工后傳送給

21、R,R則負(fù)責(zé)將信息打印輸出。寫出下列條件的并發(fā)程序:(1)進(jìn)程P、Q共享一個(gè)緩沖區(qū),進(jìn)程Q、R共享另一個(gè)緩沖區(qū)。(2)進(jìn)程P、Q共享一個(gè)由m個(gè)緩沖區(qū)組成的緩沖池,進(jìn)程Q、R共享另一個(gè)由n個(gè)緩沖區(qū)組成的緩沖池。參考答案:(1)第一步:確定進(jìn)程3個(gè)進(jìn)程P、Q、RP進(jìn)程:l 從輸入設(shè)備上讀入信息l 將信息放入緩沖區(qū)1Q進(jìn)程:l 從緩沖區(qū)1取出信息l 將信息放入緩沖區(qū)2中R進(jìn)程:l 從緩沖區(qū)2取出信息l 將信息打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:P當(dāng)緩存區(qū)1無數(shù)據(jù)時(shí),才可以向緩沖區(qū)1寫入信息l 同步:Q當(dāng)緩存區(qū)1有數(shù)據(jù)時(shí),才可以從緩沖區(qū)1讀取信息l 同步:Q當(dāng)緩存區(qū)2無數(shù)據(jù)時(shí),才可以向緩

22、沖區(qū)2寫入信息l 同步:R當(dāng)緩存區(qū)2有數(shù)據(jù)時(shí),才可以從緩沖區(qū)2讀取信息第三步:設(shè)置信號(hào)量l 緩存區(qū)1無數(shù)據(jù),empty1,初值1l 緩存區(qū)1有數(shù)據(jù),full1,初值0l 緩存區(qū)2無數(shù)據(jù),empty2,初值1l 緩存區(qū)2有數(shù)據(jù),full2,初值0第四步:用偽代碼描述begin empty1,empty2,full1,full2:semaphore;empty1 :=1; empty2 :=1; full1 :=0; full2 :=0;cobeginP ( );Q ( ); R ( );coend;end;process P ( )begin L1: 從輸入設(shè)備上讀入信息; P(empty1);

23、 將信息放入緩沖區(qū)1; V(full1); goto L1 end;process Q ( )begin L2:P(full1);從緩沖區(qū)1取出信息; V(empty1); P(empty2);將信息放入緩沖區(qū)2; V(full2); goto L2 end;process R ( )begin L3:P(full2);從緩沖區(qū)2取出信息; V(empty2);將信息打印輸出 ; goto L3 ; end;(2)第一步:確定進(jìn)程3個(gè)進(jìn)程P、Q、RP進(jìn)程:l 從輸入設(shè)備上讀入信息l 將信息放入緩沖池1中的一個(gè)空緩沖區(qū)中Q進(jìn)程:l 從緩沖池1中的一個(gè)非空緩沖區(qū)中取出信息l 將信息放入緩沖池2中的

24、一個(gè)空緩沖區(qū)中R進(jìn)程:l 從緩沖池2中的一個(gè)非空緩沖區(qū)中取出信息l 將信息打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:P當(dāng)緩沖池1中有空的緩沖區(qū)時(shí),才可以向緩沖池1寫入信息l 同步:Q當(dāng)緩沖池1中有非空的緩沖區(qū)時(shí),才可以從緩沖池1讀取信息l 同步:Q當(dāng)緩沖池2中有空的緩沖區(qū)時(shí),才可以向緩沖池2寫入信息l 同步:R當(dāng)緩沖池2中有非空的緩沖區(qū)時(shí),才可以從緩沖池2讀取信息第三步:設(shè)置信號(hào)量l 緩沖池1中的空緩沖區(qū)的數(shù)量,empty1,初值ml 緩沖池1中的非空緩沖區(qū)的數(shù)量,full1,初值0l 緩沖池2中的空緩沖區(qū)的數(shù)量,empty2,初值nl 緩沖池2中的非空緩沖區(qū)的數(shù)量,full2,初值0

25、第四步:用偽代碼描述begin empty1,empty2,full1,full2:semaphore;empty1 :=m; empty2 :=n; full1 :=0; full2 :=0;cobeginP ( );Q ( ); R ( );coend;end;process P ( )begin L1: 從輸入設(shè)備上讀入信息; P(empty1); 將信息放入緩沖池1中的一個(gè)空緩沖區(qū)中; V(full1); goto L1 end;process Q ( )begin L2:P(full1);從緩沖池1中的一個(gè)非空緩沖區(qū)中取出信息; V(empty1); P(empty2);將信息放入緩

26、沖池2中的一個(gè)空緩沖區(qū)中; V(full2); goto L2 end;process R ( )begin L3:P(full2);從緩沖池2中的一個(gè)非空緩沖區(qū)中取出信息; V(empty2);將信息打印輸出 ; goto L3 ; end;13 有四個(gè)并發(fā)進(jìn)程:R1,R2,W1和W2,它們共享可以存放一個(gè)數(shù)的緩沖區(qū)。進(jìn)程R1每次從磁盤讀入一個(gè)數(shù)存放到緩沖區(qū)中,供進(jìn)程W1打印輸出;進(jìn)程R2每次從鍵盤讀一個(gè)數(shù)存放到緩沖區(qū)中,供進(jìn)程W2打印輸出。當(dāng)緩沖區(qū)滿時(shí),不允許再向緩沖區(qū)中存放數(shù)據(jù);當(dāng)緩沖區(qū)空時(shí),不允許再?gòu)木彌_區(qū)中取出數(shù)據(jù)打印輸出。試用PV操作實(shí)現(xiàn)四個(gè)進(jìn)程的協(xié)調(diào)運(yùn)行。參考答案:第一步:確定進(jìn)

27、程4個(gè)進(jìn)程R1、R2、W1、W2R1進(jìn)程:l 從磁盤上讀入一個(gè)數(shù)l 將數(shù)存放到緩沖區(qū)中W1進(jìn)程:l 將R1進(jìn)程放進(jìn)緩沖區(qū)中的數(shù)取出l 打印輸出R2進(jìn)程:l 從鍵盤讀入一個(gè)數(shù)l 將數(shù)存放到緩沖區(qū)中W2進(jìn)程:l 將R2進(jìn)程放進(jìn)緩沖區(qū)中的數(shù)取出l 打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:R1當(dāng)緩存區(qū)無數(shù)據(jù)時(shí),才可以向緩沖區(qū)寫入數(shù)據(jù)l 同步:R2當(dāng)緩存區(qū)無數(shù)據(jù)時(shí),才可以向緩沖區(qū)寫入數(shù)據(jù)l 同步:W1當(dāng)緩存區(qū)中是R1寫的數(shù)據(jù)時(shí),才可以將數(shù)據(jù)從緩沖區(qū)中讀出l 同步:W2當(dāng)緩存區(qū)中是R2寫的數(shù)據(jù)時(shí),才可以將數(shù)據(jù)從緩沖區(qū)中讀出第三步:設(shè)置信號(hào)量l 緩存區(qū)無數(shù)據(jù),empty,初值1l 緩存區(qū)中是R1寫

28、的數(shù)據(jù),full1,初值0l 緩存區(qū)中是R2寫的數(shù)據(jù),full2,初值0第四步:用偽代碼描述begin empty, full1,full2:semaphore;empty :=1; full1 :=0; full2 :=0;cobeginR1 ( );R2 ( ); W1 ( );W2 ( );coend;end;process R1 ( )begin L1: 從磁盤上讀入一個(gè)數(shù); P(empty); 將數(shù)存放到緩沖區(qū)中; V(full1); goto L1 end;process R2 ( )begin L2: 從鍵盤上讀入一個(gè)數(shù); P(empty); 將數(shù)存放到緩沖區(qū)中; V(full2

29、); goto L2 end;process W1 ( )begin L3:P(full1);將緩沖區(qū)中的數(shù)取出;V(empty);打印輸出; goto L3 end;process W2 ( )begin L4:P(full2);將緩沖區(qū)中的數(shù)取出;V(empty);打印輸出; goto L4 end;14 設(shè)公共汽車上,司機(jī)的活動(dòng)順序是:?jiǎn)?dòng)車輛、正常行車、到站停車;售票員的活動(dòng)順序是:關(guān)車門、售票、開車門?,F(xiàn)假設(shè)初始狀態(tài)為:司機(jī)和售票員都已經(jīng)在車上,汽車處于停止?fàn)顟B(tài),車門處于開的狀態(tài)。在汽車不斷地到站、停車、行駛過程中,請(qǐng)用信號(hào)量的PV操作實(shí)現(xiàn)司機(jī)與售票員之間的同步關(guān)系。參考答案:第一步

30、:確定進(jìn)程2個(gè)進(jìn)程 Driver(司機(jī))、Busman(售票員)Driver進(jìn)程:l 啟動(dòng)車輛l 正常行車l 到站停車Busman進(jìn)程:l 關(guān)車門l 售票l 開車門第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:當(dāng)售票員將車門關(guān)上后,司機(jī)才可以啟動(dòng)車輛l 同步:當(dāng)司機(jī)到站停車后,售票員打開車門第三步:設(shè)置信號(hào)量l 車門關(guān)上,close,初值0l 到站停車,stop,初值0第四步:用偽代碼描述begin close, stop:semaphore; close := 0; stop := 0;cobeginDriver ( );Busman ( );coend;end;process Driver (

31、 )begin L1: P(close);啟動(dòng)車輛; 正常行始;到站停車;V(stop); goto L1 end;process Busman ( )begin L2: 關(guān)車門; V(close); 售票; P(stop); 開車門;goto L2 end;15 哲學(xué)家進(jìn)餐問題:五位哲學(xué)家吃面條,只有五根筷子,每個(gè)人必須用一雙筷子才能吃面條。請(qǐng)用信號(hào)量的PV操作描述哲學(xué)家之間的關(guān)系。參考答案:錯(cuò)誤解法!第一步:確定進(jìn)程5個(gè)進(jìn)程 Pi(i= 04)Pi進(jìn)程:l 思考l 拿起左邊筷子l 拿起右邊筷子l 吃面條l 放下右邊筷子l 放下左邊筷子第二步:確定進(jìn)程的同步、互斥關(guān)系互斥:筷子是互斥資源,

32、每個(gè)人都只能使用他左右的兩根筷子第三步:設(shè)置信號(hào)量l chopstick5 :表示5根筷子,初值 1第四步:用偽代碼描述begin chopstick04 :semaphore;chopstick04 := 1;cobeginprocess Pi(i=0,2,4)begin思考;P(chopsticki );P(chopsticki+1%5 );吃面條;V(chopsticki+1%5 );V(chopsticki );endcoend;end;錯(cuò)誤原因:假如所有的哲學(xué)家都同時(shí)拿起左側(cè)筷子,看到右側(cè)筷子不可用,都在等待右側(cè)筷子,無限期地運(yùn)行,但是都無法取得任何進(jìn)展,即出現(xiàn)饑餓,所有哲學(xué)家都吃不

33、上飯。解決方案:1、 至多只允許四個(gè)哲學(xué)家同時(shí)進(jìn)餐,以保證至少有一個(gè)哲學(xué)家能夠進(jìn)餐,最終總會(huì)釋放出他所使用過的兩支筷子,從而可使更多的哲學(xué)家進(jìn)餐。2、 規(guī)定奇數(shù)號(hào)的哲學(xué)家先拿起他左邊的筷子,然后再去拿他右邊的筷子;而偶數(shù)號(hào)的哲學(xué)家則相反.按此規(guī)定,將是1,2號(hào)哲學(xué)家競(jìng)爭(zhēng)1號(hào)筷子,3,4號(hào)哲學(xué)家競(jìng)爭(zhēng)3號(hào)筷子.即五個(gè)哲學(xué)家都競(jìng)爭(zhēng)奇數(shù)號(hào)筷子,獲得后,再去競(jìng)爭(zhēng)偶數(shù)號(hào)筷子,最后總會(huì)有一個(gè)哲學(xué)家能獲得兩支筷子而進(jìn)餐。而申請(qǐng)不到的哲學(xué)家進(jìn)入阻塞等待隊(duì)列,則先申請(qǐng)的哲學(xué)家會(huì)較先可以吃飯,因此不會(huì)出現(xiàn)餓死的哲學(xué)家。3、 將拿筷子的操作做成原子操作,即當(dāng)一個(gè)哲學(xué)家正在拿筷子的時(shí)候,其它的哲學(xué)家不能動(dòng)筷子,當(dāng)他那好

34、筷子開始吃飯的時(shí)候,其它哲學(xué)家才可以拿筷子。這里給出正確解決方案中的第1種方案:解: 第一步:確定進(jìn)程5個(gè)進(jìn)程 Pi(i= 04)Pi進(jìn)程:l 思考l 拿起左邊筷子l 拿起右邊筷子l 吃面條l 放下右邊筷子l 放下左邊筷子第二步:確定進(jìn)程的同步、互斥關(guān)系互斥:筷子是互斥資源, 每個(gè)人都只能使用他左右的兩根筷子同步:只能有四個(gè)人同時(shí)吃飯第三步:設(shè)置信號(hào)量l chopstick5 :表示5根筷子,初值 1l num:表示允許吃面的人的個(gè)數(shù),初值4第四步:用偽代碼描述begin chopstick04 :semaphore;num : semaphore;chopstick04 := 1;num :

35、= 4;cobeginprocess Pi(i=0,2,4)begin思考;P (num);P(chopsticki);P(chopsticki+1%5 );吃面條;V(chopsticki+1%5 );V(chopsticki );V (num);endcoend;end;16 系統(tǒng)中只有一臺(tái)打印機(jī),有三個(gè)進(jìn)程在運(yùn)行中都需要使用打印機(jī)進(jìn)行打印輸出,問:這三個(gè)進(jìn)程間有什么樣的制約關(guān)系?試用信號(hào)量的PV操作描述這種關(guān)系。參考答案:由于打印機(jī)是臨界資源,三個(gè)進(jìn)程共享臨界資源,是互斥關(guān)系。 為臨界資源設(shè)置互斥信號(hào)量s,初始值為1:begin s :semaphore;s := 1;cobeginpr

36、ocess Pi(i=0,1,2)begin 其他工作;P (s);打??;V (s);endcoend;end;17 根據(jù)例2.5,把題目修改為以下幾種情況,請(qǐng)用PV操作實(shí)現(xiàn)他們之間的同步關(guān)系: (1)桌上一個(gè)盤子,只能放一只水果。爸爸放蘋果,媽媽放桔子,兒子只吃桔子,女兒只吃蘋果。(2)桌上一個(gè)盤子,只能放一只水果。爸爸放蘋果,媽媽放桔子,兒子吃桔子、蘋果。參考答案:第一步:確定進(jìn)程4個(gè)進(jìn)程Father(爸爸)、Mother(媽媽)、Son(兒子)、Daughter(女兒)Father進(jìn)程:l 將蘋果放入盤中Mother進(jìn)程:l 將桔子放入盤中Son進(jìn)程:l 從盤中取出桔子l 吃桔子Daug

37、hter進(jìn)程:l 從盤中取出蘋果l 吃蘋果第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:Father當(dāng)盤中無水果時(shí),才可以將蘋果放入盤中l(wèi) 同步:Mother當(dāng)盤中無水果時(shí),才可以將桔子放入盤中l(wèi) 同步:Son當(dāng)盤中有桔子時(shí),才可以從盤中取出桔子l 同步:Daughter當(dāng)盤中有蘋果時(shí),才可以從盤中取出蘋果第三步:設(shè)置信號(hào)量l 盤中無水果,Sp,初值1l 盤中有桔子,So,初值0l 盤中有蘋果,Sa,初值0第四步:用偽代碼描述begin Sp,So,Sa:semaphore; Sp :=1; So :=0; Sa :=0;cobeginFather ( );Mother ( );Son ( );D

38、aughter ( );coend;end;process Father ( ) begin L1: P(Sp); 將蘋果放入盤中; V(Sa); goto L1; end;process Mother ( ) begin L2: P(Sp); 將桔子放入盤中; V(So); goto L2; end;process Son ( ) begin L3: P(So); 從盤中取出桔子; V(Sp) 吃桔子; goto L3; end;process Daughter ( ) begin L4: P(Sa); 從盤中取出蘋果; V(Sp) 吃蘋果; goto L4; end;(2)第一步:確定進(jìn)程

39、3個(gè)進(jìn)程Father(爸爸)、Mother(媽媽)、Son(兒子)Father進(jìn)程:l 將蘋果放入盤中Mother進(jìn)程:l 將桔子放入盤中Son進(jìn)程:l 從盤中取出水果(桔子或蘋果)l 吃水果(桔子或蘋果)第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:Father當(dāng)盤中無水果時(shí),才可以將蘋果放入盤中l(wèi) 同步:Mother當(dāng)盤中無水果時(shí),才可以將桔子放入盤中l(wèi) 同步:Son當(dāng)盤中有水果(桔子或蘋果)時(shí),才可以從盤中取出水果第三步:設(shè)置信號(hào)量l 盤中無水果,empty,初值1l 盤中有水果(桔子或蘋果),full,初值0第四步:用偽代碼描述begin empty, full:semaphore; em

40、pty:=1; full :=0;cobeginFather ( );Mother ( );Son ( );coend;end;process Father ( ) begin L1: P(empty); 將蘋果放入盤中; V(full); goto L1; end;process Mother ( ) begin L2: P(empty); 將桔子放入盤中; V(full); goto L2; end;process Son ( ) begin L3: P(full); 從盤中取出水果; V(empty); 吃水果; goto L3; end;18 有一個(gè)閱覽室,共有100個(gè)座位。讀者進(jìn)入閱

41、覽室時(shí)必須在入口處進(jìn)行登記;離開閱覽室時(shí)必須進(jìn)行注銷。試用PV操作描述讀者進(jìn)入/離開閱覽室的同步與互斥關(guān)系。參考答案:第一步:確定進(jìn)程可以進(jìn)入閱覽室的讀者可以有很多,這里設(shè)為n,即n個(gè)Reader(讀者)進(jìn)程Reader進(jìn)程:l 登記l 進(jìn)入閱覽室l 讀書l 離開閱覽室l 注銷第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:當(dāng)教室內(nèi)有空座位時(shí),讀者才可以登記,并進(jìn)入閱覽室l 互斥:同時(shí)只能有一個(gè)讀者在入口處進(jìn)行登記l 互斥:同時(shí)只能有一個(gè)讀者在出口處進(jìn)行注銷第三步:設(shè)置信號(hào)量l 教室內(nèi)空座位數(shù)量,seat,初值100l 為入口處進(jìn)行登記設(shè)置互斥信號(hào)量Sin,初值 1,表示當(dāng)前可用l 為出口處進(jìn)行注銷

42、設(shè)置互斥信號(hào)量Sout,初值 1,表示當(dāng)前可用第四步:用偽代碼描述begin Sin, Sout, seat:semaphore; seat :=100; Sin := 1; Sout := 1;cobeginprocess Reader-i ( i = 1,2,n );beginP(seat);P(Sin);登記;V(Sin);進(jìn)入閱覽室;讀書;離開閱覽室;P(Sout);注銷;V(Sout);V(seat);endcoend;end;19 某工廠有一個(gè)可以存放設(shè)備的倉(cāng)庫(kù),總共可以存放10臺(tái)設(shè)備。生產(chǎn)的每一臺(tái)設(shè)備都必須入庫(kù),銷售部門可從倉(cāng)庫(kù)提出設(shè)備供應(yīng)客戶。設(shè)備的入庫(kù)和出庫(kù)都必須借助運(yùn)輸工具

43、?,F(xiàn)只有一臺(tái)運(yùn)輸工具,每次只能運(yùn)輸一臺(tái)設(shè)備。請(qǐng)?jiān)O(shè)計(jì)一個(gè)能協(xié)調(diào)工作的自動(dòng)調(diào)度管理系統(tǒng)。參考答案:第一步:確定進(jìn)程可以為入庫(kù)(Pin)和出庫(kù)(Pout)各設(shè)置一個(gè)進(jìn)程Pin進(jìn)程:l 生產(chǎn)了一臺(tái)設(shè)備l 使用運(yùn)輸工具入庫(kù)Pout進(jìn)程:l 使用運(yùn)輸工具出庫(kù)l 提出設(shè)備供應(yīng)客戶第二步:確定進(jìn)程的同步、互斥關(guān)系l 同步:當(dāng)倉(cāng)庫(kù)中有空余位置存放設(shè)備時(shí),設(shè)備才可以入庫(kù)l 同步:當(dāng)倉(cāng)庫(kù)中有存放的設(shè)備時(shí),設(shè)備才可以出庫(kù)l 互斥:運(yùn)輸工具是臨界資源,要互斥訪問第三步:設(shè)置信號(hào)量l 倉(cāng)庫(kù)中有空余位置數(shù)量,empty,初值10l 倉(cāng)庫(kù)中有存放的設(shè)備數(shù)量,full,初值 0l 為運(yùn)輸工具設(shè)置互斥信號(hào)量S,初值 1,表示當(dāng)前

44、可用第四步:用偽代碼描述begin empty, full, S:semaphore; empty := 10;full := 0;S := 1;cobeginPin ();Pout ();coend;end;process Pin ( ) begin L1: 生產(chǎn)了一臺(tái)設(shè)備 ;P(empty); P (S);使用運(yùn)輸工具入庫(kù);V (S); V(full); goto L1; end;process Pout ( ) beginL2: P(full);P (S);使用運(yùn)輸工具出庫(kù);V (S);V(empty);提出設(shè)備供應(yīng)客戶; goto L2; end;20 進(jìn)程通信主要有哪幾種類型?參考答

45、案:進(jìn)程通信的類型主要有:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng)。21 高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?參考答案:高級(jí)調(diào)度又稱作業(yè)調(diào)度,其任務(wù)是從外存上的后備隊(duì)列中按照一定的原則選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,為他們創(chuàng)建進(jìn)程,分配必要的資源,如內(nèi)存、外設(shè)等,并將新創(chuàng)建的進(jìn)程插入就緒隊(duì)列,準(zhǔn)備執(zhí)行。低級(jí)調(diào)度通常又稱為進(jìn)程調(diào)度,其任務(wù)是決定就緒隊(duì)列中的哪個(gè)進(jìn)程獲得處理器,然后由分派程序把處理器分配給該進(jìn)程,為它恢復(fù)運(yùn)行現(xiàn)場(chǎng),讓其運(yùn)行。引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存的利用率和系統(tǒng)吞吐量。22 引起進(jìn)程調(diào)度的原因有哪些?參考答案:引起進(jìn)程調(diào)度的原因有:(1)正在執(zhí)行的進(jìn)程

46、執(zhí)行完畢,或因發(fā)生某事件而不能再繼續(xù)執(zhí)行;(2)執(zhí)行中的進(jìn)程因提出I/O請(qǐng)求而暫停執(zhí)行;(3)在進(jìn)程通信或同步過程中執(zhí)行了某種原語操作;(4)當(dāng)采用基于優(yōu)先權(quán)的強(qiáng)占式調(diào)度算法時(shí),就緒隊(duì)列中出現(xiàn)優(yōu)先級(jí)比當(dāng)前正在執(zhí)行的進(jìn)程優(yōu)先級(jí)更高的進(jìn)程時(shí);(5)當(dāng)采用時(shí)間片輪轉(zhuǎn)調(diào)度算法時(shí),當(dāng)前進(jìn)程的時(shí)間片用完了。23 選擇進(jìn)程調(diào)度算法的原則有哪些?參考答案:一個(gè)操作系統(tǒng)如何選擇調(diào)度方式和算法,在很大程度上取決于操作系統(tǒng)的類型和目標(biāo),通常應(yīng)盡量遵循以下幾方面的原則:(1) 周轉(zhuǎn)時(shí)間短。從作業(yè)提交開始到作業(yè)完成為止的時(shí)間間隔稱為周轉(zhuǎn)時(shí)間,它包括作業(yè)等待進(jìn)入內(nèi)存、進(jìn)程在就緒隊(duì)列中等待、進(jìn)程在CPU上執(zhí)行和完成I/O操

47、作所花費(fèi)的時(shí)間總和。它主要用于評(píng)價(jià)批處理系統(tǒng)。為了能更準(zhǔn)確地評(píng)價(jià)系統(tǒng)的性能,引入了另一個(gè)指標(biāo):帶權(quán)周轉(zhuǎn)時(shí)間,即作業(yè)的周轉(zhuǎn)時(shí)間與系統(tǒng)實(shí)際為其提供的服務(wù)時(shí)間之比。(2) 響應(yīng)時(shí)間快。從用戶通過鍵盤提交一個(gè)請(qǐng)求開始,直至系統(tǒng)首次產(chǎn)生響應(yīng)為止的時(shí)間間隔稱為響應(yīng)時(shí)間,主要用于評(píng)價(jià)分時(shí)系統(tǒng)。(3) 要保證截止時(shí)間。所謂截止時(shí)間,是指某任務(wù)必須開始執(zhí)行的最遲時(shí)間,或必須完成的最遲時(shí)間,主要用于評(píng)價(jià)實(shí)時(shí)系統(tǒng)。(4) CPU利用率高。 當(dāng)CPU的價(jià)格非常昂貴時(shí),希望盡可能使它得到充分利用。CPU的利用率可從0到100,但在實(shí)際系統(tǒng)中,一般是在4090之間。(5) 系統(tǒng)吞吐量高。 所謂系統(tǒng)吞吐量,是指單位時(shí)間內(nèi)系

48、統(tǒng)所完成的作業(yè)數(shù)量,主要用于評(píng)價(jià)批處理系統(tǒng)。24 批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)常用哪些進(jìn)程調(diào)度算法?參考答案:批處理操作系統(tǒng)常用的進(jìn)程調(diào)度算法有:先來先服務(wù)調(diào)度算法、短進(jìn)程優(yōu)先調(diào)度算法、高優(yōu)先權(quán)優(yōu)先調(diào)度算法、高響應(yīng)比優(yōu)先調(diào)度算法;分時(shí)操作系統(tǒng)常用的進(jìn)程調(diào)度算法有:時(shí)間片輪轉(zhuǎn)調(diào)度算法、多級(jí)反饋隊(duì)列調(diào)度算法;實(shí)時(shí)操作系統(tǒng)常用的進(jìn)程調(diào)度算法主要有:高優(yōu)先權(quán)優(yōu)先調(diào)度算法。25 什么是靜態(tài)優(yōu)先權(quán)和動(dòng)態(tài)優(yōu)先權(quán)?各有何優(yōu)缺點(diǎn)?參考答案:靜態(tài)優(yōu)先級(jí)是在進(jìn)程創(chuàng)建時(shí)根據(jù)進(jìn)程的類型、進(jìn)程對(duì)資源的需求以及用戶的要求而確定的,在進(jìn)程的整個(gè)運(yùn)行期間保持不變。對(duì)于動(dòng)態(tài)優(yōu)先級(jí),也是在創(chuàng)建進(jìn)程時(shí)為進(jìn)程賦予一個(gè)初始

49、優(yōu)先級(jí),以后在進(jìn)程的運(yùn)行過程中隨著進(jìn)程特性的變化,不斷修改優(yōu)先級(jí),如隨著進(jìn)程在就緒隊(duì)列中等待時(shí)間的增長(zhǎng),可提高進(jìn)程的優(yōu)先級(jí);隨著進(jìn)程連續(xù)占用CPU時(shí)間的增長(zhǎng),可降低其優(yōu)先級(jí),防止一個(gè)進(jìn)程長(zhǎng)期壟斷CPU等。26 設(shè)有五個(gè)進(jìn)程,它們到達(dá)就緒隊(duì)列的時(shí)刻和運(yùn)行時(shí)間如表25所示。若分別采用先來先服務(wù)算法和短進(jìn)程優(yōu)先算法,試給出各進(jìn)程的調(diào)度順序以及平均周轉(zhuǎn)時(shí)間。 表25 各進(jìn)程到達(dá)就緒隊(duì)列的時(shí)刻、運(yùn)行時(shí)間進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間P1P2P3P4P510.110.310.410.510.80.30.90.50.10.4參考答案:(1)先來先服務(wù)(FCFS)調(diào)度順序進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間12

50、345P1P2P3P4P510.110.310.410.510.80.30.90.50.10.410.110.411.311.811.910.411.311.811.912.30.31.01.41.41.5平均周轉(zhuǎn)時(shí)間:T(0.3 + 1.0 + 1.4 + 1.4 + 1.5)/ 5 = 1.12(2) 短進(jìn)程優(yōu)先(SPF)調(diào)度順序進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間12345P1P3P4P5P210.110.410.510.810.30.30.50.10.40.910.110.410.911.011.410.410.911.011.412.30.30.50.50.62.0平均周轉(zhuǎn)時(shí)間:T(0.3 + 0.5 + 0.5 + 0.6 + 2.0)/ 5 = 0.7827 設(shè)有四個(gè)進(jìn)程,它們到達(dá)就緒隊(duì)列的時(shí)刻、運(yùn)行時(shí)間及優(yōu)先級(jí)(此處優(yōu)先級(jí)1為最低優(yōu)先級(jí),

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論