計(jì)算機(jī)操作系統(tǒng)第四版湯小丹課后答案解析_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹課后答案解析_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹課后答案解析_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹課后答案解析_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹課后答案解析_第5頁(yè)
已閱讀5頁(yè),還剩78頁(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、范文范例參考第一章1 .設(shè)計(jì)現(xiàn)代 OS的主要目標(biāo)是什么?答:(1 )有效性 (2)方便性 (3)可擴(kuò)充性(4)開(kāi)放性2. OS的作用可表現(xiàn)在哪幾個(gè)方面?答:(1 ) OS作為用戶(hù)與計(jì)算機(jī)硬件系統(tǒng)之間的接口2 ) OS作為計(jì)算機(jī)系統(tǒng)資源的管理者3 ) OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象3. 為什么說(shuō) OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?答:OS首先在裸機(jī)上覆蓋一層I/O 設(shè)備管理軟件,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層次抽象;在第一層軟件上再覆蓋文件管理軟件,實(shí)現(xiàn)了對(duì)硬件資源操作的第二層次抽象。OS 通過(guò)在計(jì)算機(jī)硬件上安裝多層系統(tǒng)軟件,增強(qiáng)了系統(tǒng)功能, 隱藏了對(duì)硬件操作的細(xì)節(jié),由它們共同實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象

2、。4. 試說(shuō)明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗看穑褐饕獎(jiǎng)恿?lái)源于四個(gè)方面的社會(huì)需求與技術(shù)發(fā)展:(1) 不斷提高計(jì)算機(jī)資源的利用率;(2 )方便用戶(hù);(3 )器件的不斷更新?lián)Q代;(4 )計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展。5. 何謂脫機(jī) I/O和聯(lián)機(jī)I/O ?答:脫機(jī)I/O是指事先將裝有用戶(hù)程序和數(shù)據(jù)的紙帶或卡片裝入紙帶輸入機(jī)或卡片機(jī),在外圍機(jī)的控制下,把紙帶或卡片上的數(shù)據(jù)或程序輸入到磁帶上。該方式下的輸入輸出由外圍機(jī)控制完成,是在脫離主機(jī)的情況下進(jìn)行的。而聯(lián)機(jī)I/O 方式是指程序和數(shù)據(jù)的輸入輸出都是在主機(jī)的直接控制下進(jìn)行的。6. 試說(shuō)明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗看穑和苿?dòng)分時(shí)系

3、統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ歉玫貪M(mǎn)足用戶(hù)的需要。主要表現(xiàn)在:CPU的分時(shí)使用縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間;人機(jī)交互能力使用戶(hù)能直接控制自己的作業(yè);主機(jī)的共享使多用戶(hù)能同時(shí)使用同一臺(tái)計(jì)算機(jī),獨(dú)立地處理自己的作業(yè)。7. 實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?答:關(guān)鍵問(wèn)題是當(dāng)用戶(hù)在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,在用戶(hù)能接受的時(shí)延內(nèi)將結(jié)果返回給用戶(hù)。解決方法:針對(duì)及時(shí)接收問(wèn)題,可以在系統(tǒng)中設(shè)置多路卡,使主機(jī)能同時(shí)接收用戶(hù)從各個(gè)終端上輸入的數(shù)據(jù);為每個(gè)終端配置緩沖區(qū),暫存用戶(hù)鍵入的命令或數(shù)據(jù)。針對(duì)及時(shí)處理問(wèn)題,應(yīng)使所有的用戶(hù)作業(yè)都直接進(jìn)入內(nèi)存,并且為每個(gè)作業(yè)分配一個(gè)時(shí)間片,允許

4、作業(yè)只在自己的時(shí)間片內(nèi)運(yùn)行,這樣在不長(zhǎng)的時(shí)間內(nèi),能使每個(gè)作業(yè)都運(yùn)行一次。8. 為什么要引入實(shí)時(shí)OS?答:實(shí)時(shí) 操作系統(tǒng) 是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。引入實(shí)時(shí)OS是為了滿(mǎn)足應(yīng)用的需求,更好地滿(mǎn)足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。9. 什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說(shuō)明。答:硬實(shí)時(shí)任務(wù)是指系統(tǒng)必須滿(mǎn)足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果。 舉例來(lái)說(shuō),運(yùn)載火箭的控制等。軟實(shí)時(shí)任務(wù)是指它的截止時(shí)間并不嚴(yán)格,偶爾錯(cuò)過(guò)了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影 響不大。舉例:網(wǎng)頁(yè)內(nèi)容的更新、火車(chē)售票系統(tǒng)。10 .在8位微

5、機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?答:?jiǎn)斡脩?hù)單任務(wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.11 .試列出 Win dows OS中五個(gè)主要版本,并說(shuō)明它們分別較之前一個(gè)版本有何改進(jìn)。答:(1) Microsoft Windows 1.0是微軟公司在個(gè)人電腦上開(kāi)發(fā)圖形界面的首次嘗試。2 ) Windows 95是混合的16位/32位系統(tǒng),第一個(gè)支持32位。帶來(lái)了更強(qiáng)大、更穩(wěn)定、更實(shí)用的桌面圖形用戶(hù)界面,結(jié)束了桌面操作系統(tǒng)間的競(jìng)爭(zhēng)。3 ) Windows 98是微軟公司的混合16位/32 位Windows操作系統(tǒng),改良了硬件標(biāo)準(zhǔn)的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng)。

6、4 ) Win dows XP是基于 Win dows2000的產(chǎn)品,擁有新用戶(hù)圖形界面月神Lu na。簡(jiǎn)化了用戶(hù)安全特性,整合了防火墻。5 ) Win dowsVista包含了上百種新功能;特別是新版圖形用戶(hù)界面和Win dowsAero全新界面風(fēng)格、加強(qiáng)的搜尋功能(Win dows In dexi ngService)、新媒體倉(cāng)U作工具以及重新設(shè)計(jì)的網(wǎng)絡(luò)、音頻、輸出(打印)和顯示子系統(tǒng)。12 .試從交互性、及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。答:(1)及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類(lèi)似,都是以人所能接受的等待時(shí)間來(lái)確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對(duì)象

7、所要求的開(kāi)始截止時(shí)間或完成截止時(shí)間來(lái)確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微妙。(2 )交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪(fǎng)問(wèn)系統(tǒng)中某些特定的專(zhuān)用服務(wù)程序。不像分時(shí)系統(tǒng)那樣能向終端用戶(hù)提供數(shù)據(jù)和資源共享等服務(wù)。(3 )可靠性:分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)具有高度的可靠性。 因?yàn)槿魏尾铄e(cuò)都可能帶來(lái)巨大的經(jīng)濟(jì)損失,甚至是災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性。13 . OS有哪幾大特征?其最基本的特征是什么?答:并發(fā)性、共享性、虛擬性和異步性四個(gè)基本特征;最基本的特征是并發(fā)性。14 .處理機(jī)管

8、理有哪些主要功能?它們的主要任務(wù)是什么?完美Wore格式整理版答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度;進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷(xiāo)已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過(guò)程中的狀態(tài)轉(zhuǎn)換。進(jìn)程同步:為多個(gè)進(jìn)程(含線(xiàn)程)的運(yùn)行進(jìn)行協(xié)調(diào)。通信:用來(lái)實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。處理機(jī)調(diào)度:(1 )作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所需的資源(首選是分配內(nèi)存)。(2 )進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給它,并設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入執(zhí)行。15 .內(nèi)存管理有哪些主要功能?他們的主要任務(wù)是什么?答:內(nèi)存管理的主要

9、功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。內(nèi)存分配:為每道程序分配內(nèi)存。內(nèi)存保護(hù):確保每道用戶(hù)程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對(duì)應(yīng)的物理地址。內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請(qǐng)求調(diào)用功能,置換功能等。16 .設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?答:主要功能有 :緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。I/O設(shè)備;提高 CPU 和I/O設(shè)主要任務(wù):完成用戶(hù)提出的I/O 請(qǐng)求,為用戶(hù)分配備的利用率;提高 I/O 速度;以及方便用戶(hù)使用I/O設(shè)備.17 .文件管理有哪些主要功能?其主要任務(wù)是什么?答:文件管理主要功能:文件存儲(chǔ)空間的管理、目

10、錄管理、文件的讀/寫(xiě)管理和保護(hù)。文件管理的主要任務(wù):管理用戶(hù)文件和系統(tǒng)文件,方便用戶(hù)使用,保證文件安全性。18 .是什么原因使操作系統(tǒng)具有異步性特征?答:操作系統(tǒng)的異步性體現(xiàn)在三個(gè)方面:一是進(jìn)程的異步性,進(jìn)程以人們不可預(yù)知的速度向前推進(jìn),二是程序的不可再現(xiàn)性,即程序執(zhí)行的結(jié)果有時(shí)是不確定的,三是程序執(zhí)行時(shí)間的不可預(yù)知性,即每個(gè)程序何時(shí)執(zhí)行,執(zhí)行順序以及完成時(shí)間是不確定的。19 .模塊接口法存在哪些問(wèn)題?可通過(guò)什么樣的途徑來(lái)解決?答:(1 )模塊接口法存在的問(wèn)題:在OS設(shè)計(jì)時(shí),各模塊間的接口規(guī)定很難滿(mǎn)足在模塊成后對(duì)接口的實(shí)際需求。在OS設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定,每一個(gè)決定須建立在上一

11、個(gè)決定的基礎(chǔ)上。但模塊化結(jié)構(gòu)設(shè)計(jì)的各模塊設(shè)計(jì)齊頭并進(jìn),無(wú)法尋找可靠的順序,造成各種決定的無(wú)序性,使程序設(shè)計(jì)人員很難做到設(shè)計(jì)中的每一步?jīng)Q定都建立在可靠的基礎(chǔ)上,因此模塊接口法被稱(chēng)為無(wú)序模塊法”。(2 )解決途徑:將模塊接口法的決定順序無(wú)序變有序,弓I入有序分層法。20 .在微內(nèi)核 OS中,為什么要采用客戶(hù)/服務(wù)器模式?答:C/S模式具有獨(dú)特的優(yōu)點(diǎn):數(shù)據(jù)的分布處理和存儲(chǔ)。便于集中管理。靈活性和可擴(kuò)充性。易于改編應(yīng)用軟件。21 .試描述什么是微內(nèi)核OS。答:1)足夠小的內(nèi)核2 )基于客戶(hù)/服務(wù)器模式3)應(yīng)用機(jī)制與策略分離原理 4)采用面向?qū)ο蠹夹g(shù)。22 .在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?

12、答:在基于微內(nèi)核結(jié)構(gòu)的OS中,采用面向?qū)ο蟮某绦蛟O(shè)汁技術(shù)。23 .何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?答:把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶(hù)模式)中去運(yùn)行,而留下一個(gè)盡量小的內(nèi)核,用它來(lái)完成操作系統(tǒng)最基本的核心功能,稱(chēng)這種技術(shù)為微內(nèi)核技術(shù)。在微內(nèi)核中通常提供了進(jìn)程(線(xiàn)程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理等功能。24 .微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?答:1 )提高了系統(tǒng)的可擴(kuò)展性2)增強(qiáng)了系統(tǒng)的可靠性3)可移植性4)提供了對(duì)分布式系統(tǒng)的支持5)融入了面向?qū)ο蠹夹g(shù)第二章1. 什么是前趨圖?為什么要引入前趨圖?答:前趨圖(Precede nee Gra

13、ph)是一個(gè)有向無(wú)循環(huán)圖,記為DAG(DirectedAcyclic Graph),用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。2. 畫(huà)出下面四條語(yǔ)句的前趨圖:S1=a : =x+y; S2=b : =z+1; S3=c : =a - b ; S4=w : =c+1;答:其前趨圖為:3. 什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征?答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合作,致使這些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性。4. 程序并發(fā)執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?答:程序并發(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個(gè)程序改變

14、,致使程序運(yùn)行失去了封閉性,也會(huì)導(dǎo)致其失去可再現(xiàn)性。5. 在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響?答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對(duì)并發(fā)執(zhí)行的程序加以控制和描述,在操作系統(tǒng)中引入了進(jìn)程概念。影響:使程序的并發(fā)執(zhí)行得以實(shí)行。6. 試從動(dòng)態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?答:(1)動(dòng)態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,由撤銷(xiāo)而消亡。進(jìn)程有一定的生命期,而程序只是一組有序的指令集合,是靜態(tài)實(shí)體。(2) 并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS的重要特征。引入進(jìn)程的目的正是為了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)

15、執(zhí)行的。(3) 獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位。對(duì)于未建立任何進(jìn)程的程序,不能作為獨(dú)立單位參加運(yùn)行。7. 試說(shuō)明 PCB 的作用,為什么說(shuō)PCB 是進(jìn)程存在的惟一標(biāo)志?答:PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個(gè)能獨(dú)立運(yùn)行的基本單位,成為能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程。OS是根據(jù)PCB對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。8 .試說(shuō)明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。答: (1 )就緒狀態(tài) 執(zhí)行狀態(tài):進(jìn)程分配到CPU資源(2 )執(zhí)行狀態(tài) 就緒狀態(tài):時(shí)間片用完(3

16、)執(zhí)行狀態(tài)阻塞狀態(tài):I/O 請(qǐng)求(4 )阻塞狀態(tài) 就緒狀態(tài):I/O 完成9.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?答:引入掛起狀態(tài)處于五種不同的需要:終端用戶(hù)需要,父進(jìn)程需要,操作系統(tǒng)需要,對(duì)換北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系5/48計(jì)算機(jī)操作系統(tǒng)習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著 5/48需要和負(fù)荷調(diào)節(jié)需要。處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度。10 .在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些?答:進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有:(1 )進(jìn)程當(dāng)前暫存信息(2 )下一指令地址信息(3 )進(jìn)程狀態(tài)信息(4 )過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息。11 .試說(shuō)明

17、引起進(jìn)程創(chuàng)建的主要事件。答:引起進(jìn)程創(chuàng)建的主要事件有:用戶(hù)登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請(qǐng)求。12 .試說(shuō)明引起進(jìn)程被撤銷(xiāo)的主要事件。答:引起進(jìn)程被撤銷(xiāo)的主要事件有:正常結(jié)束、異常結(jié)束(越界錯(cuò)誤、保護(hù)錯(cuò)、非法指令、特權(quán)指令錯(cuò)、運(yùn)行超時(shí)、等待超時(shí)、算術(shù)運(yùn)算錯(cuò)、I/O故障)、外界干預(yù)(操作員或操作系統(tǒng)干預(yù)、父進(jìn)程請(qǐng)求、父進(jìn)程終止)。在創(chuàng)建一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?答:(1OS發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語(yǔ)Creat();(2申請(qǐng)空白 PCB;(3為新進(jìn)程分配資源;(4初始化進(jìn)程控制塊;(5將新進(jìn)程插入就緒隊(duì)列14 .在撤銷(xiāo)一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?答:(1)根據(jù)被終

18、止進(jìn)程標(biāo)識(shí)符,從PCB集中檢索出進(jìn)程PCB,讀出該進(jìn)程狀態(tài)。(2 )若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,置調(diào)度標(biāo)志真,指示該進(jìn)程 被終止后重新調(diào)度。(3 )若該進(jìn)程還有子進(jìn)程,應(yīng)將所有子孫進(jìn)程終止,以防它們成為不可控進(jìn)程。(4 )將被終止進(jìn)程擁有的全部資源,歸還給父進(jìn)程,或歸還給系統(tǒng)。(5 )將被終止進(jìn)程PCB從所在隊(duì)列或列表中移出,等待其它程序搜集信息。15 .試說(shuō)明引起進(jìn)程阻塞或被喚醒的主要事件是什么?答:a.請(qǐng)求系統(tǒng)服務(wù);b.啟動(dòng)某種操作;c.新數(shù)據(jù)尚未到達(dá);d.無(wú)新工作可做 .16 .進(jìn)程在運(yùn)行時(shí)存在哪兩種形式的制約?并舉例說(shuō)明之。答:(1 )間接相互制約關(guān)系。舉例:有兩進(jìn)

19、程A和B,如果 A提出打印請(qǐng)求,系統(tǒng)已把唯一的一臺(tái)打印機(jī)分配給了進(jìn)程B,則進(jìn)程 A只能阻塞; 一旦B釋放打印機(jī),A才由阻塞改為就緒。(2 )直接相互制約關(guān)系。舉例:有輸入進(jìn)程A通過(guò)單緩沖向進(jìn)程B提供數(shù)據(jù)。當(dāng)緩沖空時(shí),計(jì)算進(jìn)程因不能獲得所需數(shù)據(jù)而阻塞,當(dāng)進(jìn)程A把數(shù)據(jù)輸入緩沖區(qū)后,便喚醒進(jìn)程B ;反之,當(dāng)緩沖區(qū)已滿(mǎn)時(shí),進(jìn)程A因沒(méi)有緩沖區(qū)放數(shù)據(jù)而阻塞,進(jìn)程B將緩沖區(qū)數(shù)據(jù)取走后便喚醒A。17 .為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行進(jìn)入?yún)^(qū)”代碼?而在退出前又要執(zhí)行退出區(qū)”代碼?答:為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪(fǎng)問(wèn),必須在臨界區(qū)前面增加一段用于檢查欲訪(fǎng)問(wèn)的臨界資源是否正被訪(fǎng)問(wèn)的代碼,如果未被訪(fǎng)問(wèn),該進(jìn)程

20、便可進(jìn)入臨界區(qū)對(duì)資源進(jìn)行訪(fǎng)問(wèn),并設(shè)置正被訪(fǎng)問(wèn)標(biāo)志,如果正被訪(fǎng)問(wèn),則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼為進(jìn)入?yún)^(qū)"代碼;在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于恢復(fù)未被訪(fǎng)問(wèn)標(biāo)志,使其18. 同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?答:同步機(jī)構(gòu)應(yīng)遵循的基本準(zhǔn)則是:空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待原因:為實(shí)現(xiàn)進(jìn)程互斥進(jìn)入自己的臨界區(qū)。19. 試從物理概念上說(shuō)明記錄型信號(hào)量wait和signal 。答:wait(S):當(dāng)S.value>0時(shí),表示目前系統(tǒng)中這類(lèi)資源還有可用的。執(zhí)行一次wait操作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類(lèi)資源,使系統(tǒng)中可供分配的該類(lèi)資源

21、減少一個(gè),因此描述為S.value:=S.value-1 ;當(dāng)S.value<0時(shí),表示該類(lèi)資源已分配完畢,進(jìn)程應(yīng)調(diào)用block原語(yǔ)自我阻塞,放棄處理機(jī),并插入到信號(hào)量鏈表S丄 中。signal(S):執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分配的該類(lèi)資源數(shù)增加一個(gè),故執(zhí)行S.value:=S.value+1 操作。若加 1后S. value < Q則表示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup 原語(yǔ),將 S丄鏈表中的第一個(gè)等待進(jìn)程喚醒。20 .你認(rèn)為整型信號(hào)量機(jī)制是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?答:整型信號(hào)量機(jī)制不完全遵循

22、同步機(jī)制的四條準(zhǔn)則,它不滿(mǎn)足讓權(quán)等待”準(zhǔn)則。21 .如何利用信號(hào)量機(jī)制來(lái)實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪(fǎng)問(wèn)?并舉例說(shuō)明之。答:為使多個(gè)進(jìn)程互斥訪(fǎng)問(wèn)某臨界資源,只需為該資源設(shè)置一互斥信號(hào)量mutex,并設(shè)其初值為1 ,然后將各進(jìn)程訪(fǎng)問(wèn)該資源的臨界區(qū)CS置于wait(mutex)和sig nal(mutex)操作 之間即可。這樣,每個(gè)欲訪(fǎng)問(wèn)該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對(duì)mutex 執(zhí)行wait操作,若該資源此刻未被訪(fǎng)問(wèn),本次wait操作必然成功,進(jìn)程便可進(jìn)入自己的臨界區(qū),這時(shí)若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時(shí)由于對(duì)mutex執(zhí)行wait操作定會(huì)失敗,因而該進(jìn)程阻塞,從而保證了該臨界

23、資源能被互斥訪(fǎng)問(wèn)。當(dāng)訪(fǎng)問(wèn)臨界資源的進(jìn)程退出臨界區(qū)后,應(yīng)對(duì) mutex執(zhí)行sig nal操作,釋放該臨界資源。利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)程描述 如下:Var mutex: semaphore:=1 ;begi nparbeginprocess 1:beg in repeatwait(mutex) ;criticalsecti onsig nal(mutex);rema in der secti on un tilendfalse process 2: beg inrepeatwait(mutex) ;criticalsecti onsig nal(mutex) ;rema in dersecti

24、 on un tilfalse ; endpare nd22 .試寫(xiě)出相應(yīng)的程序來(lái)描述圖2-17所示的前驅(qū)圖。答:( a)Var a, b, c, d, e, f, g, h; semaphores 0, 0,0, 0, 0,0, 0, 0; beginparbeg inbeg in S1; sig nal(a); sig nal(b); end;beg in wait(a); S2; sig nal(c);sig nal(d); end; beg in wait(b); S3;sig nal(e); end;beg in wait(c); S4; sig nal(f);end; beg in

25、 wait(d); S5;sig nal(g); end; beg inwait(e); S6; sig nal(h); end;beg in wait(f); wait(g); wait(h); S7; end;pare ndend(b) Var a, b, c, d, e, f, g, h,i,j; semaphores 0,0, 0, 0, 0, 0, 0,0,0, 0;begi nparbeginbeg in S1; sig nal(a); sig nal(b); end;beg inwait(a); S2;sig nal(c);sig nal(d); end;beg inwait(b

26、); S3;sig nal(e); sig nal(f); end; beg in wait(c); S4; sig nal(g); end;beg in wait(d); S5; sig nal(h);end; beg in wait(e); S6;sig nal(i); end; beg inwait(f); S7; sig nal(j); end;beg in wait(g);wait(h); wait(i); wait(j); S8;e nd;pare ndsig nal(full)或 sig nal(empty),end23 .在生產(chǎn)者消費(fèi)者問(wèn)題中,如果缺少了 對(duì)執(zhí)行結(jié)果有何影響?

27、答:如果缺少 sig nal(full),那么表明從第一個(gè)生產(chǎn)者進(jìn)程開(kāi)始就沒(méi)有改變信號(hào)量full 值,即使緩沖池產(chǎn)品已滿(mǎn),但full 值還是0,這樣消費(fèi)者進(jìn)程執(zhí)行 wait(full) 時(shí)認(rèn)為緩沖池是空而取不到產(chǎn)品,消費(fèi)者進(jìn)程一直處于等待狀態(tài)。如果缺少 sig nal(empty),在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿(mǎn)產(chǎn)品后消費(fèi)者進(jìn)程才開(kāi)始從中取產(chǎn)品,這時(shí) empty=0 ,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品empty值并不改變,直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程要想再往緩沖池中投放產(chǎn)品也會(huì)因?yàn)樯暾?qǐng)不到空緩沖區(qū)被阻塞。24 .在生產(chǎn)消費(fèi)者問(wèn)題中,

28、如果將兩個(gè)wait操作即 wait(full)和wait(mutex)互換位置,或者將signal(mutex)與 signal(full )互換位置,結(jié)果如何?答:將 wait(full) 和wait(mutex)互換位置后,可能引起死鎖??紤]系統(tǒng)中緩沖區(qū)全滿(mǎn)時(shí),若一生產(chǎn)者進(jìn)程先執(zhí)行了wait(mutex) 操作并獲得成功,則當(dāng)再執(zhí)行wait(empty) 操作時(shí),它將因失敗而進(jìn)入阻塞狀態(tài),它期待消費(fèi)者進(jìn)程執(zhí)行sig nal(empty) 來(lái)喚醒自己, 在此之前,它不可能執(zhí)行 sig nal(mutex) 操作,從而使試圖通過(guò)執(zhí)行wait(mutex)操作而進(jìn)入自己的臨界區(qū)的其他生產(chǎn)者和所有

29、消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖。若sig nal(mutex)和sig nal(full)互換位置后只是影響進(jìn)程對(duì)臨界資源的釋放次序,而不會(huì)引起系統(tǒng)死鎖,因此可以互換位置。25 .我們?cè)跒槟骋慌R界資源設(shè)置一把鎖vy當(dāng)W=1時(shí)表示關(guān)鎖, 當(dāng)W=0時(shí)表示鎖已打開(kāi)。試寫(xiě)出開(kāi)鎖和關(guān)鎖的原語(yǔ),并利用他們實(shí)現(xiàn)互斥。答:整型信號(hào)量:lock(W): while W=1 do noop W:=1;un lock(W): W:=0;記錄型信號(hào)量:lock(W): W:=W+1;if(W>1) then block(W, L) un lock(W): W:=W-1;if(W>0) t

30、hen wakeup(W,L)例子:Var W:semaphore:=0 beg in repeat lock(W); critical secti on un lock(W); rema in der secti on un til false;end26 .試修改下面生產(chǎn)者-消費(fèi)者問(wèn)題解法中的錯(cuò)誤答:producer:begi nrepeatproducer an item inn extp; wait(mutex);wait(full);buffer(i n):=nextp;sig nal(mutex);untilfalse; endcon sumer:begi nrepeatwait(

31、mutex);wait(empty);n extc:=buffer(out);out:=out+1;sig nal(mutex);con sumer item inn extc; un til false;end27 .試?yán)糜涗浶托盘?hào)量寫(xiě)出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法答: Var chopstick:array0,4 of semaphore;所有信號(hào)量均被初始化為1,第i位哲學(xué)家的活動(dòng)可描述為:RepeatWait(chopsticki);Wait(. chopstick(i+1) mod 5);Ea.t ;Sign al(chopsticki);Sign al(chopstic

32、k(i+1) mod5) Ea.t ;Thi nk;Un tilfalse;28 .在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算任務(wù)從該單 緩沖中取出數(shù)據(jù)進(jìn)行計(jì)算.試寫(xiě)出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法。答:a. Var mutex, empty, full: semaphore:#1, 0; gather:begi nrepeatgather data inn extp;wait(empty);wait(mutex);buffer:=nextp;sig nal(mutex);sig nal(full);until false; end compute: begi

33、 n repeatwait(full);wait(mutex);n extc:=buffer;sig nal(mutex);sig nal(empty);compute data inn extc; un til false;endb. Var empty, full: semaphore:=1,0; gather:begi nrepeatgather data inn extp;wait(empty);buffer:=nextp;sig nal(full);untilfalse;endcompute:begi nrepeatwait(full);n extc:=buffer;sig nal(

34、empty);compute data inn extc; un til false;end29 .畫(huà)圖說(shuō)明管程由哪幾部分組成,為什么要引入條件變量?對(duì)該數(shù)答:管程由四部分組成:管程的名稱(chēng);局部于管程內(nèi)部的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明;據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;對(duì)局部于管程內(nèi)部的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句;當(dāng)一個(gè)進(jìn)程調(diào)用了管程,在管程中時(shí)被阻塞或掛起,直到阻塞或掛起的原因解除,而在此期被迫長(zhǎng)時(shí)間地等待。為了解決這個(gè)間,如果該進(jìn)程不釋放管程,則其它進(jìn)程無(wú)法進(jìn)入管程,問(wèn)題,弓I入了條件變量con diti on。30 .如何利用管程來(lái)解決生產(chǎn)者與消費(fèi)者問(wèn)題?答:首先建立一個(gè)管程,命名為ProclucerCo n

35、sumer,包括兩個(gè)過(guò)程:1 )Put ( item )過(guò)程。生產(chǎn)者利用該過(guò)程將自己生產(chǎn)的產(chǎn)品放到緩沖池,用整型變量count表示在緩沖池中已有的產(chǎn)品數(shù)目,當(dāng)count >n時(shí),表示緩沖池已滿(mǎn),生產(chǎn)者須等待。2 ) get (item )過(guò)程。消費(fèi)者利用該過(guò)程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)countw0時(shí),表示緩沖池中已無(wú)可取的產(chǎn)品,消費(fèi)者應(yīng)等待。PC管程可描述如下:type producer-c on sumer=mon itor Varin ,out,co un t:i nteger;buffer:array0,-1,rj of item;notfull ,no tempty:c on

36、diti on;procedure entry dot(item)begi nif count>=n the n notfull.wait;buffer(i n):=nextp;in :=(i n+1)mod n;coun t:=co un t+1;if no tempty.queue the n no tempty.sig nal;endprocedure entryget(item) beg inif coun t<=0 the n notfull.wait;n extc:=buffer(out);out:=(out+1)mod n;coun t:=co un t-1;if n

37、o tfull.que ne the n no tfull.sig nal;endbegi n in :=out:=0;coun t:=0end在利用管程解決生產(chǎn)者一消費(fèi)者問(wèn)題時(shí),其中的生產(chǎn)者和消費(fèi)者可描述為:producer:beg in pepeatproduce an inem inn estp PC.put(item);un til false;endcon sumer:beg in repeatPC.get(item);con sume the item in en xtc;untilfalse;end31 .什么是 AND信號(hào)量?試?yán)肁ND信號(hào)量寫(xiě)出生產(chǎn)者一消費(fèi)者問(wèn)題的解法。答:

38、為解決并行帶來(lái)的死鎖問(wèn)題,在wait操作中引入 AND 條件,其基本思想是將進(jìn)程在整個(gè)運(yùn)行過(guò)程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放。解決生產(chǎn)者-消費(fèi)者問(wèn)題可描述如下:var mutex,empty,full:semaphore:# n,0; buffer:array0,., n-1 of item;in ,out:in teger:=0,0;begi nparbeg inproducer:beg in repeatproduce an item in n extp;wait(empty);wait(s1,s2,s3,.,sn); s1,s2,.,sn為執(zhí)行生產(chǎn)者進(jìn)程

39、除empty 外其余的條件wait(mutex);buffer(i n):=nextp;in :=(i n+1) mod n;sig nal(mutex);sig nal(full);sig nal(s1,s2,s3,sn); un til false;endcon sumer: beg inrepeatwait(fulI);外其余的wait(k1,k2,k3,k n); k1,k2,kn為執(zhí)行消費(fèi)者進(jìn)程除full條件wait(mutex);n extc:=buffer(out);out:=(out+1) mod n;sig nal(mutex);sig nal(empty);sig nal(

40、k1,k2,k3,.,k n);con sume the item inn extc; un til false;endpare ndend32 .什么是信號(hào)量集?試?yán)眯盘?hào)量集寫(xiě)出讀者一寫(xiě)者問(wèn)題的解法。答:對(duì)AND信號(hào)量加以擴(kuò)充,形成的信號(hào)量集合的讀寫(xiě)機(jī)制。解法:Var RN in teger;L,mx: semaphore:=RN,1;begi nparbeg inreader:begin repeatSwait(L,1,1);Swait(mx,1,1);perform read operati on;Ssig nal(L,1);un tilfalse end writer:begin r

41、epeatSwait(mx,1,1;L,RN,0);perform writeoperatio n;Ssig nal(mx,1);until false end pare nd end33 .試比較進(jìn)程間的低級(jí)與高級(jí)通信工具。答:用戶(hù)用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,效率低,通信對(duì)用戶(hù)不透明,所有操作都必須由程序員來(lái)實(shí)現(xiàn),而高級(jí)通信工具彌補(bǔ)了這些缺陷,用戶(hù)直接利用操作系統(tǒng)提供的一組通信命令,高效地傳送大量的數(shù)據(jù)。34 .當(dāng)前有哪幾種高級(jí)通信機(jī)制?答:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng)。35 .消息隊(duì)列通信機(jī)制有哪幾方面的功能?答:(1 )構(gòu)成消息(2 )發(fā)送消息(3)接收梢息(4)

42、互斥與同步。36 .為什么要在 OS中引入線(xiàn)程?答:在操作系統(tǒng)中引入線(xiàn)程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開(kāi)銷(xiāo),使OS具有更好的并發(fā)性,提高CPU的利用率。 進(jìn)程是分配資源的基本單位,而線(xiàn)程則是系統(tǒng)調(diào)度的基本單位。37 .試說(shuō)明線(xiàn)程具有哪些屬性?答:(1)輕型實(shí)體(2)獨(dú)立調(diào)度和分派的基本單位(3)可并發(fā)執(zhí)行(4 )共享進(jìn)程資源。38.試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開(kāi)銷(xiāo)方面對(duì)進(jìn)程和線(xiàn)程進(jìn)行比較。答:(1 )調(diào)度性。線(xiàn)程在 OS中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的基本單位。(2 )并發(fā)性。進(jìn)程可以并發(fā)執(zhí)行,一個(gè)進(jìn)程的多個(gè)線(xiàn)程也可并發(fā)執(zhí)行。(3 )擁有資源。進(jìn)程始終是擁有資

43、源的基本單位,線(xiàn)程只擁有運(yùn)行時(shí)必不可少的資源,本身基本不擁有系統(tǒng)資源,但可以訪(fǎng)問(wèn)隸屬進(jìn)程的資源。(4 )系統(tǒng)開(kāi)銷(xiāo)。操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)付出的開(kāi)銷(xiāo)顯著大于線(xiàn)程。39.為了在多線(xiàn)程O(píng)S中實(shí)現(xiàn)進(jìn)程之間的同步與通信,通常提供了哪幾種同步機(jī)制?答:同步功能可以控制程序流并訪(fǎng)問(wèn)共享數(shù)據(jù),從而并發(fā)執(zhí)行多個(gè)線(xiàn)程。共有四種同步模型:互斥鎖、讀寫(xiě)鎖、條件變量和信號(hào)。40 .用于實(shí)現(xiàn)線(xiàn)程同步的私用信號(hào)量和公用信號(hào)量之間有何差別?答:(1 )私用信號(hào)量。當(dāng)某線(xiàn)程需利用信號(hào)量實(shí)現(xiàn)同一進(jìn)程中各線(xiàn)程之間的同步時(shí),可調(diào)用創(chuàng)建信號(hào)量的命令來(lái)創(chuàng)建一個(gè)私用信號(hào)量,其數(shù)據(jù)結(jié)構(gòu)存放在應(yīng)用程序的地址空間中。(2 )公用信號(hào)量

44、。公用信號(hào)量是為實(shí)現(xiàn)不同進(jìn)程間或不同進(jìn)程中各線(xiàn)程之間的同步而設(shè)置的。其數(shù)據(jù)結(jié)構(gòu)是存放在受保護(hù)的系統(tǒng)存儲(chǔ)區(qū)中,由OS為它分配空間并進(jìn)行管理。41 .何謂用戶(hù)級(jí)線(xiàn)程和內(nèi)核支持線(xiàn)程?(1 )用戶(hù)級(jí)線(xiàn)程:僅存在于用戶(hù)空間中的線(xiàn)程,無(wú)須內(nèi)核支持。這種線(xiàn)程的創(chuàng)建、撤銷(xiāo)、線(xiàn)程間的同步與通信等功能,都無(wú)需利用系統(tǒng)調(diào)用實(shí)現(xiàn)。用戶(hù)級(jí)線(xiàn)程的切換通常發(fā)生在一個(gè)應(yīng)用進(jìn)程的諸多線(xiàn)程之間,同樣無(wú)需內(nèi)核支持。(2 )內(nèi)核支持線(xiàn)程:在內(nèi)核支持下運(yùn)行的線(xiàn)程。無(wú)論是用戶(hù)進(jìn)程中的線(xiàn)程,還是系統(tǒng)線(xiàn)程中的線(xiàn)程,其創(chuàng)建、撤銷(xiāo)和切換等都是依靠?jī)?nèi)核,在內(nèi)核空間中實(shí)現(xiàn)的。在內(nèi)核空間里還為每個(gè)內(nèi)核支持線(xiàn)程設(shè)置了線(xiàn)程控制塊,內(nèi)核根據(jù)該控制塊感知某線(xiàn)

45、程的存在并實(shí)施控制。42 .試說(shuō)明用戶(hù)級(jí)線(xiàn)程的實(shí)現(xiàn)方法。答:用戶(hù)級(jí)線(xiàn)程是在用戶(hù)空間中的實(shí)現(xiàn)的,運(yùn)行在運(yùn)行時(shí)系統(tǒng)”與內(nèi)核控制線(xiàn)程”的中間系統(tǒng)上。運(yùn)行時(shí)系統(tǒng)用于管理和控制線(xiàn)程的函數(shù)的集合。內(nèi)核控制線(xiàn)程或輕型進(jìn)程LWP可通過(guò)系統(tǒng)調(diào)用獲得內(nèi)核提供服務(wù),利用LWP進(jìn)程作為中間系統(tǒng)。43 .試說(shuō)明內(nèi)核支持線(xiàn)程的實(shí)現(xiàn)方法。答:系統(tǒng)在創(chuàng)建新進(jìn)程時(shí),分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA ,其中包括若干個(gè)線(xiàn)程控制塊 TCB 空間。創(chuàng)建一個(gè)線(xiàn)程分配一個(gè) TCB ,有關(guān)信息寫(xiě)入 TCB,為之分配必要的資源。當(dāng) PTDA中的 TCB用完,而進(jìn)程又有新線(xiàn)程時(shí),只要所創(chuàng)建的線(xiàn)程數(shù)目未超過(guò)系統(tǒng)允許值,系統(tǒng)可在為之分配新的TCB ;在撤

46、銷(xiāo)一個(gè)線(xiàn)程時(shí),也應(yīng)回收線(xiàn)程的所有資源和TCB。第三章第三章處理機(jī)調(diào)度與死鎖1. 高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?答:高級(jí)調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊(duì)列中的那些作業(yè)調(diào)入內(nèi)存。低級(jí)調(diào)度是保存處理機(jī)的現(xiàn)場(chǎng)信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)程。引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外存狀態(tài)或掛起狀態(tài)。2. 何謂作業(yè)、作業(yè)步和作業(yè)流?答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說(shuō)明書(shū)。系統(tǒng)根據(jù)該說(shuō)明書(shū)對(duì)程序的運(yùn)行進(jìn)行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從

47、外存調(diào)入內(nèi)存。作業(yè)步是指每個(gè)作業(yè)運(yùn)行期間都必須經(jīng)過(guò)若干個(gè)相對(duì)獨(dú)立相互關(guān)聯(lián)的順序加工的步驟。作業(yè)流是指若干個(gè)作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個(gè)作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流。3. 在什么情況下需要使用作業(yè)控制塊JCB ?其中包含了哪些內(nèi)容?答:每當(dāng)作業(yè)進(jìn)入系統(tǒng)時(shí),系統(tǒng)便為每個(gè)作業(yè)建立一個(gè)作業(yè)控制塊JCB,根據(jù)作業(yè)類(lèi)型將它插入到相應(yīng)的后備隊(duì)列中。JCB包含的內(nèi)容通常有:1) 作業(yè)標(biāo)識(shí)2)用戶(hù)名稱(chēng)3)用戶(hù)賬戶(hù)4)作業(yè)類(lèi)型(CPU繁忙型、I/O 芳名型、批量型、終端型)5)作業(yè)狀態(tài)6)調(diào)度信息(優(yōu)先級(jí)、作業(yè)已運(yùn)行)7)資源要求8)進(jìn)入系統(tǒng)時(shí)間 9)開(kāi)始處理時(shí)間

48、 10)作業(yè)完成時(shí)間11)作業(yè)退出時(shí)間12)資源使用情況等4. 在作業(yè)調(diào)度中應(yīng)如何確定接納多少個(gè)作業(yè)和接納哪些作業(yè)?答:作業(yè)調(diào)度每次接納進(jìn)入內(nèi)存的作業(yè)數(shù),取決于多道程序度。應(yīng)將哪些作業(yè)從外存調(diào)入內(nèi)存,取決于采用的調(diào)度算法。最簡(jiǎn)單的是先來(lái)服務(wù)調(diào)度算法,較常用的是短作業(yè)優(yōu)先調(diào)度算法和基于作業(yè)優(yōu)先級(jí)的調(diào)度算法。5. 試說(shuō)明低級(jí)調(diào)度的主要功能。答:(1 )保存處理機(jī)的現(xiàn)場(chǎng)信息(2)按某種算法選取進(jìn)程(3)把處理機(jī)分配給進(jìn)程。6. 在搶占調(diào)度方式中,搶占的原則是什么?答:搶占的原則有:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先權(quán)原則等。7. 在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?答:(1 )面向用戶(hù)的

49、準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)則。(2 )面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類(lèi)資源的平衡利用。8. 在批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法?答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、 優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、 多級(jí)反饋隊(duì)列調(diào)度算法。分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法。實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法。9. 何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?答:靜態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個(gè)運(yùn)行期間保持不變的優(yōu)先級(jí)。動(dòng)態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)間

50、增加而改變的優(yōu)先級(jí),可以獲得更好的調(diào)度性能。確定進(jìn)程優(yōu)先級(jí)的依據(jù):進(jìn)程類(lèi)型、進(jìn)程對(duì)資源的需求和用戶(hù)要求。10 .試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度。不同點(diǎn):FCFS調(diào)度算法每次都從后備隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存、分配資源、創(chuàng)建進(jìn)程、插入到就緒隊(duì)列。該算法有利于長(zhǎng)作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF算法每次調(diào)度都從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長(zhǎng)作業(yè) /進(jìn)程。11 .在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?答:時(shí)間片應(yīng)略大于一次典型的交互

51、需要的時(shí)間。一般應(yīng)考慮三個(gè)因素:系統(tǒng)對(duì)相應(yīng)時(shí)間的要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力。12 .通過(guò)一個(gè)例子來(lái)說(shuō)明通常的優(yōu)先級(jí)調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開(kāi)始截止時(shí)間和任務(wù)緊急/松弛程度的任務(wù)優(yōu)先級(jí)調(diào)度算法,通常的優(yōu)先級(jí)調(diào)度算法不能滿(mǎn)足實(shí)時(shí)系統(tǒng)的調(diào)度實(shí)時(shí)性要求而不適用。13 .為什么說(shuō)多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿(mǎn)足各方面用戶(hù)的需求?答:(1 )終端型作業(yè)用戶(hù)提交的作業(yè)大多屬于較小的交互型作業(yè),系統(tǒng)只要使這些作業(yè)在第一隊(duì)列規(guī)定的時(shí)間片內(nèi)完成,終端作業(yè)用戶(hù)就會(huì)感到滿(mǎn)足。(2 )短批處理作業(yè)用戶(hù),開(kāi)始時(shí)像終端型作業(yè)一樣,如果在第一隊(duì)列中執(zhí)行一個(gè)時(shí)間片

52、段即可完成, 便可獲得與終端作業(yè)一樣的響應(yīng)時(shí)間。對(duì)于稍長(zhǎng)作業(yè),通常只需在第二和第三隊(duì)列各執(zhí)行一時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然較短。(3 )長(zhǎng)批處理作業(yè),它將依次在第1 , 2 , , n個(gè)隊(duì)列中運(yùn)行,然后再按輪轉(zhuǎn)方式運(yùn)行,用戶(hù)不必?fù)?dān)心其作業(yè)長(zhǎng)期得不到處理。所以,多級(jí)反饋隊(duì)列調(diào)度算法能滿(mǎn)足多用戶(hù)需求。14 .為什么在實(shí)時(shí)系統(tǒng)中,要求系統(tǒng)(尤其是CPU )具有較強(qiáng)的處理能力?答:實(shí)時(shí)系統(tǒng)中通常有著多個(gè)實(shí)時(shí)任務(wù)。若處理機(jī)的處理能力不夠強(qiáng),有可能因?yàn)樘幚頇C(jī)忙不過(guò)來(lái)而使某些實(shí)時(shí)任務(wù)得不到及時(shí)處理,導(dǎo)致發(fā)生難以預(yù)料的后果。15 .按照調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?答:可分為非搶占式和搶占式兩種算法。

53、而非搶占式算法又分為非搶占式輪轉(zhuǎn)和優(yōu)先調(diào)度算法;搶占式調(diào)度算法又分為基于時(shí)鐘中斷的搶占式優(yōu)先權(quán)和立即搶占式優(yōu)先權(quán)調(diào)度算法。16 .什么是最早截止時(shí)間優(yōu)先調(diào)度算法?舉例說(shuō)明。答:根據(jù)任務(wù)的開(kāi)始截止時(shí)間確定的任務(wù)優(yōu)先級(jí)調(diào)度算法。截止時(shí)間越早則優(yōu)先級(jí)越高。該算法要求在系統(tǒng)中保持一個(gè)實(shí)時(shí)任務(wù)就緒隊(duì)列,該隊(duì)列按各任務(wù)截止時(shí)間的先后排序。舉例:非搶占式調(diào)度方式用于非周期實(shí)時(shí)任務(wù)。圖3-9是將該算法用于非搶占調(diào)度方式之例。該例中具有四個(gè)非周期任務(wù),它們先后到達(dá)。系統(tǒng)首先調(diào)度任務(wù)1執(zhí)行,在任務(wù) 1執(zhí)行期間,任務(wù) 2、3又先后到達(dá)。由于任務(wù) 3的開(kāi)始截止時(shí)間早于任務(wù) 2,故系統(tǒng)在任務(wù) 1后將 調(diào)度任務(wù)3執(zhí)行。在

54、此期間又到達(dá)作業(yè)4,其開(kāi)始截止時(shí)間仍是早于任務(wù)2的,故在任務(wù) 3執(zhí)行完后,系統(tǒng)又調(diào)度任務(wù)4執(zhí)行,最后才調(diào)度任務(wù) 2執(zhí)行。圖3-9 EDF 算法用于非搶占調(diào)度的調(diào)度方式17 .什么是最低松弛度優(yōu)先調(diào)度算法?舉例說(shuō)明之。答:該算法是根據(jù)任務(wù)緊急(或松弛)的程度,來(lái)確定任務(wù)的優(yōu)先級(jí)。任務(wù)的緊急程度愈高,為該任務(wù)所賦予的優(yōu)先級(jí)就愈高,以使之優(yōu)先執(zhí)行。例如,一個(gè)任務(wù)在200 ms 時(shí)必須完成,而它本身所需的運(yùn)行時(shí)間就有100 ms ,因此,調(diào)度程序必須在100 ms 之前調(diào)度執(zhí)行,該任務(wù)的緊急程度(松弛程度)為100 ms。又如,另一任務(wù)在400 ms 時(shí)必須完成,它本身需要運(yùn)行 150 ms,則其松弛程度為250 ms。18 .何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?答:死鎖是指多個(gè)進(jìn)程在運(yùn)行過(guò)程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵持狀態(tài)時(shí),若無(wú)外力作用,它們都將無(wú)法再向前推進(jìn)。產(chǎn)生死鎖的原因?yàn)?/p>

溫馨提示

  • 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)論