




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)OS課后習(xí)題答案(湯小丹著第三版)前五操作系統(tǒng)引論1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?方便性,有效性,可擴(kuò)充性和開放性.2.OS的作用可表現(xiàn)為哪幾個(gè)方面?OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口;OS作為計(jì)算機(jī)系統(tǒng)資源的管理者;c.OS作為擴(kuò)充機(jī)器.3?為什么說OS實(shí)現(xiàn)了計(jì)算機(jī)資源的抽象?P3-4(略)試說明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?不斷提高計(jì)算機(jī)資源利用率和系統(tǒng)吞吐量的需要;何謂脫機(jī)I/O和聯(lián)機(jī)I/O?a.脫機(jī)輸入輸出方式(Off-LineI/O)是為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配而提出的.它減少了CPU的空閑等待時(shí)間,提高了I/O速度.具體內(nèi)容是將用戶程序和數(shù)據(jù)在一臺(tái)外圍機(jī)的控制下,預(yù)先從低速輸入設(shè)備輸入到磁帶上,當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),在直接從磁帶機(jī)高速輸入到內(nèi)存,從而大大加快了程序的輸入過程,減少了CPU等待輸入的時(shí)間,這就是脫機(jī)輸入技術(shù);當(dāng)程序運(yùn)行完畢或告一段落,CPU需要輸出時(shí),無需直接把計(jì)算結(jié)果送至低速輸出設(shè)備,而是高速把結(jié)果輸出到磁帶上,然后在外圍機(jī)的控制下,把磁帶上的計(jì)算結(jié)果由相應(yīng)的輸出設(shè)備輸出,這就是脫機(jī)輸出技術(shù)。b.若這種輸入輸出操作在主機(jī)控制下進(jìn)行則稱之為聯(lián)機(jī)輸入輸出方式.試說明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?用戶的需要.即對(duì)用戶來說,更好的滿足了人-機(jī)交互,共享主機(jī)以及便于用戶上機(jī)的需求.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?a.關(guān)鍵問題:及時(shí)接收,及時(shí)處理;b.對(duì)于及時(shí)接收,只需在系統(tǒng)中設(shè)置一多路卡,多路卡作用是使主機(jī)能同時(shí)接收用戶從各個(gè)終端上輸入的數(shù)據(jù);對(duì)于及時(shí)處理,應(yīng)使所有的用戶作業(yè)都直接進(jìn)入內(nèi)存,在不長的時(shí)間內(nèi),能使每個(gè)作業(yè)都運(yùn)行一次.清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答為什么要引入實(shí)時(shí)操作系統(tǒng)?更好地滿足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說明。P12在8位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?CP/M和MS-DOS11.試列出WindowsOS中五個(gè)主要版本,并說明它們分別較前一個(gè)版本有何改進(jìn)。P1312.試從交互性,及時(shí)性和可靠性方面,將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較.a.分時(shí)系統(tǒng)是一種通用系統(tǒng),主要用于運(yùn)行終端用戶程序,因而它具有較強(qiáng)的交互能力;而實(shí)時(shí)系統(tǒng)雖然也有交互能力,但其交互能力不及前者.實(shí)時(shí)信息系統(tǒng)對(duì)實(shí)用性的要求與分時(shí)系統(tǒng)類似,都是以人所能接收的等待時(shí)間來確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性則是以控制對(duì)象所要求的開始截止時(shí)間和完成截止時(shí)間來確定的.實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求要比分時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求高.13.OS具有哪幾大特征?它的最基本特征是什么?并發(fā)(Concurrence)共享(Sharing),虛擬(Virtual),異步性(Asynchronism).其中最基本特征是并發(fā)和共享.處理機(jī)管理具有哪些功能?它們的主要任務(wù)是什么?進(jìn)程控制,進(jìn)程同步,進(jìn)程通信和調(diào)度.進(jìn)程控制的主要任務(wù)是為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束的進(jìn)程,以及控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換.進(jìn)程同步的主要任務(wù)是對(duì)諸進(jìn)程的運(yùn)行進(jìn)行調(diào)節(jié).進(jìn)程通信的任務(wù)是實(shí)現(xiàn)在相互合作進(jìn)程之間的信息交換.調(diào)度分為作業(yè)調(diào)度和進(jìn)程調(diào)度.作業(yè)調(diào)度的基本任務(wù)是從后備隊(duì)列中按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配必要的資源;而進(jìn)程調(diào)度的任務(wù)是從進(jìn)程的就緒隊(duì)列中,按照一定的算法選出一新進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場,是進(jìn)程投入運(yùn)行.內(nèi)存管理有哪些主要功能?它們的主要任務(wù)是什么?a.主要功能:內(nèi)存分配,內(nèi)存保護(hù),地址映射和內(nèi)存擴(kuò)充等.b.內(nèi)存分配的主要任務(wù)是為每道程序分配內(nèi)存空間,提高存儲(chǔ)器利用率,以清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答減少不可用的內(nèi)存空間,允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長的需要.內(nèi)存保護(hù)的主要任務(wù)是確保每道用戶程序都在自己的內(nèi)存空間中運(yùn)行,互不干擾.地址映射的主要任務(wù)是將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)的物理地址.內(nèi)存擴(kuò)充的主要任務(wù)是借助虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?a.主要功能:緩沖管理,設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等.b.主要任務(wù):完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.文件管理有哪些主要功能?其主要任務(wù)是什么?a.主要功能:對(duì)文件存儲(chǔ)空間的管理,目錄管理,文件的讀,寫管理以及文件的共享和保護(hù).b.主要任務(wù):對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理,以方便用戶使用,并保證文件的安全性.是什么原因使操作系統(tǒng)具有異步性特征?a.程序執(zhí)行結(jié)果是不確定的,即程序是不可再現(xiàn)的.b.每個(gè)程序在何時(shí)執(zhí)行,多個(gè)程序間的執(zhí)行順序以及完成每道程序所需的時(shí)間都是不確定的,即不可預(yù)知性.模塊接口法存在哪些問題?可通過什么樣的途徑來解決?P25在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?P29試描述什么是微內(nèi)核OS。P29在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?客戶/服務(wù)器模式和面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?P30清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?P31-32補(bǔ)充題目:(湯子贏版)試說明實(shí)時(shí)任務(wù)的類型和實(shí)時(shí)系統(tǒng)的類型.a.實(shí)時(shí)任務(wù)的類型按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來劃分,分為周期性實(shí)時(shí)任務(wù)和非周期性實(shí)時(shí)任務(wù);根據(jù)對(duì)截止時(shí)間的要求來劃分,分為硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù);b.通常把要求進(jìn)行實(shí)時(shí)控制的系統(tǒng)統(tǒng)稱為實(shí)時(shí)控制系統(tǒng),把要求對(duì)信息進(jìn)行實(shí)時(shí)處理的系統(tǒng)成為實(shí)時(shí)信息處理系統(tǒng).實(shí)現(xiàn)多道程序應(yīng)解決哪些問題?a.處理機(jī)管理問題;b.內(nèi)存管理問題;c.I/O設(shè)備管理問題;文件管理問題;e.作業(yè)管理問題.試比較單道與多道批處理系統(tǒng)的特點(diǎn)及優(yōu)缺點(diǎn).單道批處理系統(tǒng)是最早出現(xiàn)的一種OS,它具有自動(dòng)性,順序性和單道性的特點(diǎn);多道批處理系統(tǒng)則具有調(diào)度性,無序性和多道性的特點(diǎn);單道批處理系統(tǒng)是在解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾中形成的,旨在提高系統(tǒng)資源利用率和系統(tǒng)吞吐量,但是仍然不能很好的利用系統(tǒng)資源;多道批處理系統(tǒng)是對(duì)單道批處理系統(tǒng)的改進(jìn),其主要優(yōu)點(diǎn)是資源利用率高,系統(tǒng)吞吐量大;缺點(diǎn)是平均周轉(zhuǎn)時(shí)間長,無交互能力.4.OS/2的主要功能是什么?a.多任務(wù).進(jìn)程管理.存儲(chǔ)器管理.文件管理.應(yīng)用程序接口API.表示管理.5.多處理機(jī)OS有哪幾種模式?各有何優(yōu)缺點(diǎn)?2種模式:非對(duì)稱多處理模式(AsymmetricMultiprocessingModel)和對(duì)稱多處理模式(SymmetricMultiprocesingModel).前者易于實(shí)現(xiàn),但資源利用率低.后者優(yōu)點(diǎn)是允許多個(gè)進(jìn)程同時(shí)運(yùn)行,缺點(diǎn)是必須小心控制I/O,以保證能將數(shù)據(jù)送至適當(dāng)?shù)奶幚砥鳎瑫r(shí)還必須注意使各CPU的負(fù)載平衡.6.試說明網(wǎng)絡(luò)OS的主要功能.網(wǎng)絡(luò)通信;資源管理;網(wǎng)絡(luò)服務(wù);網(wǎng)絡(luò)管理;互操作能力.7.試比較網(wǎng)絡(luò)OS和分布式OS.網(wǎng)絡(luò)OS是基于由一些互聯(lián)的自主計(jì)算機(jī)系統(tǒng)組成的計(jì)算機(jī)網(wǎng)絡(luò),以計(jì)算機(jī)技術(shù)和通信技術(shù)高度發(fā)展為基礎(chǔ),能實(shí)現(xiàn)相互通信和相互合作功能的系統(tǒng).分清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答布式OS是指多個(gè)分散的處理單元,經(jīng)互聯(lián)網(wǎng)絡(luò)連接而形成的系統(tǒng).在分布性上,兩者都具有分布處理功能,但網(wǎng)絡(luò)OS的控制功能大多集中在某個(gè)(些)主機(jī)或網(wǎng)絡(luò)服務(wù)器中,即集中式,而分布式OS則是較均勻地分布在系統(tǒng)的各個(gè)站點(diǎn)上,是完全分布式的.在并行性上,分布式OS的任務(wù)分配程序可將多個(gè)任務(wù)分配到多個(gè)處理單元上而實(shí)現(xiàn)并行,網(wǎng)絡(luò)OS中通常無任務(wù)分配功能,每個(gè)用戶的任務(wù)通常在自己(本地)的計(jì)算機(jī)上處理.在透明性上,兩者都具透明性,但網(wǎng)絡(luò)OS指在操作實(shí)現(xiàn)上的透明性,而分布式OS則在系統(tǒng)內(nèi)部的細(xì)節(jié)上實(shí)現(xiàn)了很好的隱藏,即具有物理上的透明性.在共享性上,分布式OS是比較完全的實(shí)現(xiàn)共享,而網(wǎng)絡(luò)OS共享的資源大多是絡(luò)服務(wù)器中.在健壯性上,分布式系統(tǒng)由于處理和控制功能是分布的,還擁有容錯(cuò)技術(shù)實(shí)現(xiàn)系統(tǒng)重構(gòu),因而具有很強(qiáng)的健壯性;而網(wǎng)絡(luò)OS的控制功能大多集中在主機(jī)或服務(wù)器中,是系統(tǒng)具有潛在的不可靠性,健壯性差.第二章進(jìn)程管理什么是前趨圖?為什么引入前趨圖?略試畫出下面4條語句的前趨圖:S1:a:=x+y;S2:b:=z+1;S3:c:=a-b;S4:w:=c+1;程序并發(fā)執(zhí)行為什么會(huì)產(chǎn)生間斷性?因?yàn)槌绦蛟诓l(fā)執(zhí)行過程中存在相互制約性.程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約的關(guān)系,從而也就使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性。程序并發(fā)執(zhí)行為何會(huì)失去封閉性和可再現(xiàn)性?因?yàn)槌绦虿l(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,資源狀態(tài)需要多個(gè)程序來改變,即存在資源共享性使程序失去封閉性;而失去了封閉性導(dǎo)致程序失去可再現(xiàn)性.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會(huì)產(chǎn)生什么樣的影響?為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對(duì)并發(fā)執(zhí)行的程序加以控制和描述,而引入了進(jìn)程概念.影響:使程序的并發(fā)執(zhí)行得以實(shí)行.清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答試從動(dòng)態(tài)性,并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?動(dòng)態(tài)性是進(jìn)程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及由撤銷而消亡,因而進(jìn)程由一定的生命期;而程序只是一組有序指令的集合,是靜態(tài)實(shí)體.并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS的重要特征.引入進(jìn)程的目的正是為了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的.c.獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位.而對(duì)于未建立任何進(jìn)程的程序,都不能作為一個(gè)獨(dú)立的單位參加運(yùn)行.7.試說明PCB的作用?為什么說PCB是進(jìn)程存在的唯一標(biāo)志?PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu).PCB中記錄了操作系統(tǒng)所需的用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的全部信息.因而它的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能和其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程.在進(jìn)程的整個(gè)生命周期中,系統(tǒng)總是通過其PCB對(duì)進(jìn)程進(jìn)行控制,系統(tǒng)是根據(jù)進(jìn)程的PCB而不是任何別的什么而感知到該進(jìn)程的存在的,所以說,PCB是進(jìn)程存在的唯一標(biāo)志.8.試說明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因.處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)后,該進(jìn)程便由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài).當(dāng)前進(jìn)程因發(fā)生某事件而無法執(zhí)行,如訪問已被占用的臨界資源,就會(huì)使進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài).當(dāng)前進(jìn)程因時(shí)間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài).9.為什么要引入掛起狀態(tài)?該狀態(tài)具有哪些性質(zhì)?a.引入掛起狀態(tài)處于5中需要:終端用戶的需要,父進(jìn)程的需要,操作系統(tǒng)的需要,對(duì)換的需要和負(fù)荷調(diào)節(jié)的需要.b.處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度.在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息主要有哪些?a.進(jìn)程當(dāng)前暫存信息;b.下一條指令地址信息;進(jìn)程狀態(tài)信息;過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息.試說明引起進(jìn)程創(chuàng)建的主要事件.a.用戶登陸;b.作業(yè)調(diào)度;c.提供服務(wù);清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答應(yīng)用請(qǐng)求.試說明引起進(jìn)程撤消的主要事件.a.正常結(jié)束;b.異常結(jié)束;c.外界干預(yù);在創(chuàng)建一個(gè)進(jìn)程時(shí),需完成的主要工作是什么?a.操作系統(tǒng)發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語Creat();b.申請(qǐng)空白PCB;為新進(jìn)程分配資源;初始化進(jìn)程控制塊;e.將新進(jìn)程插入就緒隊(duì)列.在撤消一個(gè)進(jìn)程時(shí),需完成的主要工作是什么?a.OS調(diào)用進(jìn)程終止原語;b.根據(jù)被終止進(jìn)程的標(biāo)志符,從PCB集合中檢索出該進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài);若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即中止該進(jìn)程的執(zhí)行,并設(shè)置調(diào)度標(biāo)志為真;若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子孫進(jìn)程予以終止;將該進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程,或者歸還給系統(tǒng);f.將被終止進(jìn)程(它的PCB)從所在隊(duì)列(或鏈表)中移出,等待其它程序來搜集信息.試說明引起進(jìn)程阻塞或被喚醒的主要事件是什么?a.請(qǐng)求系統(tǒng)服務(wù);b.啟動(dòng)某種操作;新數(shù)據(jù)尚未到達(dá);d.無新工作可做.進(jìn)程在運(yùn)行時(shí)存在哪兩種形式的制約?并舉例說明之。間接相互制約(源于資源共享)和直接相互制約(進(jìn)程間合作)為什么進(jìn)程在進(jìn)入臨界區(qū)之前,應(yīng)先執(zhí)行“進(jìn)入?yún)^(qū)"代碼,在退出臨界區(qū)后又執(zhí)行"退出區(qū)"代碼?為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問,必須在臨界區(qū)前面增加一段用于檢查欲訪問的臨界資源是否正被訪問的代碼,如果未被訪問,該進(jìn)程便可進(jìn)入臨界區(qū)對(duì)資源進(jìn)行訪問,并設(shè)置正被訪問標(biāo)志,如果正被訪問,則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼成為"進(jìn)入?yún)^(qū)"代碼;在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于恢復(fù)未被訪問標(biāo)志.清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?a.空閑讓進(jìn).b.忙則等待.有限等待.讓權(quán)等待.19.試從物理概念上來說明記錄型信號(hào)量和wait和signal。Wait(S):當(dāng)S.valueO時(shí),表示目前系統(tǒng)中這類資源還有可用的,執(zhí)行一次wait操作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類資源,是系統(tǒng)中可供分配的該類資源減少一個(gè),因此描述為S.value:二S.value-1;當(dāng)S.valueO時(shí),表示該類資源已分配完畢,因此進(jìn)程應(yīng)調(diào)用block原語,進(jìn)行自我阻塞,放棄處理機(jī),并插入到信號(hào)量鏈表S.L中。Signal(S):執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分配的該類資源數(shù)增加一個(gè),故執(zhí)行S.value:=S.value+1操作。若加1后S.valueW0,則表示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup原語,將S丄鏈表中的第一個(gè)等待進(jìn)程喚醒。你認(rèn)為整型信號(hào)量機(jī)制和記錄型信號(hào)量機(jī)制,是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?在整型信號(hào)量機(jī)制中,未遵循"讓權(quán)等待"的準(zhǔn)則.記錄型信號(hào)量機(jī)制完全遵循了同步機(jī)構(gòu)的"空閑讓進(jìn),忙則等待,有限等待,讓權(quán)等待"四條準(zhǔn)則.如何利用信號(hào)量機(jī)制來實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問?試舉例說明之。a.Vara,b,c,d,e,f,g,h;semaphore:=0,0,0,1,0,0,0,0;beginparbeginbeginS1;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;beginwait(e);S6;signal(h);end;beginwait(f);wait(g);wait(h);S7;end;parendend清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答23.在生產(chǎn)者一消費(fèi)者問題中,如果缺少了signal(full)或signal(empty),對(duì)執(zhí)行結(jié)果會(huì)有何影響?如果缺少了signal(full),那么表明從第一個(gè)生產(chǎn)者進(jìn)程開始就沒有對(duì)信號(hào)量full值改變,即使緩沖池存放的產(chǎn)品已滿了,但full的值還是0,這樣消費(fèi)者進(jìn)程在執(zhí)行wait(full)時(shí)會(huì)認(rèn)為緩沖池是空的而取不到產(chǎn)品,那么消費(fèi)者進(jìn)程則會(huì)一直處于等待狀態(tài)。如果缺少了signal(empty),例如在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿產(chǎn)品后消費(fèi)者進(jìn)程才開始從中取產(chǎn)品,這時(shí)empty=O,full二n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品時(shí)empty并沒有被改變,直到緩沖池中的產(chǎn)品都取走了,empty的值也一直是0,即使目前緩沖池有n個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程要想再往緩沖池中投放產(chǎn)品會(huì)因申請(qǐng)不到空緩沖區(qū)而被阻塞。在生產(chǎn)者一消費(fèi)者問題中,如果將兩個(gè)wait操作即wait(full)和wait(mutex)互換位置;或者是將signal(mutex)與signal(full)互換位置結(jié)果會(huì)如何?在生產(chǎn)者一消費(fèi)者問題中,如果將兩個(gè)wait操作,即wait(full)和wait(mutex)互換位置后,可能引起死鎖。考慮系統(tǒng)中緩沖區(qū)全滿時(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)來喚醒自己,在此之前,它不可能執(zhí)行signal(mutex)操作,從而使試圖通過執(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)死鎖,因此可以互換位置。我們?yōu)槟撑R界區(qū)設(shè)置一把鎖W,當(dāng)W=1時(shí),表示關(guān)鎖;W=0時(shí),表示鎖已打開.試寫出開鎖原語和關(guān)鎖原語,并利用它們?nèi)?shí)現(xiàn)互斥.開鎖原語:unlock(W):W=0;關(guān)鎖原語:lock(W);if(W==1)dono_op;W=1;利用開關(guān)鎖原語實(shí)現(xiàn)互斥:varW:semaphore:=0;beginparbeginprocess:begin清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答lock(W);criticalsectionunlock(W);remaindersectionuntilfalse;endparend試修改下面生產(chǎn)者-消費(fèi)者問題解法中的錯(cuò)誤:producer:duceraniteminnextp;wait(mutex);wait(full);/*應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面*/buffer(in):=nextp;/*緩沖池?cái)?shù)組游標(biāo)應(yīng)前移:in:=(in+1)modn;*/signal(mutex);/*signal(full);*/untilfalse;endconsumer:beginrepeatwait(mutex);wait(empty);/*應(yīng)為wait(full),而且還應(yīng)該在wait(mutex)的前面*/nextc:=buffer(out);out:=out+1;/*考慮循環(huán),應(yīng)改為:out:=(out+1)modn;*/signal(mutex);/*signal(empty);*/consumeriteminnextc;untilfalse;end試?yán)糜涗浶托盘?hào)量寫出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問題的算法.設(shè)初始值為1的信號(hào)量c[l]表示丨號(hào)筷子被拿(1=1234…,2n),其中n為自然數(shù).send(I):BeginifImod2==1then{P(c[I]);P(c[I-1mod5]);Eat;清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答V(c[I-1mod5]);V(c[I]);}else{P(c[I-1mod5]);P(c[I]);Eat;V(c[I]);V(c[I-1mod5]);}End在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算任務(wù)從該單緩沖中取出數(shù)據(jù)進(jìn)行計(jì)算.試寫出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法.intmutex=1;intempty=n;intfull=0;intin=0;intout=0;main(){cobeginsend();obtain();coend}send(){while(1){collectdatainnextp;wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1)modn;signal(mutex);signal(full);}}//sendobtain(){while(1){清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答wait(full);wait(mutex);nextc:=buffer(out);out:=(out+1)modn;signal(mutex);signal(empty);culculatethedatainnextc;}//while}//obtain畫圖說明管程由哪幾部分組成?為什么要引入條件變量?管程由三部分組成:局部于管程的共享變量說明;對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程;對(duì)局部于管程的數(shù)據(jù)設(shè)置初始值的語句?(圖見P56)因?yàn)檎{(diào)用wait原語后,使進(jìn)程等待的原因有多種,為了區(qū)別它們,引入了條件變量.如何利用管程來解決生產(chǎn)者-消費(fèi)者問題?(見P60)什么是AND信號(hào)量?試?yán)肁ND信號(hào)量寫出生產(chǎn)者-消費(fèi)者問題的解法.為解決并行所帶來的死鎖問題,在wait操作中引入AND條件,其基本思想是將進(jìn)程在整個(gè)運(yùn)行過程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放.解決生產(chǎn)者-消費(fèi)者問題可描述如下:varmutex,empty,full:semaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:duceaniteminnextp;.wait(empty);wait(s1,s2,s3,...,sn);//s1,s2,...,sn為執(zhí)行生產(chǎn)者進(jìn)程除empty外其余的條件wait(mutex);buffer(in):=nextp;in:=(in+1)modn;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);untilfalse;endconsumer:begin清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答repeatwait(full);wait(k1,k2,k3,...,kn);//k1,k2,...,kn為執(zhí)行消費(fèi)者進(jìn)程除full外其余的條件wait(mutex);nextc:=buffer(out);out:=(out+1)modn;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consumetheiteminnextc;untilfalse;endparendend什么是信號(hào)量集?試?yán)眯盘?hào)量集寫出讀者-寫者問題的解法。P64略試比較進(jìn)程間的低級(jí)通信工具與高級(jí)通信工具.用戶用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,因?yàn)槠湫实?,通信?duì)用戶不透明,所有的操作都必須由程序員來實(shí)現(xiàn).而高級(jí)通信工具則可彌補(bǔ)這些缺陷,用戶可直接利用操作系統(tǒng)所提供的一組通信命令,高效地傳送大量的數(shù)據(jù).當(dāng)前有哪幾種高級(jí)通信工具。共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)和管道通信系統(tǒng)三大類。消息隊(duì)列通信機(jī)制應(yīng)有哪幾方面功能?略為什么要在OS中引人線程?在OS中引入進(jìn)程的目的,是為了使多個(gè)程序能并發(fā)執(zhí)行,以提高資源利用率和系統(tǒng)吞吐量。在OS中再引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具有更好的并發(fā)性。說明線程具有哪些屬性?P73試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開銷幾個(gè)方面,對(duì)進(jìn)程和線程進(jìn)行比較.在引入線程的OS中,把線程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答源擁有的基本單位;在引入線程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好的并發(fā)性;進(jìn)程始終是擁有資源的一個(gè)獨(dú)立單位,線程自己不擁有系統(tǒng)資源,但它可以訪問其隸屬進(jìn)程的資源;在創(chuàng)建,撤消和切換進(jìn)程方面,進(jìn)程的開銷遠(yuǎn)遠(yuǎn)大于線程的開銷.為了在多線程OS中實(shí)現(xiàn)進(jìn)程之間的同步與通信,通常提供了哪幾種同步機(jī)制?P75用于實(shí)現(xiàn)線程同步的私用信號(hào)量和公用信號(hào)量之間有何差異?P76何謂用戶級(jí)線程和內(nèi)核級(jí)線程?并對(duì)它們進(jìn)行比較.內(nèi)核級(jí)線程是依賴于內(nèi)核的,它存在于用戶進(jìn)程和系統(tǒng)進(jìn)程中,它們的創(chuàng)建,撤消和切換都由內(nèi)核實(shí)現(xiàn);用戶級(jí)線程僅存在于用戶級(jí)中,它們的創(chuàng)建,撤消和切換不利用系統(tǒng)調(diào)用來實(shí)現(xiàn),因而與內(nèi)核無關(guān),內(nèi)核并不知道用戶級(jí)線程的存在.內(nèi)核級(jí)線程的調(diào)度和切換與進(jìn)程十分相似,調(diào)度方式采用搶占式和非搶占式,調(diào)度算法采用時(shí)間輪轉(zhuǎn)法和優(yōu)先權(quán)算法等,當(dāng)由線程調(diào)度選中一個(gè)線程后,再將處理器分配給它;而用戶級(jí)線程通常發(fā)生在一個(gè)應(yīng)用程序的諸線程之間,無需終端進(jìn)入OS內(nèi)核,切換規(guī)則也較簡單,因而,用戶級(jí)線程的切換速度較快.用戶級(jí)線程調(diào)用系統(tǒng)調(diào)用和調(diào)度另一個(gè)進(jìn)程執(zhí)行時(shí),內(nèi)核把它們看作是整個(gè)進(jìn)程的行為,內(nèi)核級(jí)線程調(diào)用是以線程為單位,內(nèi)核把系統(tǒng)調(diào)用看作是該線程的行為.對(duì)于用戶級(jí)線程調(diào)用,進(jìn)程的執(zhí)行速度隨著所含線程數(shù)目的增加而降低,對(duì)于內(nèi)核級(jí)線程則相反.試說明用戶級(jí)線程的實(shí)現(xiàn)方法。P77試說明內(nèi)核級(jí)支持線程的實(shí)現(xiàn)方法。P77補(bǔ)充題目1、在SolarisOS中,設(shè)置了哪幾種線程?輕型線程的作用是什么?用戶級(jí)線程,內(nèi)核級(jí)線程和輕型線程;作用:由LWP實(shí)現(xiàn)了在內(nèi)核與用戶級(jí)線程之間的隔離,從而使用戶級(jí)線程與內(nèi)核無關(guān).2、在SolarisOS中,用戶級(jí)線程是通過什么方式來訪問內(nèi)核的?清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答通過LWP來訪問內(nèi)核.LWP可為內(nèi)核所識(shí)別,但不能識(shí)別用戶級(jí)線程,通過建立用戶級(jí)線程與LWP之間的連接,可以實(shí)現(xiàn)用戶級(jí)線程與內(nèi)核的通信.3、什么是臨界資源和臨界區(qū)?一次僅允許一個(gè)進(jìn)程使用的資源成為臨界資源.在每個(gè)進(jìn)程中,訪問臨界資源的那段程序稱為臨界區(qū).4、在單處理機(jī)環(huán)境下,進(jìn)程間有哪幾種通信方式?共享存儲(chǔ)器系統(tǒng)通信方式;b.消息傳遞系統(tǒng)通信方式;c.管道通信方式.5、試比較消息隊(duì)列與管道通信機(jī)制.所謂管道,是指用于連接一個(gè)讀進(jìn)程和一個(gè)寫進(jìn)程,以實(shí)現(xiàn)它們之間通信的共享文件,又稱pipe文件.管道通信是屬于共享存儲(chǔ)器系統(tǒng)的.消息隊(duì)列通信機(jī)制屬于消息傳遞系統(tǒng)通信機(jī)制,存在通信鏈路,有消息的格式,有若干緩沖隊(duì)列,采用獨(dú)特的發(fā)送原語和接收原語.第三章處理機(jī)調(diào)度與死鎖1.高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?高級(jí)調(diào)度的主要任務(wù):用于決定把外存上處于后備隊(duì)列中的哪些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程,分配必要的資源,然后,再將新創(chuàng)建的進(jìn)程插入就緒隊(duì)列上,準(zhǔn)備執(zhí)行。低級(jí)調(diào)度的主要任務(wù):用于決定就緒隊(duì)列中的哪個(gè)進(jìn)程應(yīng)獲得處理機(jī),然后再由分派程序執(zhí)行將處理機(jī)分配給該進(jìn)程的具體操作。引入中級(jí)調(diào)度的主要目的:是為了提高系統(tǒng)資源的利用率和系統(tǒng)吞吐量。.2.何謂作業(yè)、作業(yè)步和作業(yè)流?P843?在什么情況下需要使用作業(yè)控制塊JCB?其中包含了哪些內(nèi)容?P854.在作業(yè)調(diào)度中應(yīng)如何確定接納多少作業(yè)和接納哪些作業(yè)?前者取決于多道程序度,后者取決于采用的調(diào)度算法5.試說明低級(jí)調(diào)度的功能。P86在搶占調(diào)度方式中,搶占的原則是什么?時(shí)間片原則;優(yōu)先權(quán)原則;c.短作業(yè)(進(jìn)程)優(yōu)先原則.清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?面向用戶的準(zhǔn)則有周轉(zhuǎn)時(shí)間短,響應(yīng)時(shí)間快,截止時(shí)間的保證,以及優(yōu)先權(quán)準(zhǔn)則.面向系統(tǒng)的準(zhǔn)則有系統(tǒng)吞吐量高,處理機(jī)利用率好,各類資源的平衡利用.在批處理系統(tǒng),分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法?(有待討論)何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?P9310?試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。相同點(diǎn):兩種調(diào)度算法都是既可用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度;不同點(diǎn):FCFS調(diào)度算法每次調(diào)度都是從后備隊(duì)列中選擇一個(gè)或是多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源,創(chuàng)建進(jìn)程,然后插入到就緒隊(duì)列中。該算法有利于長作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF調(diào)度算法每次調(diào)度都是從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),將它們調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長作業(yè)/進(jìn)程。在按時(shí)間片輪轉(zhuǎn)法中,如何確定時(shí)間片的大小時(shí)?a.系統(tǒng)對(duì)相應(yīng)時(shí)間的要求;就緒隊(duì)列中進(jìn)程的數(shù)目;系統(tǒng)的處理能力通過一個(gè)例子來說明通常的優(yōu)先級(jí)調(diào)度算法不能適用于實(shí)時(shí)系統(tǒng)?P97為什么說多級(jí)反饋隊(duì)列能較好地滿足各種用戶的需要?a.對(duì)于終端型作業(yè)用戶,由于終端型作業(yè)用戶所提交的作業(yè),大都屬于交互型作業(yè),系統(tǒng)只要能使這些作業(yè)(進(jìn)程)在第一隊(duì)列所規(guī)定的時(shí)間片內(nèi)完成,便可使終端型作業(yè)用戶都感到滿意.b.對(duì)于短批處理作業(yè)用戶,很短的批處理型作業(yè)如果僅在第一隊(duì)列中執(zhí)行一個(gè)時(shí)間片即可完成,便可獲得與終端型作業(yè)一樣的相應(yīng)時(shí)間.對(duì)于稍長的作業(yè),通常也只需在第二隊(duì)列和第三隊(duì)列中各執(zhí)行一個(gè)時(shí)間片即可完成,其周轉(zhuǎn)時(shí)間仍然很短.對(duì)于長批處理作業(yè)用戶,用戶也不必?fù)?dān)心其作業(yè)長期得不到處理.14P9815.按調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?按調(diào)度方式不同,可分為非搶占調(diào)度算法和搶占調(diào)度算法兩種。清華大學(xué)出版社,計(jì)算機(jī)操作系統(tǒng)課后習(xí)題解答16P10017P102何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?a.死鎖是指多個(gè)進(jìn)程因競爭資源而造成的一種僵局,若無外力作用,這些進(jìn)a.死鎖是指多個(gè)進(jìn)程因競爭資源而造成的一種僵局,若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jìn);產(chǎn)生死鎖的原因有二,一是競爭資源,二是進(jìn)程推進(jìn)順序非法;必要條件是:互斥條件,請(qǐng)求和保持條件,不剝奪條件和環(huán)路等待條件。在解決死鎖問題的幾個(gè)方法中,哪種方法最容易實(shí)現(xiàn)?哪種方法使資源的利用率最高?解決/處理死鎖的方法有預(yù)防死鎖、避免死鎖、檢測(cè)和解除死鎖,其中預(yù)防死鎖方法最容易實(shí)現(xiàn),但由于所施加的限制條件過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 年度服務(wù)合同范本
- epc工程廉政合同范本
- 保溫氈合同范本
- 合租經(jīng)營協(xié)議合同范本
- 廠區(qū)維修電車合同范本
- 買房包干合同范例
- 原車主抵押合同范本
- 輪胎店銷售合同范本
- 醫(yī)療場所合作合同范本
- 勞動(dòng)作合同范例備案
- 國際標(biāo)準(zhǔn)《風(fēng)險(xiǎn)管理指南》(ISO31000)的中文版
- 幼兒園中班語言《猜燈謎》
- 煙花爆竹經(jīng)營
- 射頻同軸電纜簡介
- 2023-2024全球及中國企業(yè)組織活力報(bào)告(中文版)
- 現(xiàn)代自來水廠自動(dòng)化控制系統(tǒng)
- 2024年長沙衛(wèi)生職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- QB-T 5823-2023 工坊啤酒機(jī)械 發(fā)酵罐
- 紹興文理學(xué)院開題報(bào)告模板
- 2021年古包頭市昆都侖區(qū)水務(wù)公司招聘考試試題及答案
- 體檢中心健康知識(shí)講座
評(píng)論
0/150
提交評(píng)論