操作系統(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頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)復(fù)習(xí)題操作系統(tǒng)復(fù)習(xí)題操作系統(tǒng)復(fù)習(xí)題操作系統(tǒng)復(fù)習(xí)題編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:操作系統(tǒng)原理第一章習(xí)題簡述計(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è)備(簡稱I/O設(shè)備);而軟件是各種程序和文件,用于指揮和管理整個(gè)計(jì)算機(jī)系統(tǒng)按指定的要求進(jìn)行工作。什么是操作系統(tǒng)它在計(jì)算機(jī)中的地位如何其功能有哪些參考答案:操作系統(tǒng)是一組控制和管理計(jì)算機(jī)硬件和軟件資源,合理地對各類作業(yè)進(jìn)行調(diào)度,以及方便用戶使用的程序的集合。操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層軟件,它支持和管理硬件,與具體的應(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í)行、并為用戶提供方便的使用接口。操作系統(tǒng)有哪幾種類型各有什么特點(diǎn)參考答案:操作系統(tǒng)是隨著計(jì)算機(jī)硬件技術(shù)的不斷發(fā)展和用戶的使用要求的提高而從無到有不斷完善起來的,其主要類型及其特點(diǎn)如下:批處理操作系統(tǒng):具有很高的資源利用率和系統(tǒng)吞吐量,但作業(yè)的平均周轉(zhuǎn)時(shí)間較長,也沒有交互性。分時(shí)操作系統(tǒng):具有多路性、獨(dú)立性、及時(shí)性和交互性特征,而交互性是其最重要的特征之一。實(shí)時(shí)操作系統(tǒng):實(shí)時(shí)操作系統(tǒng)通常是專用的,具有高及時(shí)性和高可靠性,但交互性較弱。微機(jī)操作系統(tǒng):是配置在微型計(jì)算機(jī)上的操作系統(tǒng),可以是單任務(wù)或多任務(wù),也可以是單用戶或多用戶系統(tǒng)。網(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ò)接口。分布式操作系統(tǒng):是配置在分布式處理系統(tǒng)上的操作系統(tǒng),其最基本的特征是能實(shí)現(xiàn)處理上的分布,而處理分布的實(shí)質(zhì)是資源、功能、任務(wù)和控制都是分布的。嵌入式操作系統(tǒng):通常具有以下特點(diǎn):(1)操作系統(tǒng)規(guī)模一般較小。因?yàn)橥ǔO鄳?yīng)硬件配置較低,而且對操作系統(tǒng)提供的功能要求也不高。(2)應(yīng)用領(lǐng)域差別大。對于不同的應(yīng)用領(lǐng)域其硬件環(huán)境和設(shè)備配置情況有明顯得差別。分時(shí)操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)各有什么特點(diǎn)兩者有什么區(qū)別參考答案:分時(shí)操作系統(tǒng)具有多路性、獨(dú)立性、及時(shí)性和交互性特征,而實(shí)時(shí)操作系統(tǒng)通常是專用的,具有高及時(shí)性和高可靠性,但交互性較弱。兩者的主要區(qū)別是:從交互性上,分時(shí)系統(tǒng)具有很高的交互性,能向終端用戶提供數(shù)據(jù)處理服務(wù)、資源共享等服務(wù),而實(shí)時(shí)系統(tǒng)雖然也具有交互性,但這里人與系統(tǒng)的交互,僅限于訪問系統(tǒng)中某些特定的轉(zhuǎn)用服務(wù)程序;從及時(shí)性上,實(shí)時(shí)信息系統(tǒng)與分時(shí)系統(tǒng)相似,都是以人所能接受的等待時(shí)間來確定的,而實(shí)時(shí)控制系統(tǒng)的及時(shí)性則是以控制對象所要求的截止時(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ù)的安全性。對于用戶來說,分時(shí)操作系統(tǒng)與批處理操作系統(tǒng)相比有哪些主要優(yōu)點(diǎn)參考答案:對于用戶來說,分時(shí)系統(tǒng)讓每個(gè)用戶都擁有一個(gè)獨(dú)立的終端,方便用戶隨時(shí)上機(jī);同時(shí),為用戶提供了很好的人機(jī)交換能力,使用戶能對自己的作業(yè)進(jìn)行直接控制,這對于程序員調(diào)試程序尤為重要。什么是多道程序設(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)行情況:現(xiàn)有以下計(jì)算機(jī)的應(yīng)用場合,請為其選擇適當(dāng)?shù)牟僮飨到y(tǒng):①航空航天,核變研究;②國家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中心;③機(jī)房學(xué)生上機(jī)學(xué)習(xí)編程;④鍋爐爐溫控制;⑤民航機(jī)票訂購系統(tǒng);⑥兩個(gè)不同地區(qū)之間發(fā)送電子郵件;⑦產(chǎn)品組裝流水線。參考答案:①航空航天,核變研究:配置實(shí)時(shí)操作系統(tǒng);②國家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中心:配置批處理操作系統(tǒng);③機(jī)房學(xué)生上機(jī)學(xué)習(xí)編程:配置分時(shí)操作系統(tǒng);④鍋爐爐溫控制:配置實(shí)時(shí)操作系統(tǒng);⑤民航機(jī)票訂購系統(tǒng):配置實(shí)時(shí)操作系統(tǒng);⑥兩個(gè)不同地區(qū)之間發(fā)送電子郵件:配置網(wǎng)絡(luò)操作系統(tǒng);⑦產(chǎn)品組裝流水線:配置實(shí)時(shí)操作系統(tǒng)。操作系統(tǒng)有哪些特征其最基本的特征是什么它們之間有什么聯(lián)系參考答案:不同操作系統(tǒng)的特征各不相同,但都具有以下幾個(gè)基本特征:并發(fā)性、共享性、虛擬性和異步性。其中最基本的特征是并發(fā)和共享,它們互為存在條件。首先,共享是以并發(fā)執(zhí)行為條件,若系統(tǒng)不支持程序并發(fā)執(zhí)行,則系統(tǒng)中將不存在資源共享;同時(shí),共享也必然會(huì)影響程序的并發(fā)執(zhí)行,若資源共享不當(dāng),并發(fā)性會(huì)減弱,甚至無法實(shí)現(xiàn)。操作系統(tǒng)一般為用戶提供了哪三種使用接口參考答案:現(xiàn)代操作系統(tǒng)通常向用戶提供以下三種類型的用戶接口:命令接口:操作系統(tǒng)向用戶提供一組鍵盤操作命令。用戶從鍵盤上輸入命令,命令解釋程序接收并解釋這些命令,然后調(diào)用操作系統(tǒng)內(nèi)部的相應(yīng)程序,完成相應(yīng)的功能。程序接口:是操作系統(tǒng)內(nèi)核與應(yīng)用程序之間的接口,是為應(yīng)用程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,通常由一組系統(tǒng)調(diào)用組成,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序。系統(tǒng)調(diào)用只能在程序中調(diào)用,不能直接作為命令從鍵盤上輸入執(zhí)行。(3)圖形接口:這是為了方便用戶使用操作系統(tǒng)而提供的圖形化操作界面。用戶利用鼠標(biāo)、窗口、菜單、圖標(biāo)等圖形用戶界面工具,可以直觀、方便、有效地使用系統(tǒng)服務(wù)和各種應(yīng)用程序及實(shí)用工具,而不必象使用命令接口那樣去記住命令名及格式。第二章習(xí)題:進(jìn)程管理主要包括哪些管理功能參考答案:進(jìn)程管理實(shí)際上就是對處理器的管理,因?yàn)閭鹘y(tǒng)的多道程序系統(tǒng)中,處理器的分配和運(yùn)行都是以進(jìn)程為基本單位的。主要有以下幾方面的功能:進(jìn)程控制、進(jìn)程互斥與同步、進(jìn)程通信、進(jìn)程調(diào)度。什么是進(jìn)程進(jìn)程有哪些特征其中最基本的特征是什么參考答案:進(jìn)程是具有一定獨(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)性。簡述進(jìn)程與程序的區(qū)別和聯(lián)系。參考答案:進(jìn)程與程序是兩個(gè)不同的概念,它們之間既有區(qū)別又有聯(lián)系。首先程序是構(gòu)成進(jìn)程的組成部分之一,一個(gè)進(jìn)程的運(yùn)行目標(biāo)是執(zhí)行它所對應(yīng)的程序,如果沒有程序,進(jìn)程就失去了其存在的意義;反之,如果沒有進(jìn)程,多道程序也不可能并發(fā)運(yùn)行。但進(jìn)程與程序又有著本質(zhì)的區(qū)別:程序是靜態(tài)概念,本身可以作為軟件資源長期保存;而進(jìn)程是程序的一次執(zhí)行過程,是動(dòng)態(tài)的,有一定的生命期。進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的單位,是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,能與其它進(jìn)程并發(fā)執(zhí)行,而程序則不然。程序和進(jìn)程無一一對應(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)程;而對每個(gè)用戶進(jìn)程來說,在進(jìn)行編譯的過程中會(huì)用到預(yù)處理、詞法及語法分析、代碼生成和優(yōu)化等幾個(gè)程序模塊。(4)各進(jìn)程在并發(fā)執(zhí)行過程中存在異步性特征,而程序本身是靜態(tài)的,沒有這個(gè)特征。進(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)換的典型原因:就緒→執(zhí)行:處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序?yàn)橹峙淞颂幚砥骱?,該進(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操作的完成或未能申請到所需的系統(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)。進(jìn)程控制塊的作用是什么在進(jìn)程控制塊中主要包括哪些信息參考答案:進(jìn)程控制塊,簡稱PCB(ProcessControlBlock),是進(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。可見,系統(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)的一些信息,包括進(jìn)程所處的狀態(tài)、進(jìn)程優(yōu)先權(quán)、進(jìn)程等待時(shí)間或已執(zhí)行時(shí)間、進(jìn)程阻塞原因等。(3)現(xiàn)場信息:主要是由處理器的各個(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)場信息而正確地繼續(xù)執(zhí)行。(4)管理信息:是進(jìn)程管理和控制所需要的相關(guān)信息,包括程序和數(shù)據(jù)在內(nèi)存或外存的地址、進(jìn)程同步和通信機(jī)制、資源清單(記錄進(jìn)程所需的除CPU外的全部資源和已經(jīng)分配到的資源)、進(jìn)程隊(duì)列的鏈接指針等。進(jìn)程創(chuàng)建、進(jìn)程撤銷、進(jìn)程阻塞、進(jìn)程喚醒幾個(gè)原語主要應(yīng)完成哪些工作參考答案:(1)進(jìn)程創(chuàng)建原語的功能是為新進(jìn)程申請一個(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)程對應(yī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中,并將其狀態(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)度。同步機(jī)制應(yīng)遵循的四個(gè)準(zhǔn)則是什么參考答案:同步機(jī)制應(yīng)遵循的四個(gè)準(zhǔn)則是:空閑讓進(jìn):當(dāng)無進(jìn)程處于臨界區(qū)時(shí),相應(yīng)的臨界資源處于空閑狀態(tài),因而應(yīng)允許一個(gè)請求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入自己的臨界區(qū),以有效地利用資源。忙則等待:當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),表示相應(yīng)的臨界資源正被訪問,因而所有其它試圖進(jìn)入相關(guān)臨界區(qū)的進(jìn)程必須等待,以保證諸進(jìn)程互斥訪問臨界資源。有限等待:對要求訪問臨界資源的進(jìn)程,應(yīng)保證該進(jìn)程能在有限的時(shí)間內(nèi)進(jìn)入自己的臨界區(qū),以免陷入“永遠(yuǎn)等待”狀態(tài)。讓權(quán)等待:當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時(shí),應(yīng)立即釋放處理器,以免陷入“忙等”狀態(tài)。簡述進(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í)行,以順利完成某共同任務(wù)。具體說,這些進(jìn)程之間需要交換一定的信息,當(dāng)某進(jìn)程未獲得其合作進(jìn)程發(fā)來的信息之前,該進(jìn)程等待,直到接收到相關(guān)信息時(shí)才繼續(xù)執(zhí)行,從而保證諸進(jìn)程的協(xié)調(diào)運(yùn)行。信號(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值的大小表示某類資源的數(shù)量。當(dāng)S>0時(shí),其值表示當(dāng)前可供分配的資源數(shù)目;當(dāng)S<0時(shí),其絕對值表示S信號(hào)量的等待隊(duì)列中的進(jìn)程數(shù)目。每執(zhí)行一次P操作,S值減1,表示請求分配一個(gè)資源,若S≥0,表示可以為進(jìn)程分配資源,即允許進(jìn)程進(jìn)入其臨界區(qū);若S<0,表示已沒有資源可供分配,申請資源的進(jìn)程被阻塞,并插入S的等待隊(duì)列中,S的絕對值表示等待隊(duì)列中進(jìn)程的數(shù)目,此時(shí)CPU將重新進(jìn)行調(diào)度。每執(zhí)行一次V操作,S值加1,表示釋放一個(gè)資源,若S>0,表示等待隊(duì)列為空;若S≤0,則表示等待隊(duì)列中有因申請不到相應(yīng)資源而被阻塞的進(jìn)程,于是喚醒其中一個(gè)進(jìn)程,并將其插入就緒隊(duì)列。無論以上哪種情況,執(zhí)行V操作的進(jìn)程都可繼續(xù)運(yùn)行。什么是臨界資源什么是臨界區(qū)參考答案:系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,這類資源稱為臨界資源,許多物理設(shè)備(如打印機(jī)、磁帶機(jī)等)和許多軟件資源(如共享變量、數(shù)據(jù)、表格、隊(duì)列等)都屬于臨界資源。每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。在生產(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)什么問題,最多只是臨界資源的釋放推遲。假設(shè)有三個(gè)并發(fā)進(jìn)程P,Q,R,其中P負(fù)責(zé)從輸入設(shè)備上讀入信息并傳送給Q,Q將信息加工后傳送給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)程: 從輸入設(shè)備上讀入信息將信息放入緩沖區(qū)1Q進(jìn)程:從緩沖區(qū)1取出信息將信息放入緩沖區(qū)2中R進(jìn)程:從緩沖區(qū)2取出信息將信息打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系同步:P當(dāng)緩存區(qū)1無數(shù)據(jù)時(shí),才可以向緩沖區(qū)1寫入信息同步:Q當(dāng)緩存區(qū)1有數(shù)據(jù)時(shí),才可以從緩沖區(qū)1讀取信息同步:Q當(dāng)緩存區(qū)2無數(shù)據(jù)時(shí),才可以向緩沖區(qū)2寫入信息同步:R當(dāng)緩存區(qū)2有數(shù)據(jù)時(shí),才可以從緩沖區(qū)2讀取信息第三步:設(shè)置信號(hào)量緩存區(qū)1無數(shù)據(jù),empty1,初值1緩存區(qū)1有數(shù)據(jù),full1,初值0緩存區(qū)2無數(shù)據(jù),empty2,初值1緩存區(qū)2有數(shù)據(jù),full2,初值0第四步:用偽代碼描述beginempty1,empty2,full1,full2:semaphore;empty1:=1; empty2:=1; full1:=0; full2:=0;cobeginP();Q(); R();coend;end;processP()begin L1:從輸入設(shè)備上讀入信息; P(empty1); 將信息放入緩沖區(qū)1; V(full1); gotoL1 end; processQ()begin L2:P(full1);從緩沖區(qū)1取出信息; V(empty1); P(empty2);將信息放入緩沖區(qū)2; V(full2); gotoL2 end; processR()begin L3:P(full2);從緩沖區(qū)2取出信息; V(empty2);將信息打印輸出; gotoL3; end; (2)第一步:確定進(jìn)程3個(gè)進(jìn)程P、Q、RP進(jìn)程: 從輸入設(shè)備上讀入信息將信息放入緩沖池1中的一個(gè)空緩沖區(qū)中Q進(jìn)程:從緩沖池1中的一個(gè)非空緩沖區(qū)中取出信息將信息放入緩沖池2中的一個(gè)空緩沖區(qū)中R進(jìn)程:從緩沖池2中的一個(gè)非空緩沖區(qū)中取出信息將信息打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系同步:P當(dāng)緩沖池1中有空的緩沖區(qū)時(shí),才可以向緩沖池1寫入信息同步:Q當(dāng)緩沖池1中有非空的緩沖區(qū)時(shí),才可以從緩沖池1讀取信息同步:Q當(dāng)緩沖池2中有空的緩沖區(qū)時(shí),才可以向緩沖池2寫入信息同步:R當(dāng)緩沖池2中有非空的緩沖區(qū)時(shí),才可以從緩沖池2讀取信息第三步:設(shè)置信號(hào)量緩沖池1中的空緩沖區(qū)的數(shù)量,empty1,初值m緩沖池1中的非空緩沖區(qū)的數(shù)量,full1,初值0緩沖池2中的空緩沖區(qū)的數(shù)量,empty2,初值n緩沖池2中的非空緩沖區(qū)的數(shù)量,full2,初值0第四步:用偽代碼描述beginempty1,empty2,full1,full2:semaphore;empty1:=m; empty2:=n; full1:=0; full2:=0;cobeginP();Q(); R();coend;end;processP()begin L1:從輸入設(shè)備上讀入信息; P(empty1); 將信息放入緩沖池1中的一個(gè)空緩沖區(qū)中; V(full1); gotoL1 end; processQ()begin L2:P(full1);從緩沖池1中的一個(gè)非空緩沖區(qū)中取出信息; V(empty1); P(empty2);將信息放入緩沖池2中的一個(gè)空緩沖區(qū)中; V(full2); gotoL2 end; processR()begin L3:P(full2);從緩沖池2中的一個(gè)非空緩沖區(qū)中取出信息; V(empty2);將信息打印輸出; gotoL3; end; 有四個(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í),不允許再從緩沖區(qū)中取出數(shù)據(jù)打印輸出。試用PV操作實(shí)現(xiàn)四個(gè)進(jìn)程的協(xié)調(diào)運(yùn)行。參考答案:第一步:確定進(jìn)程4個(gè)進(jìn)程R1、R2、W1、W2R1進(jìn)程: 從磁盤上讀入一個(gè)數(shù)將數(shù)存放到緩沖區(qū)中W1進(jìn)程:將R1進(jìn)程放進(jìn)緩沖區(qū)中的數(shù)取出打印輸出R2進(jìn)程: 從鍵盤讀入一個(gè)數(shù)將數(shù)存放到緩沖區(qū)中W2進(jìn)程:將R2進(jìn)程放進(jìn)緩沖區(qū)中的數(shù)取出打印輸出第二步:確定進(jìn)程的同步、互斥關(guān)系同步:R1當(dāng)緩存區(qū)無數(shù)據(jù)時(shí),才可以向緩沖區(qū)寫入數(shù)據(jù)同步:R2當(dāng)緩存區(qū)無數(shù)據(jù)時(shí),才可以向緩沖區(qū)寫入數(shù)據(jù)同步:W1當(dāng)緩存區(qū)中是R1寫的數(shù)據(jù)時(shí),才可以將數(shù)據(jù)從緩沖區(qū)中讀出同步:W2當(dāng)緩存區(qū)中是R2寫的數(shù)據(jù)時(shí),才可以將數(shù)據(jù)從緩沖區(qū)中讀出第三步:設(shè)置信號(hào)量緩存區(qū)無數(shù)據(jù),empty,初值1緩存區(qū)中是R1寫的數(shù)據(jù),full1,初值0緩存區(qū)中是R2寫的數(shù)據(jù),full2,初值0第四步:用偽代碼描述beginempty,full1,full2:semaphore;empty:=1; full1:=0; full2:=0;cobeginR1();R2(); W1(); W2();coend;end;processR1()begin L1:從磁盤上讀入一個(gè)數(shù); P(empty); 將數(shù)存放到緩沖區(qū)中; V(full1); gotoL1 end; processR2()begin L2:從鍵盤上讀入一個(gè)數(shù); P(empty); 將數(shù)存放到緩沖區(qū)中; V(full2); gotoL2 end; processW1()begin L3:P(full1);將緩沖區(qū)中的數(shù)取出;V(empty);打印輸出; gotoL3 end; processW2()begin L4:P(full2);將緩沖區(qū)中的數(shù)取出;V(empty);打印輸出; gotoL4 end; 設(shè)公共汽車上,司機(jī)的活動(dòng)順序是:啟動(dòng)車輛、正常行車、到站停車;售票員的活動(dòng)順序是:關(guān)車門、售票、開車門。現(xiàn)假設(shè)初始狀態(tài)為:司機(jī)和售票員都已經(jīng)在車上,汽車處于停止?fàn)顟B(tài),車門處于開的狀態(tài)。在汽車不斷地到站、停車、行駛過程中,請用信號(hào)量的PV操作實(shí)現(xiàn)司機(jī)與售票員之間的同步關(guān)系。參考答案:第一步:確定進(jìn)程2個(gè)進(jìn)程Driver(司機(jī))、Busman(售票員)Driver進(jìn)程: 啟動(dòng)車輛正常行車到站停車Busman進(jìn)程:關(guān)車門售票開車門第二步:確定進(jìn)程的同步、互斥關(guān)系同步:當(dāng)售票員將車門關(guān)上后,司機(jī)才可以啟動(dòng)車輛同步:當(dāng)司機(jī)到站停車后,售票員打開車門第三步:設(shè)置信號(hào)量車門關(guān)上,close,初值0到站停車,stop,初值0第四步:用偽代碼描述beginclose,stop:semaphore; close:=0; stop:=0;cobeginDriver();Busman();coend;end;processDriver()begin L1:P(close);啟動(dòng)車輛; 正常行始; 到站停車; V(stop); gotoL1 end; processBusman()begin L2:關(guān)車門; V(close); 售票; P(stop); 開車門;gotoL2 end; 哲學(xué)家進(jìn)餐問題:五位哲學(xué)家吃面條,只有五根筷子,每個(gè)人必須用一雙筷子才能吃面條。請用信號(hào)量的PV操作描述哲學(xué)家之間的關(guān)系。參考答案:錯(cuò)誤解法?。。。。。?!第一步:確定進(jìn)程5個(gè)進(jìn)程Pi(i=0~4)Pi進(jìn)程: 思考拿起左邊筷子拿起右邊筷子吃面條放下右邊筷子放下左邊筷子第二步:確定進(jìn)程的同步、互斥關(guān)系互斥:筷子是互斥資源,每個(gè)人都只能使用他左右的兩根筷子第三步:設(shè)置信號(hào)量chopstick[5]:表示5根筷子,初值1第四步:用偽代碼描述beginchopstick[0~4]:semaphore;chopstick[0~4]:=1;cobeginprocessPi(i=0,2,…,4)begin 思考; P(chopstick[i]); P(chopstick[i+1%5]); 吃面條; V(chopstick[i+1%5]); V(chopstick[i]);endcoend;end; 錯(cuò)誤原因:假如所有的哲學(xué)家都同時(shí)拿起左側(cè)筷子,看到右側(cè)筷子不可用,都在等待右側(cè)筷子,無限期地運(yùn)行,但是都無法取得任何進(jìn)展,即出現(xiàn)饑餓,所有哲學(xué)家都吃不上飯。解決方案:至多只允許四個(gè)哲學(xué)家同時(shí)進(jìn)餐,以保證至少有一個(gè)哲學(xué)家能夠進(jìn)餐,最終總會(huì)釋放出他所使用過的兩支筷子,從而可使更多的哲學(xué)家進(jìn)餐。規(guī)定奇數(shù)號(hào)的哲學(xué)家先拿起他左邊的筷子,然后再去拿他右邊的筷子;而偶數(shù)號(hào)的哲學(xué)家則相反.按此規(guī)定,將是1,2號(hào)哲學(xué)家競爭1號(hào)筷子,3,4號(hào)哲學(xué)家競爭3號(hào)筷子.即五個(gè)哲學(xué)家都競爭奇數(shù)號(hào)筷子,獲得后,再去競爭偶數(shù)號(hào)筷子,最后總會(huì)有一個(gè)哲學(xué)家能獲得兩支筷子而進(jìn)餐。而申請不到的哲學(xué)家進(jìn)入阻塞等待隊(duì)列,則先申請的哲學(xué)家會(huì)較先可以吃飯,因此不會(huì)出現(xiàn)餓死的哲學(xué)家。將拿筷子的操作做成原子操作,即當(dāng)一個(gè)哲學(xué)家正在拿筷子的時(shí)候,其它的哲學(xué)家不能動(dòng)筷子,當(dāng)他那好筷子開始吃飯的時(shí)候,其它哲學(xué)家才可以拿筷子。這里給出正確解決方案中的第1種方案:解:第一步:確定進(jìn)程5個(gè)進(jìn)程Pi(i=0~4)Pi進(jìn)程: 思考拿起左邊筷子拿起右邊筷子吃面條放下右邊筷子放下左邊筷子第二步:確定進(jìn)程的同步、互斥關(guān)系互斥:筷子是互斥資源,每個(gè)人都只能使用他左右的兩根筷子同步:只能有四個(gè)人同時(shí)吃飯第三步:設(shè)置信號(hào)量chopstick[5]:表示5根筷子,初值1num:表示允許吃面的人的個(gè)數(shù),初值4第四步:用偽代碼描述beginchopstick[0~4]:semaphore;num:semaphore;chopstick[0~4]:=1;num:=4;cobeginprocessPi(i=0,2,…,4)begin 思考; P(num); P(chopstick[i]); P(chopstick[i+1%5]); 吃面條; V(chopstick[i+1%5]); V(chopstick[i]); V(num);endcoend;end;系統(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:begins:semaphore;s:=1;cobeginprocessPi(i=0,1,2)begin其他工作; P(s); 打?。?V(s);endcoend;end;根據(jù)例,把題目修改為以下幾種情況,請用PV操作實(shí)現(xiàn)他們之間的同步關(guān)系:(1)桌上一個(gè)盤子,只能放一只水果。爸爸放蘋果,媽媽放桔子,兒子只吃桔子,女兒只吃蘋果。(2)桌上一個(gè)盤子,只能放一只水果。爸爸放蘋果,媽媽放桔子,兒子吃桔子、蘋果。參考答案:第一步:確定進(jìn)程4個(gè)進(jìn)程Father(爸爸)、Mother(媽媽)、Son(兒子)、Daughter(女兒)Father進(jìn)程: 將蘋果放入盤中Mother進(jìn)程:將桔子放入盤中Son進(jìn)程:從盤中取出桔子吃桔子Daughter進(jìn)程:從盤中取出蘋果吃蘋果第二步:確定進(jìn)程的同步、互斥關(guān)系同步:Father當(dāng)盤中無水果時(shí),才可以將蘋果放入盤中同步:Mother當(dāng)盤中無水果時(shí),才可以將桔子放入盤中同步:Son當(dāng)盤中有桔子時(shí),才可以從盤中取出桔子同步:Daughter當(dāng)盤中有蘋果時(shí),才可以從盤中取出蘋果第三步:設(shè)置信號(hào)量盤中無水果,Sp,初值1盤中有桔子,So,初值0盤中有蘋果,Sa,初值0第四步:用偽代碼描述beginSp,So,Sa:semaphore;Sp:=1;So:=0;Sa:=0;cobeginFather();Mother();Son();Daughter();coend;end;processFather()beginL1:P(Sp);將蘋果放入盤中;V(Sa);gotoL1;end; processMother()beginL2:P(Sp);將桔子放入盤中;V(So);gotoL2;end; processSon()beginL3:P(So);從盤中取出桔子;V(Sp)吃桔子; gotoL3;end;processDaughter()beginL4:P(Sa);從盤中取出蘋果;V(Sp)吃蘋果; gotoL4;end;(2)第一步:確定進(jìn)程3個(gè)進(jìn)程Father(爸爸)、Mother(媽媽)、Son(兒子)Father進(jìn)程: 將蘋果放入盤中Mother進(jìn)程:將桔子放入盤中Son進(jìn)程:從盤中取出水果(桔子或蘋果)吃水果(桔子或蘋果)第二步:確定進(jìn)程的同步、互斥關(guān)系同步:Father當(dāng)盤中無水果時(shí),才可以將蘋果放入盤中同步:Mother當(dāng)盤中無水果時(shí),才可以將桔子放入盤中同步:Son當(dāng)盤中有水果(桔子或蘋果)時(shí),才可以從盤中取出水果第三步:設(shè)置信號(hào)量盤中無水果,empty,初值1盤中有水果(桔子或蘋果),full,初值0第四步:用偽代碼描述beginempty,full:semaphore;empty:=1;full:=0;cobeginFather();Mother();Son();coend;end;processFather()beginL1:P(empty);將蘋果放入盤中;V(full);gotoL1;end; processMother()beginL2:P(empty);將桔子放入盤中;V(full);gotoL2;end; processSon()beginL3:P(full);從盤中取出水果;V(empty);吃水果; gotoL3;end;有一個(gè)閱覽室,共有100個(gè)座位。讀者進(jìn)入閱覽室時(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)程: 登記進(jìn)入閱覽室讀書離開閱覽室注銷第二步:確定進(jìn)程的同步、互斥關(guān)系同步:當(dāng)教室內(nèi)有空座位時(shí),讀者才可以登記,并進(jìn)入閱覽室互斥:同時(shí)只能有一個(gè)讀者在入口處進(jìn)行登記互斥:同時(shí)只能有一個(gè)讀者在出口處進(jìn)行注銷第三步:設(shè)置信號(hào)量教室內(nèi)空座位數(shù)量,seat,初值100為入口處進(jìn)行登記設(shè)置互斥信號(hào)量Sin,初值1,表示當(dāng)前可用為出口處進(jìn)行注銷設(shè)置互斥信號(hào)量Sout,初值1,表示當(dāng)前可用第四步:用偽代碼描述beginSin,Sout,seat:semaphore;seat:=100; Sin:=1; Sout:=1;cobeginprocessReader-i(i=1,2,…,n); begin P(seat); P(Sin); 登記; V(Sin); 進(jìn)入閱覽室; 讀書; 離開閱覽室; P(Sout); 注銷; V(Sout); V(seat); endcoend;end;某工廠有一個(gè)可以存放設(shè)備的倉庫,總共可以存放10臺(tái)設(shè)備。生產(chǎn)的每一臺(tái)設(shè)備都必須入庫,銷售部門可從倉庫提出設(shè)備供應(yīng)客戶。設(shè)備的入庫和出庫都必須借助運(yùn)輸工具?,F(xiàn)只有一臺(tái)運(yùn)輸工具,每次只能運(yùn)輸一臺(tái)設(shè)備。請?jiān)O(shè)計(jì)一個(gè)能協(xié)調(diào)工作的自動(dòng)調(diào)度管理系統(tǒng)。參考答案:第一步:確定進(jìn)程可以為入庫(Pin)和出庫(Pout)各設(shè)置一個(gè)進(jìn)程Pin進(jìn)程: 生產(chǎn)了一臺(tái)設(shè)備使用運(yùn)輸工具入庫Pout進(jìn)程: 使用運(yùn)輸工具出庫提出設(shè)備供應(yīng)客戶第二步:確定進(jìn)程的同步、互斥關(guān)系同步:當(dāng)倉庫中有空余位置存放設(shè)備時(shí),設(shè)備才可以入庫同步:當(dāng)倉庫中有存放的設(shè)備時(shí),設(shè)備才可以出庫互斥:運(yùn)輸工具是臨界資源,要互斥訪問第三步:設(shè)置信號(hào)量倉庫中有空余位置數(shù)量,empty,初值10倉庫中有存放的設(shè)備數(shù)量,full,初值0為運(yùn)輸工具設(shè)置互斥信號(hào)量S,初值1,表示當(dāng)前可用第四步:用偽代碼描述beginempty,full,S:semaphore;empty:=10;full:=0;S:=1;cobegin Pin(); Pout();coend;end;processPin()beginL1:生產(chǎn)了一臺(tái)設(shè)備;P(empty);P(S);使用運(yùn)輸工具入庫;V(S);V(full);gotoL1;end; processPout()beginL2:P(full);P(S);使用運(yùn)輸工具出庫;V(S);V(empty);提出設(shè)備供應(yīng)客戶;gotoL2;end; 進(jìn)程通信主要有哪幾種類型參考答案:進(jìn)程通信的類型主要有:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng)。高級(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)場,讓其運(yùn)行。引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存的利用率和系統(tǒng)吞吐量。引起進(jìn)程調(diào)度的原因有哪些參考答案:引起進(jìn)程調(diào)度的原因有:(1)正在執(zhí)行的進(jìn)程執(zhí)行完畢,或因發(fā)生某事件而不能再繼續(xù)執(zhí)行;(2)執(zhí)行中的進(jìn)程因提出I/O請求而暫停執(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í)間片用完了。選擇進(jìn)程調(diào)度算法的原則有哪些參考答案:一個(gè)操作系統(tǒng)如何選擇調(diào)度方式和算法,在很大程度上取決于操作系統(tǒng)的類型和目標(biāo),通常應(yīng)盡量遵循以下幾方面的原則:周轉(zhuǎn)時(shí)間短。從作業(yè)提交開始到作業(yè)完成為止的時(shí)間間隔稱為周轉(zhuǎn)時(shí)間,它包括作業(yè)等待進(jìn)入內(nèi)存、進(jìn)程在就緒隊(duì)列中等待、進(jìn)程在CPU上執(zhí)行和完成I/O操作所花費(fèi)的時(shí)間總和。它主要用于評價(jià)批處理系統(tǒng)。為了能更準(zhǔn)確地評價(jià)系統(tǒng)的性能,引入了另一個(gè)指標(biāo):帶權(quán)周轉(zhuǎn)時(shí)間,即作業(yè)的周轉(zhuǎn)時(shí)間與系統(tǒng)實(shí)際為其提供的服務(wù)時(shí)間之比。響應(yīng)時(shí)間快。從用戶通過鍵盤提交一個(gè)請求開始,直至系統(tǒng)首次產(chǎn)生響應(yīng)為止的時(shí)間間隔稱為響應(yīng)時(shí)間,主要用于評價(jià)分時(shí)系統(tǒng)。要保證截止時(shí)間。所謂截止時(shí)間,是指某任務(wù)必須開始執(zhí)行的最遲時(shí)間,或必須完成的最遲時(shí)間,主要用于評價(jià)實(shí)時(shí)系統(tǒng)。CPU利用率高。當(dāng)CPU的價(jià)格非常昂貴時(shí),希望盡可能使它得到充分利用。CPU的利用率可從0%到100%,但在實(shí)際系統(tǒng)中,一般是在40%~90%之間。系統(tǒng)吞吐量高。所謂系統(tǒng)吞吐量,是指單位時(shí)間內(nèi)系統(tǒng)所完成的作業(yè)數(shù)量,主要用于評價(jià)批處理系統(tǒng)。批處理操作系統(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)度算法。什么是靜態(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)程對資源的需求以及用戶的要求而確定的,在進(jìn)程的整個(gè)運(yùn)行期間保持不變。對于動(dòng)態(tài)優(yōu)先級(jí),也是在創(chuàng)建進(jìn)程時(shí)為進(jìn)程賦予一個(gè)初始優(yōu)先級(jí),以后在進(jìn)程的運(yùn)行過程中隨著進(jìn)程特性的變化,不斷修改優(yōu)先級(jí),如隨著進(jìn)程在就緒隊(duì)列中等待時(shí)間的增長,可提高進(jìn)程的優(yōu)先級(jí);隨著進(jìn)程連續(xù)占用CPU時(shí)間的增長,可降低其優(yōu)先級(jí),防止一個(gè)進(jìn)程長期壟斷CPU等。設(shè)有五個(gè)進(jìn)程,它們到達(dá)就緒隊(duì)列的時(shí)刻和運(yùn)行時(shí)間如表2-5所示。若分別采用先來先服務(wù)算法和短進(jìn)程優(yōu)先算法,試給出各進(jìn)程的調(diào)度順序以及平均周轉(zhuǎn)時(shí)間。表2-5各進(jìn)程到達(dá)就緒隊(duì)列的時(shí)刻、運(yùn)行時(shí)間進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間P1P2P3P4P5參考答案:(1)先來先服務(wù)(FCFS)調(diào)度順序進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間12345P1P2P3P4P5平均周轉(zhuǎn)時(shí)間:T=(++++)/5=(2)短進(jìn)程優(yōu)先(SPF)調(diào)度順序進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間12345P1P3P4P5P2平均周轉(zhuǎn)時(shí)間:T=(++++)/5=設(shè)有四個(gè)進(jìn)程,它們到達(dá)就緒隊(duì)列的時(shí)刻、運(yùn)行時(shí)間及優(yōu)先級(jí)(此處優(yōu)先級(jí)1為最低優(yōu)先級(jí),優(yōu)先級(jí)4為最高優(yōu)先級(jí))如表2-6所示。若分別采用非搶占式優(yōu)先級(jí)調(diào)度算法和可搶占式優(yōu)先級(jí)調(diào)度算法,試給出各進(jìn)程的調(diào)度順序以及平均周轉(zhuǎn)時(shí)間。表2-6各進(jìn)程到達(dá)就緒隊(duì)列的時(shí)刻、運(yùn)行時(shí)間及優(yōu)先級(jí)進(jìn)程到達(dá)時(shí)刻運(yùn)行時(shí)間優(yōu)先級(jí)P1P2P3P40123837121324參考答案:(1)非搶占式優(yōu)先級(jí)調(diào)度算法調(diào)度順序進(jìn)程優(yōu)先級(jí)到達(dá)時(shí)刻運(yùn)行時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間1234P1P4P2P3143203128123708202382023308172228平均周轉(zhuǎn)時(shí)間:T=(8+17+22+28)/4=(2)搶占式優(yōu)先級(jí)調(diào)度算法調(diào)度順序進(jìn)程優(yōu)先級(jí)到達(dá)時(shí)刻剩余運(yùn)行時(shí)間開始時(shí)間停止時(shí)間共完成時(shí)間狀態(tài)周轉(zhuǎn)時(shí)間123456P1P2P4P2P3P1134321013120831217701315162313151623301212378未完成未完成完成完成完成完成12152130平均周轉(zhuǎn)時(shí)間:T=(12+15+21+30)/4=什么是死鎖產(chǎn)生死鎖的原因和必要條件是什么處理死鎖的基本方法有哪些參考答案:若系統(tǒng)中存在一組進(jìn)程(兩個(gè)或兩個(gè)以上),它們中的每一個(gè)都占用了某些資源而又都在等待其中另一個(gè)進(jìn)程所占用的資源,這種等待如果沒有外力作用,將永遠(yuǎn)不會(huì)結(jié)束,這就是“死鎖”,或說這一組進(jìn)程處于“死鎖”狀態(tài)。產(chǎn)生死鎖的原因主要有兩個(gè):一是多個(gè)進(jìn)程競爭資源,二是進(jìn)程請求和釋放資源的時(shí)機(jī)不對。產(chǎn)生死鎖的必要條件有:互斥條件、占有且等待條件、不可剝奪條件、循環(huán)等待條件。處理死鎖的基本方法有:預(yù)防死鎖、避免死鎖、檢測和解除死鎖。什么是線程簡述與進(jìn)程的區(qū)別和聯(lián)系。參考答案:線程是進(jìn)程中的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位。線程具有許多傳統(tǒng)進(jìn)程的特征,故又稱為輕型進(jìn)程。傳統(tǒng)的進(jìn)程稱為重型進(jìn)程,相當(dāng)于只有一個(gè)線程的任務(wù)。在引入線程的操作系統(tǒng)中,通常一個(gè)進(jìn)程擁有若干個(gè)線程,至少也有一個(gè)線程。下面從調(diào)度、并發(fā)性、擁有資源和系統(tǒng)開銷幾個(gè)方面對線程和進(jìn)程進(jìn)行比較。(1)調(diào)度。在傳統(tǒng)的操作系統(tǒng)中,進(jìn)程既是資源分配和擁有的基本單位,又是獨(dú)立調(diào)度和執(zhí)行的基本單位。而在引入線程后,則把線程作為調(diào)度和執(zhí)行的基本單位,把進(jìn)程作為資源分配和擁有的基本單位,把傳統(tǒng)進(jìn)程的兩個(gè)屬性分開,使線程輕裝運(yùn)行,從而顯著提高系統(tǒng)的并發(fā)程度。同一進(jìn)程中兩個(gè)線程的切換不會(huì)引起進(jìn)程切換,但由一個(gè)進(jìn)程中的線程切換到另一個(gè)進(jìn)程中的線程時(shí),將會(huì)引起進(jìn)程切換。(2)并發(fā)性。在引入線程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間也可以并發(fā)執(zhí)行,因而使系統(tǒng)具有更好的并發(fā)性,從而能更有效地使用系統(tǒng)資源和提高系統(tǒng)吞吐量。(3)擁有資源。不論是傳統(tǒng)的操作系統(tǒng),還是引入線程的操作系統(tǒng),進(jìn)程都是擁有資源的獨(dú)立單位。線程基本上不擁有資源(只有一點(diǎn)運(yùn)行時(shí)必不可少的資源),但它可以訪問其所屬進(jìn)程的全部資源。亦即一個(gè)進(jìn)程的代碼段、數(shù)據(jù)段以及系統(tǒng)資源(如已打開的文件、I/O設(shè)備等),可供該進(jìn)程的所有線程共享。(4)系統(tǒng)開銷。系統(tǒng)在創(chuàng)建或撤消進(jìn)程時(shí),都要為之分配或回收資源,如內(nèi)存空間、I/O設(shè)備等,因此系統(tǒng)所付出的開銷將顯著地大于創(chuàng)建或撤消線程的開銷。同樣,在進(jìn)行進(jìn)程切換時(shí),需要保存當(dāng)前進(jìn)程的執(zhí)行環(huán)境,設(shè)置和恢復(fù)被調(diào)度進(jìn)程的執(zhí)行環(huán)境,而線程切換只需保存和設(shè)置少量寄存器的內(nèi)容,不涉及存儲(chǔ)管理方面的操作,因而進(jìn)程切換的開銷也遠(yuǎn)大于線程切換的開銷。第三章習(xí)題什么叫重定位它有哪兩種方式這兩種方式有什么區(qū)別參考答案:當(dāng)程序裝入內(nèi)存時(shí),操作系統(tǒng)將為該程序分配一個(gè)合適的內(nèi)存空間,由于程序的邏輯地址與所分配到內(nèi)存的物理地址不一致,而CPU執(zhí)行指令時(shí)是按物理地址進(jìn)行的,為使程序能正確運(yùn)行,必須將用戶程序中的邏輯地址轉(zhuǎn)換成內(nèi)存中的物理地址,這個(gè)地址轉(zhuǎn)換過程就稱為“重定位”,又稱為“地址映射”。它有靜態(tài)重定位和動(dòng)態(tài)重定位兩種方式。兩者的區(qū)別是:靜態(tài)重定位是當(dāng)用戶程序被裝入內(nèi)存時(shí),由裝入程序一次性地把邏輯地址轉(zhuǎn)換成物理地址,以后不再轉(zhuǎn)換,它不需要增加硬件地址轉(zhuǎn)換機(jī)構(gòu),但程序在內(nèi)存中需占據(jù)一片連續(xù)區(qū)域,并且在重定位之后就不能再移動(dòng)位置。動(dòng)態(tài)重定位是把程序裝入內(nèi)存后,并不立即將程序中的邏輯地址轉(zhuǎn)換為物理地址,而是在CPU執(zhí)行每一條指令時(shí)進(jìn)行地址轉(zhuǎn)換,程序裝入內(nèi)存后可移動(dòng)位置,不必連續(xù)存放在一起,但是需要硬件地址變換機(jī)構(gòu)的支持。在動(dòng)態(tài)分區(qū)分配方式中,若采用最先適應(yīng)算法,應(yīng)如何回收內(nèi)存參考答案:在動(dòng)態(tài)分區(qū)分配方式中,若采用最先適應(yīng)算法,則在回收一塊內(nèi)存空間時(shí),首先根據(jù)回收區(qū)的始址在空閑分區(qū)鏈中查找插入點(diǎn),找到后,按照下面四種情況進(jìn)行回收:(1)回收分區(qū)(記為R)與其前面的空閑分區(qū)(記為F1)鄰接:合并R與F1,修改空閑分區(qū)表中F1的大小,即加上R的大小,始址不變。(2)回收分區(qū)(記為R)與其后面的空閑分區(qū)(記為F2)鄰接:合并R與F2,修改空閑分區(qū)表中F2的大小,即加上R的大小,始址不變。(3)回收分區(qū)(記為R)與其前后的空閑分區(qū)(分別記為F1和F2)均鄰接:合并R與F1、F2,修改空閑分區(qū)表中F1的大小,即加上R與F2的大小,始址不變。(4)回收分區(qū)(記為R)與其前后的空閑分區(qū)(分別記為F1和F2)均不鄰接:在空閑分區(qū)表中增加一條記錄,該空閑分區(qū)的始址和大小,即為R的始址和大小。動(dòng)態(tài)分區(qū)分配的常用算法有哪些各有什么特點(diǎn)參考答案:動(dòng)態(tài)分區(qū)分配的常用的內(nèi)存分配算法(1)最先適應(yīng)算法。該算法要求空閑分區(qū)表按各分區(qū)起始地址遞增的順序排列。每次分配時(shí),總是從第一條記錄開始順序查找空閑分區(qū)表,找到第一個(gè)能滿足作業(yè)長度要求的空閑區(qū),分割該空閑區(qū),一部分分配給作業(yè),余下部分仍為空閑區(qū)。該算法可能將大的空閑分區(qū)分割成多個(gè)小分區(qū),從而使系統(tǒng)產(chǎn)生很多小得無法再用的“碎片”。(2)最優(yōu)適應(yīng)算法。從所有空閑分區(qū)中挑選一個(gè)大小能滿足作業(yè)要求的最小分區(qū),這樣可以保證不去分割一個(gè)更大的分區(qū),使裝入大作業(yè)時(shí)比較容易得到滿足。為提高查找效率,將空閑分區(qū)表按各分區(qū)大小遞增的順序排列,分配時(shí),順序查找空閑分區(qū)表,直到找到一個(gè)大小滿足作業(yè)要求的分區(qū)為止。(3)最壞適應(yīng)算法。與最優(yōu)適應(yīng)算法相反,該算法要求將空閑分區(qū)表按各分區(qū)大小遞減的順序排列,每次分配時(shí)從所有空閑分區(qū)中挑選一個(gè)最大的分區(qū),分割一部分給作業(yè)使用,使剩下的部分不至于太小,仍可供使用,但不容易保留下大的空閑分區(qū),不利于大作業(yè)的內(nèi)存分配。在可變分區(qū)存儲(chǔ)管理中,設(shè)作業(yè)A(30KB),作業(yè)B(70KB),作業(yè)C(50KB)依次請求內(nèi)存分配,內(nèi)存現(xiàn)有兩個(gè)空閑區(qū):F1(100KB)和F2(50KB),如圖3-18所示。若分別采用最先適應(yīng)算法、最優(yōu)適應(yīng)算法和最壞適應(yīng)算法,畫出內(nèi)存分配情況圖。已分配F1(100KB)已分配F2(50KB)圖3-18內(nèi)存使用情況示意圖參考答案:采用最先適應(yīng)算法分配:已分配作業(yè)A(30KB)作業(yè)B(70KB)已分配作業(yè)C(50KB)采用最優(yōu)適應(yīng)算法分配:已分配作業(yè)B(70KB)F1(30KB)已分配作業(yè)A(30KB)F2(20KB)作業(yè)C沒有足夠的空閑分區(qū)分配,只有等待系統(tǒng)回收到足夠空閑內(nèi)存后再裝入內(nèi)存。采用最壞適應(yīng)算法分配:已分配作業(yè)A(30KB)作業(yè)B(70KB)已分配作業(yè)C(50KB)什么是對換為什么要引入對換參考答案:對換就是把內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程或暫時(shí)不用的程序和數(shù)據(jù),換出到外存上,把已具備運(yùn)行條件的進(jìn)程或進(jìn)程所需要的程序和數(shù)據(jù),換入內(nèi)存。引入對換的目的是為了提高內(nèi)存的利用率。簡述分頁系統(tǒng)的地址變換過程。參考答案:在系統(tǒng)中設(shè)置了一個(gè)頁表寄存器,用于存放當(dāng)前執(zhí)行進(jìn)程的頁表在內(nèi)存的始址和頁表長度。進(jìn)程未執(zhí)行時(shí),其頁表始址和頁表長度存放在它的PCB中;當(dāng)進(jìn)程被調(diào)度執(zhí)行時(shí),這兩個(gè)數(shù)據(jù)就被裝入頁表寄存器中。每當(dāng)CPU要訪問內(nèi)存時(shí),地址變換機(jī)構(gòu)會(huì)自動(dòng)將邏輯地址分為頁號(hào)和頁內(nèi)地址兩部分,然后將頁號(hào)與頁表長度進(jìn)行比較,若頁號(hào)不小于頁表長度,說明本次所訪問的地址已超越進(jìn)程的地址空間,產(chǎn)生“地址越界”中斷,并停止執(zhí)行該指令。若未出現(xiàn)越界錯(cuò)誤,則用頁號(hào)檢索頁表,找到對應(yīng)的表項(xiàng)后,從中得到該頁面在內(nèi)存的塊號(hào),并將塊號(hào)送入物理地址寄存器中。與此同時(shí),將邏輯地址中的頁內(nèi)地址直接送入物理地址寄存器的塊內(nèi)地址字段中,便得到了物理地址。整個(gè)地址轉(zhuǎn)換過程如圖3-10所示(圖中頁面大小為1KB)。可根據(jù)下式由塊號(hào)計(jì)算出物理地址:物理地址=塊號(hào)×塊長(即頁面大?。搩?nèi)地址分頁和分段存儲(chǔ)管理有何區(qū)別參考答案:(1)頁是信息的物理單位,分頁是為實(shí)現(xiàn)離散分配方式,以減少內(nèi)存的外零頭,提供內(nèi)存的利用率。段則是信息的邏輯單位,它含有一組意義相對完整的信息,分段的目的是為了更好地滿足用戶的需要。頁的大小固定且由系統(tǒng)決定,是由機(jī)器硬件實(shí)現(xiàn)的;而段的長度卻不固定,決定于用戶所編寫的程序,通常由編譯程序在對源程序進(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來劃分。分頁的作業(yè)地址空間是一維的,即單一的線性地址空間;而分段的作業(yè)地址空間是二維的,由段名(或段號(hào))和段內(nèi)地址構(gòu)成。簡述分段系統(tǒng)的地址變換過程。參考答案:分段系統(tǒng)的地址轉(zhuǎn)換采用動(dòng)態(tài)重定位方式。在系統(tǒng)中設(shè)置了一個(gè)段表寄存器,用于存放當(dāng)前執(zhí)行進(jìn)程的段表在內(nèi)存的始址和段表長度。每當(dāng)CPU要訪問內(nèi)存時(shí),地址變換機(jī)構(gòu)就將邏輯地址中的段號(hào)與段表長度進(jìn)行比較,若段號(hào)不小于段表長度,產(chǎn)生“地址越界”中斷,停止執(zhí)行該指令。若未越界,則用段號(hào)檢索段表,找到對應(yīng)的表項(xiàng)后,從中得到該段的基址和段長,然后檢查段內(nèi)地址是否超出該段的段長,若超出,則發(fā)出“地址越界”中斷,停止執(zhí)行該指令。若未越界,就用基址加上段內(nèi)地址,得到訪存的物理地址。在一分頁系統(tǒng)中,頁面大小為4KB,某個(gè)已裝入內(nèi)存的作業(yè)的頁表如表3-3所示。請計(jì)算下列邏輯地址所對應(yīng)的物理地址:378,15034,5700,30000。表3-3作業(yè)頁表表3-4作業(yè)段表表3-5作業(yè)頁表頁號(hào)塊號(hào)段號(hào)段始址段長頁號(hào)塊號(hào)狀態(tài)03021006300151191350018012012102200150233136312003003-04154540011204-0參考答案:(1)邏輯地址378:頁號(hào)=378/4096=0頁內(nèi)地址=378MOD4096=378用頁號(hào)0查找頁表,找到對應(yīng)的塊號(hào)為3,則物理地址為:物理地址=塊號(hào)×頁面大?。搩?nèi)地址=3×4096+378=12666(2)邏輯地址15034:頁號(hào)=15034/4096=3頁內(nèi)地址=5700MOD4096=2746用頁號(hào)3查找頁表,找到對應(yīng)的塊號(hào)為6,則物理地址為:物理地址=塊號(hào)×頁面大?。搩?nèi)地址=6×4096+2746=27322(3)邏輯地址5700:頁號(hào)=5700/4096=1頁內(nèi)地址=5700MOD4096=1604用頁號(hào)1查找頁表,找到對應(yīng)的塊號(hào)為9,則物理地址為:物理地址=塊號(hào)×頁面大小+頁內(nèi)地址=9×4096+1604=38468(4)邏輯地址30000:頁號(hào)=30000/4096=7頁內(nèi)地址=30000MOD4096=1328用頁號(hào)3查找頁表,發(fā)現(xiàn)越界,發(fā)出越界中斷信號(hào),終止程序運(yùn)行。在一分段系統(tǒng)中,某個(gè)已裝入內(nèi)存的作業(yè)的段表如表3-4所示。計(jì)算下列邏輯地址所對應(yīng)的物理地址:(0,311),(1,120),(2,230),(4,800)。參考答案:(1)邏輯地址(0,311)使用段號(hào)0查找段表,找到對應(yīng)的表項(xiàng)后,用段內(nèi)地址311與段長進(jìn)行比較,沒有越界,計(jì)算物理地址=段始址+段內(nèi)地址=2100+311=2411(2)邏輯地址(1,120)使用段號(hào)1查找段表,找到對應(yīng)的表項(xiàng)后,用段內(nèi)地址120與段長進(jìn)行比較,沒有越界,計(jì)算物理地址=段始址+段內(nèi)地址=3500+120=3620(3)邏輯地址(2,230)使用段號(hào)2查找段表,找到對應(yīng)的表項(xiàng)后,用段內(nèi)地址230與段長進(jìn)行比較,發(fā)現(xiàn)越界,發(fā)出越界中斷信號(hào),終止程序運(yùn)行。(2)邏輯地址(4,800)使用段號(hào)4查找段表,找到對應(yīng)的表項(xiàng)后,用段內(nèi)地址800與段長進(jìn)行比較,沒有越界,計(jì)算物理地址=段始址+段內(nèi)地址=5400+800=6200簡述段頁式系統(tǒng)的地址變換過程。參考答案:為實(shí)現(xiàn)地址轉(zhuǎn)換,系統(tǒng)設(shè)置了一個(gè)段表寄存器,用于存放當(dāng)前執(zhí)行進(jìn)程的段表始址和段表長度。進(jìn)行地址轉(zhuǎn)換時(shí),首先檢查段號(hào)是否超出段表長度,如果是,產(chǎn)生越界中斷;否則,使用段號(hào)檢索段表,找到對應(yīng)的段表項(xiàng)后,從中得到該段的頁表始址和頁表長度,再檢查頁號(hào)是否超出頁表長度,如果是,產(chǎn)生越界中斷;否則,使用頁號(hào)檢索頁表,找到對應(yīng)的頁表項(xiàng)后,從中得到該頁對應(yīng)的物理塊號(hào),再與頁內(nèi)地址一起組成物理地址。什么叫虛擬存儲(chǔ)器它有哪些特征參考答案:所謂虛擬存儲(chǔ)器,是指具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量進(jìn)行擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。從用戶角度看,該系統(tǒng)所具有的內(nèi)存容量比實(shí)際內(nèi)存容量大得多,但這只是用戶的一種感覺,是虛的,故而得名虛擬存儲(chǔ)器。虛擬存儲(chǔ)器的特征有:虛擬擴(kuò)充、部分裝入、多次對換。在請求分頁系統(tǒng)中,頁表應(yīng)包括哪些數(shù)據(jù)項(xiàng)每項(xiàng)的作用是什么參考答案:在請求分頁系統(tǒng)中,頁表應(yīng)包括:頁號(hào)、物理塊號(hào)、狀態(tài)位、訪問位、修改位、外存地址。其中“狀態(tài)位”表示該頁是否在內(nèi)存;“訪問位”表示該頁調(diào)入內(nèi)存后是否被訪問過以及被訪問的情況;“修改位”表示該頁調(diào)入內(nèi)存后是否被修改過;“外存地址”指出該頁在外存上的地址,通常是盤塊號(hào)。在請求分頁系統(tǒng)中,常用的頁面置換算法有哪些各有何特點(diǎn)參考答案:在請求分頁系統(tǒng)中,常用的頁面置換算法及其特點(diǎn)描述如下:先進(jìn)現(xiàn)出(FIFO)頁面置換算法:這是一種最簡單的置換算法,它總是淘汰最先進(jìn)入內(nèi)存的頁面,即選擇在內(nèi)存中駐留時(shí)間最久的頁面予以淘汰。該算法雖然實(shí)現(xiàn)容易,但由于沒有考慮頁面調(diào)入內(nèi)存后被訪問的情況,使其性能較差,故很少單獨(dú)使用。最近最久未使用(LRU)置換算法:LRU置換算法是根據(jù)頁面調(diào)入內(nèi)存后的使用情況來選擇淘汰頁的,即它總是選擇最近一段時(shí)間內(nèi)最長時(shí)間沒有被訪問的頁面予以淘汰。LRU置換算法考慮了頁面調(diào)入內(nèi)存后的使用情況,具有較好的性能,但要快速的找出最近最久未被使用的頁面,卻要花費(fèi)巨大的系統(tǒng)開銷,往往需要較多的硬件支持,因此在實(shí)際系統(tǒng)中往往使用其近似算法。最近未使用(NUR)置換算法:該算法又被稱為Clock置換算法,是LRU算法的近似算法。它總是選擇最近一段時(shí)間內(nèi)未被訪問的頁面予以淘汰。最少使用(LFU)置換算法:該算法是LRU算法的近似算法。它選擇過去一段時(shí)間里被訪問次數(shù)最少的頁面予以淘汰。在一個(gè)請求分頁系統(tǒng)中,內(nèi)存容量為1MB,被劃分為256塊,每塊為4KB。有一作業(yè),其頁表如表3-5所示。(1)計(jì)算邏輯地址9016所對應(yīng)的物理地址;(2)對邏輯地址12300,試給出其物理地址的轉(zhuǎn)換過程。參考答案:(1)邏輯地址9016:頁號(hào)=9016/4096=2頁內(nèi)地址=9016MOD4096=824用頁號(hào)2查找頁表,找到對應(yīng)的塊號(hào)為33,則物理地址為:物理地址=塊號(hào)×頁面大?。搩?nèi)地址=33×4096+824=135992(2)邏輯地址12300:頁號(hào)=12300/4096=3頁內(nèi)地址=12300MOD4096=12用頁號(hào)3查找頁表,發(fā)現(xiàn)該頁還在內(nèi)存,發(fā)生缺頁中斷,等把頁面調(diào)進(jìn)內(nèi)存后再重新進(jìn)行地址轉(zhuǎn)換工作。在一個(gè)請求分頁系統(tǒng)中,假設(shè)一個(gè)作業(yè)的頁面走向?yàn)?,3,2,1,4,3,5,4,3,2,1,5,若分配給該作業(yè)的物理塊數(shù)為4,假設(shè)當(dāng)前沒有任何頁面在內(nèi)存,分別采用FIFO和LRU頁面置換算法,試計(jì)算在運(yùn)行過程中發(fā)生的缺頁次數(shù)和缺頁率,并比較所得結(jié)果。參考答案:(1)采用FIFO頁面置換算法:訪問頁面432143543215缺頁是是是是否否是是是是是是內(nèi)存塊444444555511333333444452222223333111111222換頁432154缺頁次數(shù)是:10次,缺頁率=缺頁次數(shù)/訪問次數(shù)=10/12=%(2)采用LRU頁面置換算法:訪問頁面432143543215缺頁是是是是否否是否否是是是內(nèi)存塊444444444445333333333332222555511111111222換頁2154缺頁次數(shù)是:8次,缺頁率=缺頁次數(shù)/訪問次數(shù)=8/12=%提高內(nèi)存利用率的途徑有哪些參考答案:提高內(nèi)存利用率的途徑有:(1)改連續(xù)分配方式為離散分配方式;(2)增加對換和覆蓋機(jī)制;(3)引入動(dòng)態(tài)鏈接機(jī)制;(4)引入虛擬存儲(chǔ)器機(jī)制;(5)引入存儲(chǔ)器共享機(jī)制。第四章習(xí)題設(shè)備管理的主要功能是什么參考答案:設(shè)備管理的主要功能是:設(shè)備分配、緩沖管理、設(shè)備處理。按工作特性可把設(shè)備分為哪幾種類型按設(shè)備的共享屬性可把設(shè)備分為哪幾種類型參考答案:按工作特性可把設(shè)備分為存儲(chǔ)設(shè)備和I/O設(shè)備,按設(shè)備的共享屬性可把設(shè)備分為獨(dú)享設(shè)備、共享設(shè)備和虛擬設(shè)備。什么是設(shè)備獨(dú)立性引入設(shè)備獨(dú)立性有什么好處參考答案:用戶在編程時(shí)使用的設(shè)備與程序運(yùn)行時(shí)實(shí)際使用的設(shè)備無關(guān),稱為“設(shè)備獨(dú)立性”,設(shè)備獨(dú)立性能提高系統(tǒng)進(jìn)行設(shè)備分配時(shí)的適應(yīng)性和靈活性。設(shè)備控制器的主要功能有哪些參考答案:作為CPU與設(shè)備間的接口,設(shè)備控制器通常具有如下功能:①接收和識(shí)別由CPU發(fā)來的各種命令,并對這些命令進(jìn)行譯碼;②實(shí)現(xiàn)CPU與控制器、控制器與設(shè)備之間的數(shù)據(jù)交換和數(shù)據(jù)緩沖;③將設(shè)備和控制器當(dāng)前所處的狀態(tài)提供給CPU;④實(shí)現(xiàn)CPU和設(shè)備之間的通信控制,進(jìn)行端口地址譯碼。I/O控制方式有哪幾種各有什么特點(diǎn)參考答案:I/O控制方式包括:程序直接控制方式,用于早期沒有中斷硬件技術(shù)的系統(tǒng)中,其缺點(diǎn)是CPU與設(shè)備完全串行工作,而設(shè)備的速度遠(yuǎn)低于CPU,致使CPU大部分時(shí)間處于等待狀態(tài),嚴(yán)重降低了CPU的利用率。中斷驅(qū)動(dòng)控制方式,它使CPU和設(shè)備可以并行工作,顯著提高了CPU的利用率,至今仍然是字符設(shè)備的I/O控制方式。DMA方式,主要用于塊設(shè)備的I/O控制。該方式的最大特點(diǎn)是數(shù)據(jù)傳送直接在設(shè)備與內(nèi)存之間進(jìn)行,整塊數(shù)據(jù)的傳送是由DMA控制器完成的,僅在數(shù)據(jù)傳送開始和結(jié)束時(shí)才需CPU干預(yù),較之中斷驅(qū)動(dòng)控制方式,進(jìn)一步減少了CPU對I/O操作的干預(yù)。通道控制方式,通道控制方式與DMA方式類似,也是一種以內(nèi)存為中心,實(shí)現(xiàn)設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換的控制方式。與DMA方式相比,CPU對I/O控制的干預(yù)更少,從而進(jìn)一步減輕了CPU的負(fù)擔(dān)。簡述獨(dú)占設(shè)備的分配過程。參考答案:獨(dú)占設(shè)備分配一般分為三個(gè)步驟:分配設(shè)備、分配控制器、分配通道。(1)分配設(shè)備。根據(jù)進(jìn)程所請求的設(shè)備類型,檢索系統(tǒng)設(shè)備表,找到第一個(gè)該類設(shè)備的控制表,從其“狀態(tài)”字段可知設(shè)備忙閑情況。若設(shè)備忙,則查找第二個(gè)該類設(shè)備的控制表,僅當(dāng)所有該類設(shè)備都忙時(shí),才把進(jìn)程插入該類設(shè)備的等待隊(duì)列上。只要有一個(gè)該類設(shè)備空閑,就可以分配給進(jìn)程。(2)分配控制器。當(dāng)系統(tǒng)把設(shè)備分配給進(jìn)程后,從該設(shè)備的控制表中找到與此設(shè)備相連的控制器的控制表,從其“狀態(tài)”字段可知該控制器是否忙碌。若控制器忙,將該進(jìn)程插入控制器等待隊(duì)列;否則,將該控制器分配給進(jìn)程。(3)分配通道。當(dāng)把控制器分配給進(jìn)程后,從該控制器的控制表中找到與其相連的通道的控制表,從其“狀態(tài)”字段可知該通道是否忙碌。若通道忙,將進(jìn)程插入通道等待隊(duì)列;否則將該通道分配給進(jìn)程。當(dāng)進(jìn)程分配到設(shè)備、控制器和通道后,就可以進(jìn)行數(shù)據(jù)傳輸工作了。簡述設(shè)備驅(qū)動(dòng)程序的特點(diǎn)和功能。參考答案:設(shè)備驅(qū)動(dòng)程序最大的特點(diǎn)是與硬件特性緊密相關(guān),它包括了所有與設(shè)備相關(guān)的代碼,因而其中的部分代碼必須用匯編語言編寫。每個(gè)設(shè)備驅(qū)動(dòng)程序只處理一種設(shè)備,或者一類緊密相關(guān)的設(shè)備,因而對不同類型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。例如,可以為相同的多個(gè)終端配置一個(gè)驅(qū)動(dòng)程序。但有時(shí)即使是同一類型的設(shè)備,由于其生產(chǎn)廠家不同,也可能不完全兼容,此時(shí)也必須為它們配置不同的驅(qū)動(dòng)程序。另外,驅(qū)動(dòng)程序與設(shè)備所采用的I/O控制方式緊密相關(guān),如常用的中斷驅(qū)動(dòng)方式和DMA方式的驅(qū)動(dòng)程序就明顯不同。設(shè)備驅(qū)動(dòng)程序的主要功能是從與設(shè)備無關(guān)的軟件中接收抽象的請求并執(zhí)行,具體包括以下幾個(gè)方面:①將接收到的抽象要求轉(zhuǎn)化為具體要求;②檢查用戶I/O請求的合法性,了解設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式;③發(fā)出I/O命令,啟動(dòng)分配到的I/O設(shè)備,完成指定的I/O操作;④及時(shí)響應(yīng)由控制器或通道發(fā)來的中斷請求,并調(diào)用相應(yīng)的中斷處理程序進(jìn)行中斷處理;⑤對于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),驅(qū)動(dòng)程序還應(yīng)能根據(jù)用戶的I/O請求,自動(dòng)地構(gòu)成通道程序。為什么要引入緩沖簡述緩沖池的實(shí)現(xiàn)機(jī)制。參考答案:引入緩沖的主要目的是:(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾,提高它們之間的并行性。(2)減少對CPU的中斷頻率,放寬CPU對中斷響應(yīng)時(shí)間的限制。緩沖池的實(shí)現(xiàn)機(jī)制:緩沖池由多個(gè)緩沖區(qū)組成,這些緩沖區(qū)可供多個(gè)進(jìn)程共享,既能用于輸入,也能用于輸出。為管理方便,將所有緩沖區(qū)組織成三個(gè)隊(duì)列:①空緩沖隊(duì)列:由空緩沖區(qū)組成;②輸入隊(duì)列:由裝滿輸入數(shù)據(jù)的緩沖區(qū)組成;③輸出隊(duì)列:由裝滿輸出數(shù)據(jù)的緩沖區(qū)組成。各進(jìn)程在使用緩沖池中的緩沖區(qū)時(shí),通常有下面四種情況:①當(dāng)輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),便從空緩沖隊(duì)列的隊(duì)首摘下一空緩沖區(qū),把數(shù)據(jù)輸入其中,裝滿后將其掛到輸入隊(duì)列末尾。②當(dāng)計(jì)算進(jìn)程需要輸入數(shù)據(jù)進(jìn)行計(jì)算時(shí),便從輸入隊(duì)列取得一個(gè)緩沖區(qū),從中提取數(shù)據(jù)進(jìn)行計(jì)算,數(shù)據(jù)用完后再將其掛到空緩沖隊(duì)列末尾。③當(dāng)計(jì)算進(jìn)程需要輸出數(shù)據(jù)時(shí),便從空緩沖隊(duì)列的隊(duì)首摘下一個(gè)空緩沖區(qū),將數(shù)據(jù)輸出到其中,當(dāng)緩沖區(qū)裝滿輸出數(shù)據(jù)后,再將它掛到輸出隊(duì)列末尾。④當(dāng)輸出進(jìn)程要輸出時(shí),便從輸出隊(duì)列取得一個(gè)裝滿輸出數(shù)據(jù)的緩沖區(qū),輸出其中的數(shù)據(jù),數(shù)據(jù)輸出完后,再將其掛到空緩沖隊(duì)列末尾。什么是設(shè)備虛擬技術(shù)以共享打印機(jī)的實(shí)現(xiàn)為例,說明SPOOLing系統(tǒng)是如何實(shí)現(xiàn)設(shè)備虛擬的參考答案:為提高獨(dú)占設(shè)備的利用率和系統(tǒng)效率,人們使用共享設(shè)備來模擬獨(dú)占設(shè)備,將獨(dú)占設(shè)備改造成共享設(shè)備,這種技術(shù)稱為設(shè)備虛擬技術(shù)。共享打印機(jī)是SPOOLing技術(shù)的典型應(yīng)用。當(dāng)用戶進(jìn)程請求打印輸出時(shí),SPOOLing系統(tǒng)為其做兩件事:①由“輸出井寫”程序?qū)⒂脩暨M(jìn)程要打印的數(shù)據(jù)存放到輸出井中;②為用戶進(jìn)程申請一張空白的請求打印表,并填入用戶的打印要求,然后將其掛到請求打印隊(duì)列上。如果還有其他用戶進(jìn)程請求打印輸出,系統(tǒng)仍可接收該請求,同樣為該進(jìn)程做上述兩件事。如果打印機(jī)空閑,緩輸出程序就從請求打印隊(duì)列的隊(duì)首取出一張請求打印表,根據(jù)表中的打印要求從輸出井中取出待打印數(shù)據(jù),由打印機(jī)進(jìn)行打印。重復(fù)上述過程,直到請求打印隊(duì)列為空,緩輸出程序就阻塞等待新的打印請求。簡述SPOOLing系統(tǒng)的組成。參考答案:SPOOLing系統(tǒng)包括輸入井和輸出井、預(yù)輸入程序和緩輸出程序、井管理程序幾個(gè)部分,如圖4-6所示。圖4-6SPOOLing系統(tǒng)的組成(1)輸入井和輸出井。這是在磁盤上開辟的兩個(gè)大的存儲(chǔ)區(qū),輸入井用于預(yù)先存放從I/O設(shè)備輸入的各作業(yè)的全部信息,輸出井用于暫時(shí)存放各運(yùn)行作業(yè)的輸出信息。(2)預(yù)輸入程序和緩輸出程序。預(yù)輸入程序的任務(wù)是預(yù)先把作業(yè)的全部信息輸入到磁盤上的輸入井中保存,作業(yè)執(zhí)行時(shí)只需從輸入井中讀入相關(guān)信息,而不必啟動(dòng)輸入設(shè)備。緩輸出程序的任務(wù)是啟動(dòng)輸出設(shè)備對輸出井中等待輸出的作業(yè)信息進(jìn)行輸出。(3)井管理程序。它又分為“輸入井讀”和“輸出井寫”兩個(gè)程序。當(dāng)要求讀信息時(shí),由輸入井讀程序從輸入井中找出作業(yè)所需信息并傳送給作業(yè);當(dāng)作業(yè)要求輸出信息時(shí),由輸出井寫程序把輸出信息存放到輸出井中。磁盤訪問時(shí)間包括哪三個(gè)部分參考答案:磁盤訪問時(shí)間包括以下三個(gè)部分:(1)尋道時(shí)間Ts:是指把磁頭從當(dāng)前位置移動(dòng)到指定磁道所需要的時(shí)間,它是影響磁盤數(shù)據(jù)傳輸率的重要參數(shù),與磁頭移過的磁道數(shù)量成正比,一般磁盤為5~15ms。(2)旋轉(zhuǎn)延遲時(shí)間Tr:是指定扇區(qū)旋轉(zhuǎn)到磁頭下面所需要的時(shí)間,與磁盤轉(zhuǎn)速有直接關(guān)系,設(shè)r為磁盤轉(zhuǎn)速,則Tr平均=1/(2r)。若r=7200轉(zhuǎn)/分鐘,則Tr為。(3)傳輸時(shí)間Tt:把數(shù)據(jù)從磁盤讀出或向磁盤寫入所需要的時(shí)間,它與磁盤的轉(zhuǎn)速以及要讀/寫的字節(jié)數(shù)有關(guān)。綜上所述,可將磁盤訪問時(shí)間Ta表示為:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論