版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《計(jì)算機(jī)操作系統(tǒng)》課后習(xí)題答案
注:課本為《計(jì)算機(jī)操作系統(tǒng)(第四版)》,湯小丹梁紅兵哲鳳屏湯子瀛編
著,
西安電子科技大學(xué)出版社出版
第一章
1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?
答:⑴有效性⑵方便性⑶可擴(kuò)充性(4)開(kāi)放性
2.OS的作用可表現(xiàn)在哪幾個(gè)方面?
答:⑴OS作為用戶(hù)與計(jì)算機(jī)硬件系統(tǒng)之間的接口
⑵OS作為計(jì)算機(jī)系統(tǒng)資源的管理者
⑶OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象
3.為什么說(shuō)。故現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?
答:OS首先在裸機(jī)上覆蓋一層I/。設(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ī)資源的抽象。
4.試說(shuō)明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>
答:主要?jiǎng)恿?lái)源于四個(gè)方面的社會(huì)需求與技術(shù)發(fā)展:
⑴不斷提高計(jì)算機(jī)資源的利用率;
⑵方便用戶(hù);
⑶器件的不斷更新?lián)Q代;
(4)計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展。
5.何謂脫機(jī)I/O和聯(lián)機(jī)DO?
答:月-機(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)恿κ鞘裁矗?/p>
答:推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ歉?地滿(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í)間
片,允許作業(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位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?
答:?jiǎn)斡脩?hù)單任務(wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.
11.試列出WindowsOS中五個(gè)主要版本,并說(shuō)明它們分別較之前一個(gè)版本有何改
進(jìn)。
答:
(1)MicrosoftWindowsl.O是微軟公司在個(gè)人電腦上開(kāi)發(fā)圖形界面的首次嘗試。
⑵Windows95是混合的16位/32位系統(tǒng),第一個(gè)支持32位。帶來(lái)了更強(qiáng)大、更
穩(wěn)
定、更實(shí)用的桌面圖形用戶(hù)界面,結(jié)束了桌面操作系統(tǒng)間的競(jìng)爭(zhēng)。
(3)Windows98是微軟公司的混合16位/32位Windows操作系統(tǒng),改良了硬件標(biāo)準(zhǔn)
的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng)。
(4)WindowsXP是基于Windows2000的產(chǎn)品,擁有新用戶(hù)圖形界面月神Luna。簡(jiǎn)
化了用戶(hù)安全特性,整合了防火墻。
(5)WindowsVista包含/上百種新功能;特別是新版圖形用戶(hù)界面和WindowsAero
全新界面風(fēng)格、加弓11的搜尋功能(WindowsIndexingService)、新媒體創(chuàng)作工具以及
重新設(shè)計(jì)的網(wǎng)絡(luò)、音頻、輸出(打印)和顯示子系統(tǒng)。。
12.試從交互性、及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。
答:⑴及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類(lèi)似,都是以人所
能接受的等待時(shí)間來(lái)確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對(duì)象所要求的開(kāi)
始截止時(shí)間或完成截止時(shí)間來(lái)確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100
微妙。
⑵交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪(fǎng)問(wèn)系統(tǒng)中
某
些特定的專(zhuān)用服務(wù)程序。不像分時(shí)系統(tǒng)那樣能向終端用戶(hù)提供數(shù)據(jù)和資源共享等
服務(wù)。
⑶可靠性:分時(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ī)管理有哪些主要功能?它們的主要任務(wù)是什么?
答:處理機(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)度:
⑴作業(yè)調(diào)度。從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所
需
的資源(首選是分配內(nèi)存)。
⑵進(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ù)是什么?
北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系3/48
《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著3/48
答:內(nèi)存管理的主要功能有:內(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è)備等。
主要任務(wù):完成用戶(hù)提出的I/O請(qǐng)求,為用戶(hù)分配I/O設(shè)備;提高CPU和DO設(shè)
備的利用率;提高I/O速度;以及方便用戶(hù)使用I/O設(shè)備.
17.文件管理有哪些主要功能?其主要任務(wù)是什么?
答:文件管理主要功能:文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫(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è)決定必
須建立在上一個(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ú)序變有序,引入有序分層法。
20.在微內(nèi)核OS中,為什么要采用客戶(hù)/服務(wù)器模式?
答:C/S模式具有獨(dú)特的優(yōu)點(diǎn):⑴數(shù)據(jù)的分布處理和存儲(chǔ)。⑵便于集中管理。⑶靈
活性和可擴(kuò)充性0⑷易于改編應(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ù)?
答:在基于微內(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.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(PrecedenceGraph)是~■個(gè)有向無(wú)循環(huán)圖,記為DAG(DirectedAcyclicGraph),
用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。
2.畫(huà)出下面四條語(yǔ)句的前趨圖
Sl=a:=x+y;S2=b:=z+l;S3=c:=a-b;S4=w:=c+l;
答:其前趨圖為:
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è)程序改
變,致使程序運(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)程和程序?
答:⑴動(dòng)態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得
不到資源
而暫停執(zhí)行,由撤銷(xiāo)而消亡。進(jìn)程有一定的生命期,而程序只是一組有序的指令
集合,是靜
態(tài)實(shí)體。⑵并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS的重要特征。引入進(jìn)程的目的
正是為了使
其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。
⑶獨(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)換的典型原因。
答:⑴就緒狀態(tài)一執(zhí)行狀態(tài):進(jìn)程分配到CPU八源
⑵執(zhí)行狀態(tài)一就緒狀態(tài):時(shí)間片用完
⑶執(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)信息有:
⑴進(jìn)程當(dāng)前暫存信息
⑵下一指令地址信息
⑶進(jìn)程狀態(tài)信息
(4)過(guò)程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息。
11.試說(shuō)明引起進(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)程終止)。
13.在創(chuàng)建一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?
答:
⑴OS發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語(yǔ)Creato;
⑵申請(qǐng)空白PCB
⑶為新進(jìn)程分配資源;
(4)初始化進(jìn)程控制塊;
⑸將新進(jìn)程插入就緒隊(duì)列.
14.在撤銷(xiāo)一個(gè)進(jìn)程時(shí)所要完成的主要工作是什么?
答:
⑴根據(jù)被終止進(jìn)程標(biāo)識(shí)符,從PCB集中檢索出進(jìn)程PCB讀出該進(jìn)程狀態(tài)。
⑵若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,置調(diào)度標(biāo)志真,指示該
進(jìn)程被
終止后重新調(diào)度。
⑶若該進(jìn)程還有子進(jìn)程,應(yīng)將所有子孫進(jìn)程終止,以防它們成為不可控進(jìn)程。
(4)將被終止進(jìn)程擁有的全部資源,歸還給父進(jìn)程,或歸還給系統(tǒng)。
⑸將被終止進(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ō)明之。
答:
⑴間接相互制約關(guān)系。舉例:有兩進(jìn)程A和B,如果A提出打印請(qǐng)求,系統(tǒng)已把唯
一的
一臺(tái)打印機(jī)分配給了進(jìn)程B,則進(jìn)程A只能阻塞;一旦B釋放打印機(jī),A才由阻塞
改為就
緒。
⑵直接相互制約關(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ù)
取走后便喚醒Ao
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)程便可進(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)這一功能的代碼為〃
北京石油化工學(xué)院信息工程學(xué)院計(jì)算機(jī)系6/48
《計(jì)算機(jī)操作系統(tǒng)》習(xí)題參考答案余有明與計(jì)07和計(jì)G09的同學(xué)們編著6/48
進(jìn)入?yún)^(qū)〃代碼;
在退出臨界區(qū)后,必須執(zhí)行〃退出區(qū)”代碼,用于恢復(fù)未被訪(fǎng)問(wèn)標(biāo)志,使其它進(jìn)程
能再坊問(wèn)此
臨界資源。
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.val吟0時(shí),表示目前系統(tǒng)中這類(lèi)資源還有可用的。執(zhí)行一次wait
操
作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類(lèi)資源,使系統(tǒng)中可供分配的該類(lèi)資源減少一
個(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.L中。
signal(S):執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分
配的該類(lèi)資源數(shù)增加一個(gè),故執(zhí)行S.valuekS.vakie+1操作。若加1后S.vakie<0,則表
示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup原語(yǔ),
將S.L
鏈表中的第一個(gè)等待進(jìn)程喚醒。
20.你認(rèn)為整型信號(hào)量機(jī)制是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?
答:整型信號(hào)量機(jī)制不完全遵循同步機(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)和signal(mutex)操作
之間即可。這樣,每個(gè)欲訪(fǎng)問(wèn)該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對(duì)mutex
執(zhí)行
wail操作,若該資源此刻未被訪(fǎng)問(wèn),本次wait操作必然成功,進(jìn)程便可進(jìn)入自己的
臨界
區(qū),
這時(shí)若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時(shí)由于對(duì)mutex執(zhí)行wait操作定會(huì)
失敗,
因而該進(jìn)程阻塞,從而保證了該臨界資源能被互斥訪(fǎng)問(wèn)。當(dāng)訪(fǎng)問(wèn)臨界資源的進(jìn)程
退出臨界區(qū)
后,應(yīng)對(duì)mutex執(zhí)彳Tsignal操作,釋放該臨界資源。利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)
程描述
如下:
Varmutex:semaphore:=l;
begin
parbegin
process1:begin
repeat
wait(mutex);
criticalsection
signal(mutex);
remainderseetion
untilfalse;
end
process2:begin
repeat
wait(mutex);
criticalsection
signal(mutex);
remaindersection
untilfalse;
end
parend
22.試寫(xiě)出相應(yīng)的程序來(lái)描述圖2.17所示的前驅(qū)圖。
23(a)Vara,b,c,d,e,f,g,h;semaphore:=0,0,0,0,0,0,0,0;
begin
parbegin
beginS1;signal(a);signal(b);end;
beginwait(a);S2;signal(c);signal(d);end;
beginwait(b);S3;signal(e);end;
beginwait(c);S4;signal(f);end;
beginwait(d);S5;signal(g);end;
begin\vait(e);S6;signal(h);end;
beginwait(f);wait(g);wait(h);S7;end;
parend
end
(b)Vara,b,c,d,e,f,g,h,i,j;semaphoresO,0,0,0,0,0,0,0,0,0;
begin
parbegin
beginS1;signal(a);signal(b);end;
beginwait(a);S2;signal(c);signal(d);end;
beginwait(b);S3;signal(e);signal(f);end;
beginwait(c);S4;signal(g);end;
beginwait(d);S5;signal(h);end;
beginwait(e);S6;signal(i);end;
beginwait(f);S7;signal(j);end;
beginwait(g);wait(h);wait(i);wait(j);S8;end;parend
end
23.在生產(chǎn)者消費(fèi)者問(wèn)題中,如果缺少了signal(full)或signal(empty),對(duì)執(zhí)行結(jié)果有何
影響?
答:
如果缺少signal(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)。
如果缺少signaKempty),在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿(mǎn)產(chǎn)品后消費(fèi)者進(jìn)程才開(kāi)始從
中取產(chǎn)品,這時(shí)emply=0,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品emply值并不改變,
直到緩沖池取空了,emply值也是0,即使目前緩沖池有n個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程
要想再往緩沖池中投放產(chǎn)品也會(huì)因?yàn)樯暾?qǐng)不到空緩沖區(qū)被阻塞。
24.在生產(chǎn)消費(fèi)者問(wèn)題中,如果將兩個(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í)行signal(empty)來(lái)喚醒自己,在
此之前,
它不可能執(zhí)行signal(mutex)操作,從而使試圖通過(guò)執(zhí)行wait(mutex)操作而進(jìn)入自己的
臨
界區(qū)的其他牛產(chǎn)者和所有消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖.
若signal(mutex)和signal(full)互換位置后只是影響進(jìn)程對(duì)臨界資源的釋放次序,而
不會(huì)引起系統(tǒng)死鎖,因此可以互換位置。
25.我們?cè)跒槟骋慌R界資源設(shè)置一把鎖/當(dāng)W=1時(shí)表示關(guān)鎖,當(dāng)W=0寸表示鎖已
打開(kāi)。
試寫(xiě)出開(kāi)鎖和關(guān)鎖的原語(yǔ),并利用他們實(shí)現(xiàn)互斥。
答:整型彳f號(hào)量:lock(W):whileW=Idono-op
W:=l;
unlock(W):W:=0;
記錄型信號(hào)量:lock(W):W:=W+l;
if(W>l)thenblock(W,L)
unlock(W):W:=W-l;
if(W>O)thenwakeup(W,L)
例子:
VarW:semaphore:=0;beginrepeatlock(W);
criticalsection
unlock(W);
remaindersection
untilfalse;
end
26.試修改下面生產(chǎn)者-消費(fèi)者問(wèn)題解法中的錯(cuò)誤
答:producer:
begin
repeatproduceraniteminnextp;
wait(mutex);
wait(fuH);/*應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面*/buffer(in):二nextp;
/*緩沖池?cái)?shù)組防I標(biāo)應(yīng)前移:in:=(in+l)modn;*/
signal(mulex);
/*signal(full);*/
untilfalse;
end
consumer:
begin
repeat
wait(mutex);
wait(empty);/*應(yīng)為wait(fuH),而且還應(yīng)該在wait(mutex)的前面*/
nextc:=buffer(out);
out:=out+l;/*考慮循環(huán),應(yīng)改為:out:=(out+1)modn;*/
signal(mutex);/*signal(empty);*/
consumeriteminnextc;
untilfalse;
end
27.試?yán)糜涗浶托盘?hào)量寫(xiě)出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法
答:Varchopstick:array[0,,?,,4]ofsemaphore;
所有信號(hào)量均被初始化為1,第i位哲學(xué)家的活動(dòng)可描述為:
Repeal
Wait(chopstick[i]);
Wait(.chopstick[(i+l)mod5]);
Ea.t;
Signal(chopstick[i]);
Signal(chopstick[(i+1)mod5])
Ea.t;
Think;
Untilfalse;
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.Varmutex,empty.full:semaphore:=1,1,0;
gather:
begin
repeatgatherdalainnextp;
wait(empty);
wait(mutex);
buffer:=nextp;
signal(mutex);
signal(full);
untilfalse;
end
compute:
begin
repeatwait(tull);
wait(mutex);
nextc:=buffer;
signal(mutex);
signal(empty);
computedatainnextc;
untilfalse;
end
b.Varempty,full:semaphores1,0;
gather:
begin
repeatgatherdatainnextp;
wait(empty);
buffer:=nextp;
signal(full);
untilfalse;
end
compute:
begin
repeatwait(full);
nextc:=buffer;
signal(empty);
computedatainnextc;
untilfalse;
end
29.畫(huà)圖說(shuō)明管程由哪幾部分組成,為什么要引入條件變量?
答:管程由四部分組成:①管程的名稱(chēng);②局部于管程內(nèi)部的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明;
③對(duì)該數(shù)
據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;④對(duì)局部于管程內(nèi)部的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句;
當(dāng)一個(gè)進(jìn)程調(diào)用了管程,在管程中時(shí)被阻塞或掛起,直到阻塞或掛起的原因解除,
而在此期
間,如果該進(jìn)程不釋放管程,則其它進(jìn)程無(wú)法進(jìn)入管程,被迫長(zhǎng)時(shí)間地等待。為
了解決這個(gè)
問(wèn)題,引入了條件變量condition£
30.如何利用管程來(lái)解決生產(chǎn)者與消費(fèi)者問(wèn)題?
答;首先建立一'個(gè)管程,命名為ProcluccrConsumcr,包括兩個(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)count<0時(shí),
表示緩沖池中已無(wú)可取的產(chǎn)品,消費(fèi)者應(yīng)等待。
PC管程可描述如下:
typeproducer-consumer=monitor
Varin,out,count:integer;
buffer:array[0,???,n-1]ofitem;
notfull,notempty:condition;
procedureentrydot(item)
begin
ifcount>=nthennotfull.wait;
buffer(in):=nextp;
in:=(in+l)modn;
count:=count+l;
ifnotempty.queuethennotempty.signal;
end
procedureentryget(item)
begin
ifcounl<=Othennolfull.wait;
nextc:=buffer(out);
out:=(out+l)modn;
count:=count-l;
ifnotfull.quenethennotfull.signal;
end
beginin:=out:=0;
count:=0
end
在利用管程解決生產(chǎn)者一消費(fèi)者問(wèn)題時(shí),其中的生產(chǎn)者和消費(fèi)者可描述為:
producer:begin
pepeat
produceanineminnestp
PC.put(item);
untilfalse;
end
consumer:beginrepeatPC.get(item);
consumetheiteminenxtc;
untilfalse;
end
31.什么是AND言號(hào)量?試?yán)肁ND言號(hào)量寫(xiě)出生產(chǎn)者一消費(fèi)者問(wèn)題的解法。
答:為解決并行帶來(lái)的死鎖問(wèn)題,在wail操作中引入AND條件,其基本思想是將
進(jìn)程在整個(gè)運(yùn)行過(guò)程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完
后一次性釋放。
解決生產(chǎn)者-消費(fèi)者問(wèn)題可描述如下:
varmutex,empty,full:semaphore:=l,n,O;
buffer:array[O,...,n-l]ofitem;
in,out:integer:=0,0;
begin
parbegin
producer:begin
repeat
???
produceaniteminnextp;
wait(empty);
wait(sl,s2,s3,...,sn);//s1,s2,...,sn為執(zhí)行生產(chǎn)者進(jìn)程除empty外其余的條件
wait(mutex);
buffer(in):=nextp;
in;=(in+l)niodn;
signal(mutex);
signal(full);
signals1,s2,s3,...,sn);
untilfalse;
endconsumer:begin
repeat
wait(full);
wait(kl,k2,k3,...,kn);//kl,k2,...,kn為執(zhí)行消費(fèi)者進(jìn)程除full外其余的條件
wait(mutcx);
nextc:=buffer(out);
out:=(out+l)modn;
signal(mutex);
signal(empty);
signaKk1,k2,k3,...,kn);
consumetheiteminnextc;
untilfalse;
endparendend
32.什么是信號(hào)量集?試?yán)眯盘?hào)量集寫(xiě)出讀者一寫(xiě)者問(wèn)題的解法。
答:對(duì)AND言號(hào)量加以擴(kuò)充,形成的信號(hào)量集合的讀寫(xiě)機(jī)制。
解法:VarRNinteger;
L,mx:semaphore:=RN,1;
beginparbeginreader:begin
repeal
Swait(LJJ);
Swait(mx,l,l);
perfbrmreadoperation;
???
Ssignal(L,l);
untilfalseendwriter:beginrepeat
Swait(mx,l,l;L,RN,0);
performwriteoperation;
Ssignal(mx,l);
untilfalseend
parendend
33.試比較進(jìn)程間的低級(jí)與高級(jí)通信工具。
答:用戶(hù)用低級(jí)通信
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球氟化鋰蒸發(fā)材料行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球針織翻邊毛線(xiàn)帽行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)智慧生態(tài)解決方案行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球全自動(dòng)小袋拆包機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 無(wú)人機(jī)技術(shù)研發(fā)項(xiàng)目合同
- 2025上海市房屋買(mǎi)賣(mài)合同書(shū)(簡(jiǎn)易范本)
- 產(chǎn)品銷(xiāo)售代理合同
- 購(gòu)銷(xiāo)校服合同范本
- 倉(cāng)儲(chǔ)服務(wù)定金合同模板
- 2025合同模板化妝品采購(gòu)合同范本
- 2024年小升初語(yǔ)文入學(xué)分班測(cè)試卷四(統(tǒng)編版)
- 流行文化對(duì)青少年價(jià)值觀(guān)的影響研究
- 中國(guó)保險(xiǎn)行業(yè)協(xié)會(huì)官方-2023年度商業(yè)健康保險(xiǎn)經(jīng)營(yíng)數(shù)據(jù)分析報(bào)告-2024年3月
- 設(shè)計(jì)質(zhì)量管理和保證措施及設(shè)計(jì)質(zhì)量管理和質(zhì)量保證措施
- 2024電力系統(tǒng)安全規(guī)定
- 小學(xué)二年級(jí)語(yǔ)文上冊(cè)閱讀理解專(zhuān)項(xiàng)訓(xùn)練20篇(含答案)
- 科技論文圖表等規(guī)范表達(dá)
- 高考寫(xiě)作指導(dǎo)議論文標(biāo)準(zhǔn)語(yǔ)段寫(xiě)作課件32張
- 2021年普通高等學(xué)校招生全國(guó)英語(yǔ)統(tǒng)一考試模擬演練八省聯(lián)考解析
- 華能火力發(fā)電機(jī)組節(jié)能降耗技術(shù)導(dǎo)則(2023年版)
- 基礎(chǔ)知識(shí)3500個(gè)常用漢字附拼音
評(píng)論
0/150
提交評(píng)論