課后部分習(xí)題答案(湯子贏版)_第1頁(yè)
課后部分習(xí)題答案(湯子贏版)_第2頁(yè)
課后部分習(xí)題答案(湯子贏版)_第3頁(yè)
課后部分習(xí)題答案(湯子贏版)_第4頁(yè)
課后部分習(xí)題答案(湯子贏版)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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、第一章 操作系統(tǒng)引論1. 設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?方便性,有效性,可擴(kuò)充性和開(kāi)放性. 2. OS的作用可表現(xiàn)為哪幾個(gè)方面?a. OS作為用戶(hù)與計(jì)算機(jī)硬件系統(tǒng)之間的接口;b. OS作為計(jì)算機(jī)系統(tǒng)資源的管理者;c. OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象. 7. 實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?a. 關(guān)鍵問(wèn)題:使用戶(hù)能與自己的作業(yè)進(jìn)行交互,即當(dāng)用戶(hù)在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,再將結(jié)果返回給用戶(hù)。b. 解決方法:-對(duì)于及時(shí)接收,只需在系統(tǒng)中設(shè)置一多路卡,使主機(jī)能同時(shí)接收用戶(hù)從各個(gè)終端上輸入的數(shù)據(jù);此外,還須為每個(gè)終端配置一個(gè)緩沖區(qū),用來(lái)暫存用戶(hù)鍵入的命令(或數(shù)據(jù)

2、)。-對(duì)于及時(shí)處理,應(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)行一次。10. 試從交互性、及時(shí)性以及可靠性方面將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較.a. 分時(shí)系統(tǒng)是一種通用系統(tǒng),主要用于運(yùn)行終端用戶(hù)程序,因而它具有較強(qiáng)的交互能力;而實(shí)時(shí)系統(tǒng)雖然也有交互能力,但其交互能力不及前。b. 實(shí)時(shí)信息系統(tǒng)對(duì)實(shí)用性的要求與分時(shí)系統(tǒng)類(lèi)似,都是以人所能接收的等待時(shí)間來(lái)確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性則是以控制對(duì)象所要求的開(kāi)始截止時(shí)間和完成截止時(shí)間來(lái)確定的,因此實(shí)時(shí)系統(tǒng)的及時(shí)性要高于分時(shí)系統(tǒng)的及時(shí)性。c. 實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求要

3、比分時(shí)系統(tǒng)對(duì)系統(tǒng)的可靠性要求高。11. OS具有哪幾大特征?它的最基本特征是什么?a. 并發(fā)性、共享性、虛擬性、異步性。b. 其中最基本特征是并發(fā)和共享。(最重要的特征是并發(fā)性)13. 什么是時(shí)分復(fù)用技術(shù)?舉例說(shuō)明它能提高資源利用率的根本原因是什么?a. 時(shí)分復(fù)用技術(shù):將資源在不同的時(shí)間片內(nèi)分配給各進(jìn)程以使該資源被重復(fù)利用,從而提高資源的利用率。b. 如采用時(shí)分復(fù)用技術(shù)的虛擬處理機(jī),能夠在不同的時(shí)間片內(nèi)處理多個(gè)用戶(hù)的請(qǐng)求,從而使得用戶(hù)感覺(jué)自己獨(dú)占主機(jī),而處理機(jī)在這期間也被充分的利用。14. 是什么原因使操作系統(tǒng)具有異步性特征?在多道程序環(huán)境下允許多個(gè)進(jìn)程并發(fā)執(zhí)行,但由于資源等因素的限制,進(jìn)程的

4、執(zhí)行通常并非一氣呵成,而是以走走停停的方式運(yùn)行。內(nèi)存中的每個(gè)進(jìn)程在何時(shí)執(zhí)行,何時(shí)暫停,以怎樣的速度向前推進(jìn),每道程序總共需要多少時(shí)間才能完成,都是不可預(yù)知的,因此導(dǎo)致作業(yè)完成的先后次序與進(jìn)入內(nèi)存的次序并不完全一致?;蛘哒f(shuō),進(jìn)程是以異步方式運(yùn)行的。但在有關(guān)進(jìn)程控制及同步機(jī)制等的支持下,只要運(yùn)行環(huán)境相同,作業(yè)經(jīng)多次運(yùn)行,都會(huì)獲得完全相同的結(jié)果,因而進(jìn)程以異步的方式執(zhí)行是系統(tǒng)所允許的。 第二章 進(jìn)程管理2. 試畫(huà)出下面4條語(yǔ)句的前趨圖:S1S1: a:=x+y; S4S3S2: b:=z+1; S2S3: c:=a-b; S4: w:=c+1; 3. 為什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征? 程序在并發(fā)

5、執(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)性? 因?yàn)槌绦虿l(fā)執(zhí)行時(shí),是多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)是由多個(gè)程序來(lái)改變,致使程序的運(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ú)

6、立性上比較進(jìn)程和程序?a. 動(dòng)態(tài)性是進(jìn)程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及由撤銷(xiāo)而消亡,因而進(jìn)程由一定的生命期;而程序只是一組有序指令的集合,是靜態(tài)實(shí)體。b. 并發(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ú)立的單位來(lái)運(yùn)行。7. 試說(shuō)明PCB的作用具體表現(xiàn)在哪幾個(gè)方面,為什么說(shuō)PCB是進(jìn)程存在的唯一標(biāo)志?a. PCB是

7、進(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)程。具體表現(xiàn)在:1作為獨(dú)立運(yùn)行基本單位的標(biāo)志;2能實(shí)現(xiàn)間斷性運(yùn)行方式;3提供進(jìn)程管理所需要的信息;4提供進(jìn)程調(diào)度所需要的信息;5實(shí)現(xiàn)與其它進(jìn)程的同步通信。b. 在進(jìn)程的整個(gè)生命周期中,系統(tǒng)總是通過(guò)其PCB對(duì)進(jìn)程進(jìn)行控制,系統(tǒng)是根據(jù)進(jìn)程的PCB而不是任何別的什么而感知到該進(jìn)程的存在的,所以說(shuō),PCB是進(jìn)程存在的唯一標(biāo)志。 11. 試說(shuō)明進(jìn)程在三個(gè)基

8、本狀態(tài)之間轉(zhuǎn)換的典型原因.a. 處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)后,該進(jìn)程便由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài)。b. 當(dāng)前進(jìn)程因發(fā)生某事件而無(wú)法執(zhí)行,如訪問(wèn)已被占用的臨界資源,就會(huì)使進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。c. 當(dāng)前進(jìn)程因時(shí)間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。12. 為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?a. 引入掛起狀態(tài)主要是出于4種需要(即引起掛起的原因): 終端用戶(hù)的請(qǐng)求,父進(jìn)程請(qǐng)求,負(fù)荷調(diào)節(jié)的需要,操作系統(tǒng)的需要。b. 被掛起的進(jìn)程是處于靜止?fàn)顟B(tài),并且不能直接被處理機(jī)調(diào)度。. 為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行“進(jìn)入?yún)^(qū)”代碼?而在退出前又要執(zhí)行“退出區(qū)

9、”代碼? 為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問(wèn),必須在臨界區(qū)之前加一段用于檢查臨界資源是否正在被訪問(wèn)的代碼,如未被訪問(wèn),該進(jìn)程可進(jìn)入臨界區(qū)對(duì)此臨界資源進(jìn)行訪問(wèn);如正被訪問(wèn),則該進(jìn)程不能進(jìn)入臨界區(qū)訪問(wèn)臨界資源。 在退出臨界區(qū)后,執(zhí)行恢復(fù)訪問(wèn)標(biāo)志的代碼為“退出區(qū)”,而在退出前執(zhí)行“退出區(qū)”代碼主要是為了使其它進(jìn)程能再訪問(wèn)此臨界資源。. 同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?a. 空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待四條準(zhǔn)則b. 為實(shí)現(xiàn)進(jìn)程能互斥地進(jìn)入到自己的臨界區(qū). 試從物理概念上說(shuō)明記錄型信號(hào)量wait和signal。 Wait(S):當(dāng)S.value0時(shí),表示目前系統(tǒng)中這類(lèi)資源還有可用的,執(zhí)行

10、一次wait操作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類(lèi)資源,是系統(tǒng)中可供分配的該類(lèi)資源減少一個(gè),因此描述為S.value:=S.value-1;當(dāng)S.value1) then block(W.L) unlock(W): W:=W-1; if(W0) then wakeup(W.L) 例子: Var W:semaphore:=0; begin repeat lock(W); critical section unlock(W); remainder section until false; end. 試修改下面生產(chǎn)者消費(fèi)者問(wèn)題解法中的錯(cuò)誤: producer: begin repeat produce

11、an item in nextp; wait(mutex); wait(full); buffer(in):=nextp;signal(mutex); until false; end consumer:begin repeat wait(mutex); wait(empty); nextc:=buffer(out);out:=out+1;signal(mutex); consume item in nextc; until false; end. 試?yán)糜涗浶托盘?hào)量寫(xiě)出一個(gè)不會(huì)出現(xiàn)死鎖的哲學(xué)家進(jìn)餐問(wèn)題的算法。 三種解決方法中的任意一種即可(略)。P62. 在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù)時(shí),把

12、所采集的數(shù)據(jù)送往一單緩沖區(qū);計(jì)算任務(wù)從該單緩沖區(qū)中取出數(shù)據(jù)進(jìn)行計(jì)算。試寫(xiě)出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩任務(wù)共享單緩沖區(qū)的同步算法。 a. Var mutex, empty, full: semaphore:=1, 1, 0; gather:begin repeat gather data in nextp; wait(empty); wait(mutex);buffer:=nextp;signal(mutex);signal(full);until false; end compute:begin repeat wait(full); wait(mutex);nextc:=buffer;signal(

13、mutex);signal(empty); compute data in nextc;until false; end b. Var empty, full: semaphore:=1, 0; gather:begin repeat gather data in nextp; wait(empty); buffer:=nextp;signal(full);until false; end compute:begin repeat wait(full); nextc:=buffer;signal(empty); compute data in nextc;until false; end. 試

14、比較進(jìn)程間的低級(jí)通信工具與高級(jí)通信工具.用戶(hù)用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,因?yàn)槠湫实?,通信?duì)用戶(hù)不透明,所有的操作都必須由程序員來(lái)實(shí)現(xiàn),而高級(jí)通信工具則可彌補(bǔ)這些缺陷,用戶(hù)可直接利用操作系統(tǒng)所提供的一組通信命令,高效地傳送大量的數(shù)據(jù)。19. 為什么要在OS中引入線(xiàn)程? 在OS中引入進(jìn)程的目的,是為了使多個(gè)程序能并發(fā)執(zhí)行,以提高資源利用率和系統(tǒng)吞吐量。在OS中再引入線(xiàn)程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開(kāi)銷(xiāo),使OS具有更好的并發(fā)性。21. 試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開(kāi)銷(xiāo)方面對(duì)進(jìn)程和線(xiàn)程進(jìn)行比較.a. 調(diào)度性。在傳統(tǒng)的操作系統(tǒng)中,擁有資源的基本單位和獨(dú)立調(diào)度、分派的基本單位

15、都是進(jìn)程,在引入線(xiàn)程的OS中,則把線(xiàn)程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資源擁有的基本單位;b. 并發(fā)性。在引入線(xiàn)程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線(xiàn)程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好的并發(fā)性;c. 擁有資源。無(wú)論是傳統(tǒng)的操作系統(tǒng),還是引入了線(xiàn)程的操作系統(tǒng),進(jìn)程始終是擁有資源的一個(gè)基本單位,而線(xiàn)程除了擁有一點(diǎn)在運(yùn)行時(shí)必不可少的資源外,本身基本不擁有系統(tǒng)資源,但它可以訪問(wèn)其隸屬進(jìn)程的資源;d. 開(kāi)銷(xiāo)。由于創(chuàng)建或撤銷(xiāo)進(jìn)程時(shí),系統(tǒng)都要為之分配和回收資源,如內(nèi)存空間等,進(jìn)程切換時(shí)所要保存和設(shè)置的現(xiàn)場(chǎng)信息也要明顯地多于線(xiàn)程,因此,操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)所付出

16、的開(kāi)銷(xiāo)將顯著地大于線(xiàn)程。 第三章 處理機(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)吞吐量。10. 試比較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ì)列中選

17、擇一個(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)度算法每次調(diào)度都是從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),將它們調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長(zhǎng)作業(yè)/進(jìn)程。15. 按調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?按調(diào)度方式不同,可分為非搶占調(diào)度算法和搶占調(diào)度算法兩種。18. 何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?a.死鎖是指多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的一種僵局,若無(wú)外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jìn);b.產(chǎn)生死鎖的原因有二,一是競(jìng)爭(zhēng)資源,二是進(jìn)程推進(jìn)順序非法;

18、c.必要條件是: 互斥條件,請(qǐng)求和保持條件,不剝奪條件和環(huán)路等待條件。19在解決死鎖問(wèn)題的幾個(gè)方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法是資源利用率最高? 解決/處理死鎖的方法有預(yù)防死鎖、避免死鎖、檢測(cè)和解除死鎖,其中預(yù)防死鎖方法最容易實(shí)現(xiàn),但由于所施加的限制條件過(guò)于嚴(yán)格,會(huì)導(dǎo)致系統(tǒng)資源利用率和系統(tǒng)吞吐量降低;而檢測(cè)和解除死鎖方法可是系統(tǒng)獲得較好的資源利用率和系統(tǒng)吞吐量。20. 請(qǐng)?jiān)敿?xì)說(shuō)明可通過(guò)哪些途徑預(yù)防死鎖?a.摒棄請(qǐng)求和保持條件:系統(tǒng)規(guī)定所有進(jìn)程開(kāi)始運(yùn)行之前,都必須一次性地申請(qǐng)其在整個(gè)運(yùn)行過(guò)程所需的全部資源,但在分配資源時(shí),只要有一種資源不能滿(mǎn)足某進(jìn)程的要求,即使其它所需的各資源都空閑,也不分

19、配給該進(jìn)程,而讓該進(jìn)程等待;b.摒棄不剝奪條件:系統(tǒng)規(guī)定,進(jìn)程是逐個(gè)地提出對(duì)資源的要求的。當(dāng)一個(gè)已經(jīng)保持了某些資源的進(jìn)程,再提出新的資源請(qǐng)求而不能立即得到滿(mǎn)足時(shí),必須釋放它已經(jīng)保持了的所有資源,待以后需要時(shí)再重新申請(qǐng);c.摒棄環(huán)路等待條件:系統(tǒng)將所有資源按類(lèi)型進(jìn)行線(xiàn)性排序,并賦予不同的序號(hào),且所有進(jìn)程對(duì)資源的請(qǐng)求必須嚴(yán)格按序號(hào)遞增的次序提出,這樣,在所形成的資源分配圖中,不可能再出現(xiàn)環(huán)路,因而摒棄了環(huán)路等待條件。22. 在銀行家算法中,若出現(xiàn)下述資源分配情:ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P3033

20、20652P400140656試問(wèn): 該狀態(tài)是否安全? 若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?該狀態(tài)是安全的,因?yàn)榇嬖谝粋€(gè)安全序列。下表為該時(shí)刻的安全序列表。資源情況進(jìn)程WorkNeedAllocationWork+AllocationFinishP0P3P4P1P21 6 2 21 6 5 41 9 8 71 9 9 112 9 9 110 0 1 20 6 5 20 6 5 61 7 5 02 3 5 60 0 3 20 3 3 30 0 1 41 0 0 01 3 5 41 6 5 41 9 8 71 9 9 112 9 9 113 12 14 1

21、7truetruetruetruetrue 若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)不能將資源分配給它,若分配給進(jìn)程P2,系統(tǒng)還剩的資源情況為(0,4,0,0),此時(shí)系統(tǒng)中的資源將無(wú)法滿(mǎn)足任何一個(gè)進(jìn)程的資源請(qǐng)求,從而導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),容易引起死鎖的發(fā)生。第四章 存儲(chǔ)器管理1. 為什么要配置層次式存儲(chǔ)器?這是因?yàn)椋篴.設(shè)置多個(gè)存儲(chǔ)器可以使存儲(chǔ)器兩端的硬件能并行工作。b.采用多級(jí)存儲(chǔ)系統(tǒng),特別是Cache技術(shù),這是一種減輕存儲(chǔ)器帶寬對(duì)系統(tǒng)性能影響的最佳結(jié)構(gòu)方案。c.在微處理機(jī)內(nèi)部設(shè)置各種緩沖存儲(chǔ)器,以減輕對(duì)存儲(chǔ)器存取的壓力。增加CPU中寄存器的數(shù)量,也可大大緩解對(duì)存儲(chǔ)器的壓

22、力。2. 可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合?將程序裝入內(nèi)存可采用的方式有:絕對(duì)裝入方式、重定位裝入方式、動(dòng)態(tài)運(yùn)行時(shí)裝入方式;絕對(duì)裝入方式適用于單道程序環(huán)境中,重定位裝入方式和動(dòng)態(tài)運(yùn)行時(shí)裝入方式適用于多道程序環(huán)境中。3. 何為靜態(tài)鏈接?何謂裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)動(dòng)態(tài)鏈接?a.靜態(tài)鏈接是指在程序運(yùn)行之前,先將各自目標(biāo)模塊及它們所需的庫(kù)函數(shù),鏈接成一個(gè)完整的裝配模塊,以后不再拆開(kāi)的鏈接方式。b.裝入時(shí)動(dòng)態(tài)鏈接是指將用戶(hù)源程序編譯后所得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí),采用邊裝入邊鏈接的一種鏈接方式,即在裝入一個(gè)目標(biāo)模塊時(shí),若發(fā)生一個(gè)外部模塊調(diào)用事件,將引起裝入程序去找相應(yīng)的外部目

23、標(biāo)模塊,把它裝入內(nèi)存中,并修改目標(biāo)模塊中的相對(duì)地址。c.運(yùn)行時(shí)動(dòng)態(tài)鏈接是將對(duì)某些模塊的鏈接推遲到程序執(zhí)行時(shí)才進(jìn)行鏈接,也就是,在執(zhí)行過(guò)程中,當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存時(shí),立即由OS去找到該模塊并將之裝入內(nèi)存,把它鏈接到調(diào)用者模塊上。4. 在進(jìn)行程序鏈接時(shí),應(yīng)完成哪些工作?a.對(duì)相對(duì)地址進(jìn)行修改b.變換外部調(diào)用符號(hào)6. 為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?a.程序在運(yùn)行過(guò)程中經(jīng)常要在內(nèi)存中移動(dòng)位置,為了保證這些被移動(dòng)了的程序還能正常執(zhí)行,必須對(duì)程序和數(shù)據(jù)的地址加以修改,即重定位。引入重定位的目的就是為了滿(mǎn)足程序的這種需要。b.要在不影響指令執(zhí)行速度的同時(shí)實(shí)現(xiàn)地址變換,必須有硬件地址變換機(jī)構(gòu)的

24、支持,即須在系統(tǒng)中增設(shè)一個(gè)重定位寄存器,用它來(lái)存放程序在內(nèi)存中的起始地址。程序在執(zhí)行時(shí),真正訪問(wèn)的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加而形成的。9. 分區(qū)存儲(chǔ)管理中常采用哪些分配策略?比較它們的優(yōu)缺點(diǎn)。分區(qū)存儲(chǔ)管理中常采用的分配策略有:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法。a.首次適應(yīng)算法的優(yōu)缺點(diǎn):保留了高址部分的大空閑區(qū),有利于后到來(lái)的大型作業(yè)的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區(qū),且每次分區(qū)分配查找時(shí)都是從低址部分開(kāi)始,會(huì)增加查找時(shí)的系統(tǒng)開(kāi)銷(xiāo)。b.循環(huán)首次適應(yīng)算法的優(yōu)缺點(diǎn):使內(nèi)存中的空閑分區(qū)分布得更為均勻,減少了查找時(shí)的系統(tǒng)開(kāi)銷(xiāo);缺乏大的空

25、閑分區(qū),從而導(dǎo)致不能裝入大型作業(yè)。c.最佳適應(yīng)算法的優(yōu)缺點(diǎn):每次分配給文件的都是最適合該文件大小的分區(qū);內(nèi)存中留下許多難以利用的小的空閑區(qū)。d.最壞適應(yīng)算法的優(yōu)缺點(diǎn):給文件分配分區(qū)后剩下的的空閑區(qū)不至于太小,產(chǎn)生碎片的幾率最小,對(duì)中小型文件分配分區(qū)操作有利;使存儲(chǔ)器中缺乏大的空閑區(qū),對(duì)大型文件的分區(qū)分配不利。10. 在系統(tǒng)中引入對(duì)換后可帶來(lái)哪些好處?能將內(nèi)存中暫時(shí)不運(yùn)行的進(jìn)程或暫時(shí)不用的程序和數(shù)據(jù),換到外存上,以騰出足夠的內(nèi)存空間,把已具備運(yùn)行條件的進(jìn)程或進(jìn)程所需的程序和數(shù)據(jù)換入內(nèi)存,從而大大地提高了內(nèi)存的利用率。12. 在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次是否將整個(gè)進(jìn)程換出?為什么?在以進(jìn)程為單位

26、進(jìn)行對(duì)換時(shí),并非每次將整個(gè)進(jìn)程換出。這是因?yàn)椋篴.從結(jié)構(gòu)上講,進(jìn)程是由程序段、數(shù)據(jù)段和進(jìn)程控制塊組成的,其中進(jìn)程控制塊總有部分或全部常駐內(nèi)存,不被換出。b.程序段和數(shù)據(jù)段可能正被若干進(jìn)程共享,此時(shí)它們也不能被換出。13. 為實(shí)現(xiàn)分頁(yè)存儲(chǔ)管理,需要哪些硬件支持?需要有頁(yè)表機(jī)制、地址變換機(jī)構(gòu)的硬件支持。16. 為什么說(shuō)分段系統(tǒng)較之分頁(yè)系統(tǒng)更易于實(shí)現(xiàn)信息共享和保護(hù)?a.對(duì)于分頁(yè)系統(tǒng),每個(gè)頁(yè)面是分散存儲(chǔ)的,為了實(shí)現(xiàn)信息共享和保護(hù),則頁(yè)面之間需要一一對(duì)應(yīng)起來(lái),為此需要建立大量的頁(yè)表項(xiàng);b.而對(duì)于分段系統(tǒng),每個(gè)段都從0開(kāi)始編址,并采用一段連續(xù)的地址空間,這樣在實(shí)現(xiàn)共享和保護(hù)時(shí),只需為所要共享和保護(hù)的程序設(shè)

27、置一個(gè)段表項(xiàng),將其中的基址與內(nèi)存地址一一對(duì)應(yīng)起來(lái)即可。17. 分頁(yè)和分段有何區(qū)別?a.分頁(yè)和分段都采用離散分配的方式,且都要通過(guò)地址映射機(jī)構(gòu)來(lái)實(shí)現(xiàn)地址變換,這是它們的共同點(diǎn);b.對(duì)于它們的不同點(diǎn)有三,第一,從功能上看,頁(yè)是信息的物理單位,分頁(yè)是為實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率,即滿(mǎn)足系統(tǒng)管理的需要,而不是用戶(hù)的需要;而段是信息的邏輯單位,它含有一組其意義相對(duì)完整的信息,目的是為了能更好地滿(mǎn)足用戶(hù)的需要;第二頁(yè)的大小固定且由系統(tǒng)確定,而段的長(zhǎng)度卻不固定,決定于用戶(hù)所編寫(xiě)的程序;第三分頁(yè)的作業(yè)地址空間是一維的,而分段的作業(yè)地址空間是二維的。18. 試全面比較連續(xù)分配和離散分

28、配方式。a.連續(xù)分配是指為一個(gè)用戶(hù)程序分配一個(gè)連續(xù)的地址空間,包括單一連續(xù)分配方式和分區(qū)式分配方式,前者將內(nèi)存分為系統(tǒng)區(qū)和用戶(hù)區(qū),系統(tǒng)區(qū)供操作系統(tǒng)使用,用戶(hù)區(qū)供用戶(hù)使用,是最簡(jiǎn)單的一種存儲(chǔ)方式,但只能用于單用戶(hù)單任務(wù)的操作系統(tǒng)中;分區(qū)式分配方式分為固定分區(qū)和動(dòng)態(tài)分區(qū),固定分區(qū)是最簡(jiǎn)單的多道程序的存儲(chǔ)管理方式,由于每個(gè)分區(qū)的大小固定,必然會(huì)造成存儲(chǔ)空間的浪費(fèi);動(dòng)態(tài)分區(qū)是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為之分配連續(xù)的內(nèi)存空間,常用三種分配算法: 首次適應(yīng)算法,該法容易留下許多難以利用的小空閑分區(qū),加大查找開(kāi)銷(xiāo);循環(huán)首次適應(yīng)算法,該算法能使內(nèi)存中的空閑分區(qū)分布均勻,但會(huì)致使缺少大的空閑分區(qū);最佳適應(yīng)算法,

29、該算法也易留下許多難以利用的小空閑區(qū);b.離散分配方式基于將一個(gè)進(jìn)程直接分散地分配到許多不相鄰的分區(qū)中的思想,分為分頁(yè)式存儲(chǔ)管理,分段存儲(chǔ)管理和段頁(yè)式存儲(chǔ)管理. 分頁(yè)式存儲(chǔ)管理旨在提高內(nèi)存利用率,滿(mǎn)足系統(tǒng)管理的需要,分段式存儲(chǔ)管理則旨在滿(mǎn)足用戶(hù)(程序員)的需要,在實(shí)現(xiàn)共享和保護(hù)方面優(yōu)于分頁(yè)式存儲(chǔ)管理,而段頁(yè)式存儲(chǔ)管理則是將兩者結(jié)合起來(lái),取長(zhǎng)補(bǔ)短,即具有分段系統(tǒng)便于實(shí)現(xiàn),可共享,易于保護(hù),可動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像分頁(yè)系統(tǒng)那樣很好的解決外部碎片的問(wèn)題,以及為各個(gè)分段可離散分配內(nèi)存等問(wèn)題,顯然是一種比較有效的存儲(chǔ)管理方式;c.綜上可見(jiàn),連續(xù)分配方式和離散分配方式各有各自的特點(diǎn),應(yīng)根據(jù)實(shí)際情況加以改進(jìn)

30、和利用. 19. 虛擬存儲(chǔ)器有哪些特征?其中最本質(zhì)的特征是什么?特征:離散性、多次性、對(duì)換性、虛擬性; 最本質(zhì)的特征:離散性;最重要的特征:虛擬性。20. 實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪些硬件支持?a.對(duì)于為實(shí)現(xiàn)請(qǐng)求分頁(yè)存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)存及外存的計(jì)算機(jī)外,還需要有頁(yè)表機(jī)制,缺頁(yè)中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);b.對(duì)于為實(shí)現(xiàn)請(qǐng)求分段存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)存及外存的計(jì)算機(jī)外,還需要有段表機(jī)制,缺段中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);21. 實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪幾個(gè)關(guān)鍵技術(shù)?a.分頁(yè)和分段都采用離散分配的方式,且都要通過(guò)地址映射機(jī)構(gòu)來(lái)實(shí)現(xiàn)地址變換,這是它們的共同點(diǎn);2

31、5. 在請(qǐng)求分頁(yè)系統(tǒng)中,通常采用哪種頁(yè)面分配方式物理塊分配策略?三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換。26. 在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,采用FIFO頁(yè)面置換算法時(shí),假如一個(gè)作業(yè)的頁(yè)面走向?yàn)?、3、2、1、4、3、5、4、3、2、1、5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算在訪問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率,并比較所得結(jié)果。4 3 2 1 4 3 5 4 3 2 1 5M=3M=44441115553334442222233314444555511333344445222233331111222M=3時(shí),采用FIFO頁(yè)面置換算法的缺頁(yè)次數(shù)為9次,缺頁(yè)率為7

32、5%;M=4時(shí),采用FIFO頁(yè)面置換算法的缺頁(yè)次數(shù)為10次,缺頁(yè)率為83%。由此可見(jiàn),增加分配給作業(yè)的內(nèi)存塊數(shù),反而增加了缺頁(yè)次數(shù),提高了缺頁(yè)率,這種現(xiàn)象被稱(chēng)為是Belady現(xiàn)象。28. 試說(shuō)明改進(jìn)型Clock置換算法的基本原理?;驹恚涸趯⒁粋€(gè)頁(yè)面換出時(shí),如果該頁(yè)已被修改過(guò),便須將該頁(yè)重新寫(xiě)回到磁盤(pán)上;但如果該頁(yè)未被修改過(guò),則不必將它寫(xiě)回磁盤(pán)上。在改進(jìn)型算法中,除需考慮頁(yè)面的使用情況外,還須再增加一個(gè)因素,即置換代價(jià),這樣,選擇頁(yè)面換出時(shí),既要是未使用過(guò)的頁(yè)面,又要是未被修改過(guò)的頁(yè)面。15 什么是抖動(dòng)? 產(chǎn)生抖動(dòng)的原因是什么?a.抖動(dòng)(Thrashing)就是指當(dāng)內(nèi)存中已無(wú)空閑空間而又發(fā)生

33、缺頁(yè)中斷時(shí),需要從內(nèi)存中調(diào)出一頁(yè)程序或數(shù)據(jù)送磁盤(pán)的對(duì)換區(qū)中,如果算法不適當(dāng),剛被換出的頁(yè)很快被訪問(wèn),需重新調(diào)入,因此需再選一頁(yè)調(diào)出,而此時(shí)被換出的頁(yè)很快又要被訪問(wèn),因而又需將它調(diào)入,如此頻繁更換頁(yè)面,使得系統(tǒng)把大部分時(shí)間用在了頁(yè)面的調(diào)進(jìn)換出上,而幾乎不能完成任何有效的工作,我們稱(chēng)這種現(xiàn)象為抖動(dòng)。b.產(chǎn)生抖動(dòng)的原因是由于CPU的利用率和多道程序度的對(duì)立統(tǒng)一矛盾關(guān)系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會(huì)造成缺頁(yè)率的急劇上升,導(dǎo)致CPU的利用率下降,而系統(tǒng)的調(diào)度程序又會(huì)為了提高CPU利用率而繼續(xù)提高多道程序度,形成惡性循環(huán),我們稱(chēng)這時(shí)的進(jìn)程是處于抖動(dòng)狀態(tài)。第五章 設(shè)

34、備管理3. 什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?a.字節(jié)多路通道含有許多非分配型子通道分別連接在低、中速I(mǎi)/O設(shè)備上,子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按字節(jié)方式進(jìn)行數(shù)據(jù)傳送。當(dāng)?shù)谝粋€(gè)子通道控制其I/O設(shè)備完成一個(gè)字節(jié)的交換后,便立即騰出字節(jié)多路通道(主通道),讓給第二個(gè)子通道使用;當(dāng)?shù)诙€(gè)子通道也交換完一個(gè)字節(jié)后,又依樣把主通道讓給第三個(gè)子通道使用,以此類(lèi)推。轉(zhuǎn)輪一周后,重又返回由第一個(gè)子通道去使用主通道。b.數(shù)組選擇通道只含有一個(gè)分配型子通道,一段時(shí)間內(nèi)只能執(zhí)行一道通道程序、控制一臺(tái)設(shè)備按數(shù)組方式進(jìn)行數(shù)據(jù)傳送。通道被某臺(tái)設(shè)備占用后,便一直處于獨(dú)占狀態(tài),直至設(shè)備數(shù)據(jù)傳輸完畢

35、釋放該通道,故而通道利用率較低,主要用于連接多臺(tái)高速設(shè)備。c. 數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合而形成的一種新通道。其含有多個(gè)非分配型子通道分別連接在高、中速I(mǎi)/O設(shè)備上,子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按數(shù)組方式進(jìn)行數(shù)據(jù)傳送,因而既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿(mǎn)意的通道利用率。4. 如何解決因通道不足而產(chǎn)生的瓶頸問(wèn)題?解決因通道不足而產(chǎn)生的瓶頸問(wèn)題的最有效方法是增加設(shè)備到主機(jī)間的通路而不是增加通道。換言之,就是把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又連接到多個(gè)通道上。這種多通路方式不僅可以解決該瓶頸問(wèn)題,而且能夠提高系統(tǒng)的

36、可靠性,也即不會(huì)因?yàn)閭€(gè)別通道或控制器的故障而使設(shè)備與存儲(chǔ)器之間無(wú)法建立通路進(jìn)行數(shù)據(jù)傳輸。6. 試說(shuō)明I/O控制發(fā)展的主要推動(dòng)因素是什么?促使I/O控制不斷發(fā)展的幾個(gè)主要因素如下:a.盡量減少CPU對(duì)I/O控制的干預(yù),把CPU從繁雜的I/O控制中解脫出來(lái),以便更多地去完成數(shù)據(jù)處理任務(wù)。b.緩和CPU的高速性和設(shè)備的低速性之間速度不匹配的矛盾,以提高CPU的利用率和系統(tǒng)的吞吐量。c.提高CPU和I/O設(shè)備操作的并行程度,使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高整個(gè)系統(tǒng)的資源利用率和系統(tǒng)吞吐量。7. 有哪幾種I/O控制方式?各適用于何種場(chǎng)合?I/O控制方式:程序I/O方式、中斷驅(qū)動(dòng)I/O控制方式

37、、DMAI/O控制方式、I/O通道控制方式。程序I/O方式適用于早期的計(jì)算機(jī)系統(tǒng)中,并且是無(wú)中斷的計(jì)算機(jī)系統(tǒng);中斷驅(qū)動(dòng)I/O控制方式是普遍用于現(xiàn)代的計(jì)算機(jī)系統(tǒng)中;DMA I/O控制方式適用于I/O設(shè)備為塊設(shè)備時(shí)在和主機(jī)進(jìn)行數(shù)據(jù)交換的一種I/O控制方式;當(dāng)I/O設(shè)備和主機(jī)進(jìn)行數(shù)據(jù)交換是一組數(shù)據(jù)塊時(shí)通常采用I/O通道控制方式,但此時(shí)要求系統(tǒng)必須配置相應(yīng)的通道及通道控制器。10. 在單緩沖情況下,為什么系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(C, T)+M ??在塊設(shè)備輸入時(shí),假定從磁盤(pán)把一塊數(shù)據(jù)輸入到緩沖區(qū)的時(shí)間為T(mén);操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)傳送給用戶(hù)區(qū)的時(shí)間為M;而CPU對(duì)這一塊數(shù)據(jù)進(jìn)行計(jì)算得時(shí)間為C。在

38、單緩沖情況下,由于設(shè)備的輸入操作和CPU的處理操作可以并行,所以系統(tǒng)對(duì)每一整塊數(shù)據(jù)的處理時(shí)間為max(C, T) + M。11. 為什么在雙緩沖情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max(C, T)?該方式又稱(chēng)緩沖對(duì)換方式,在設(shè)備輸入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿(mǎn)后便轉(zhuǎn)向第二緩沖區(qū)。此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)移出數(shù)據(jù),并送入用戶(hù)進(jìn)程。接著由CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算。在雙緩沖區(qū)中,不僅設(shè)備的輸入操作和CPU的處理操作可以并行,設(shè)備的輸入操作和數(shù)據(jù)的傳送操作也可以并行,因此耗時(shí)大約為max(C+M,T)??紤]到M是內(nèi)存中數(shù)據(jù)塊的“搬家”耗時(shí),非常短暫可以省略,因此近似地認(rèn)為是:max(C,T)15.

39、 為什么要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?引入設(shè)備獨(dú)立性,可使應(yīng)用程序獨(dú)立于具體的物理設(shè)備,是設(shè)備分配具有靈活性。另外容易實(shí)現(xiàn)I/O重定向。為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須在設(shè)備驅(qū)動(dòng)程序之上設(shè)置一層設(shè)備獨(dú)立性軟件,用來(lái)執(zhí)行所有I/O設(shè)備的公用操作,并向用戶(hù)層軟件提供統(tǒng)一接口。關(guān)鍵是系統(tǒng)中必須設(shè)置一張邏輯設(shè)備表LUT用來(lái)進(jìn)行邏輯設(shè)備到物理設(shè)備的映射,其中每個(gè)表目中包含了邏輯設(shè)備名、物理設(shè)備名和設(shè)備驅(qū)動(dòng)程序入口地址三項(xiàng);當(dāng)應(yīng)用程序用邏輯設(shè)備名請(qǐng)求分配I/O設(shè)備時(shí),系統(tǒng)必須為它分配相應(yīng)的物理設(shè)備,并在LUT中建立一個(gè)表目,以后進(jìn)程利用該邏輯設(shè)備名請(qǐng)求I/O操作時(shí),便可從LUT中得到物理設(shè)備名和驅(qū)動(dòng)程序入

40、口地址。16在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)如何分配獨(dú)占設(shè)備?在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)按如下步驟來(lái)分配獨(dú)占設(shè)備:(1)進(jìn)程以邏輯設(shè)備名提出I/O請(qǐng)求。(2)根據(jù)邏輯設(shè)備表相應(yīng)表項(xiàng)獲得I/O請(qǐng)求的邏輯設(shè)備對(duì)應(yīng)類(lèi)型的物理設(shè)備在系統(tǒng)設(shè)備表中的指針。(3)從指針?biāo)肝恢闷痦樞驒z索系統(tǒng)設(shè)備表,直到找到一個(gè)屬于對(duì)應(yīng)I/O請(qǐng)求所用類(lèi)型、空閑可用且基于設(shè)備分配安全性算法驗(yàn)證為安全分配的設(shè)備的設(shè)備控制表,將對(duì)應(yīng)設(shè)備分配給請(qǐng)求進(jìn)程;如果未找到安全可用的空閑設(shè)備,則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到相應(yīng)類(lèi)型設(shè)備的等待隊(duì)列上等待喚醒和分配。(4)系統(tǒng)把設(shè)備分配給I/O請(qǐng)求進(jìn)程后,再到該設(shè)備的設(shè)備控制表中找出與其相連接的控制器的控

41、制器控制表,根據(jù)其狀態(tài)字段判斷該控制器是否忙碌,若忙則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到該控制器的等待隊(duì)列上;否則將該控制器分配給進(jìn)程。(5)系統(tǒng)把控制器分配給I/O請(qǐng)求進(jìn)程后,再到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,根據(jù)其狀態(tài)字段判斷該通道是否忙碌,若忙則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到該通道的等待隊(duì)列上;否則將該通道分配給進(jìn)程。(6)只有在設(shè)備、控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功,然后便可啟動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。17什么是虛擬設(shè)備?其實(shí)現(xiàn)所依賴(lài)的關(guān)鍵技術(shù)有哪些?虛擬設(shè)備是指通過(guò)虛擬技術(shù),可將一臺(tái)獨(dú)占設(shè)備變換成若干臺(tái)邏輯設(shè)備,供若干個(gè)用戶(hù)(進(jìn)程)同時(shí)使用。由于多臺(tái)邏輯

42、設(shè)備實(shí)際上并不存在,而只是給用戶(hù)的一種感覺(jué),因此被稱(chēng)為虛擬設(shè)備。其實(shí)現(xiàn)所依賴(lài)的關(guān)鍵技術(shù)是SPOOLing技術(shù)。19在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLING系統(tǒng)應(yīng)為請(qǐng)求I/O的進(jìn)程提供哪些服務(wù)?在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing系統(tǒng)應(yīng)為請(qǐng)求I/O的進(jìn)程提供以下服務(wù):(1)由輸出進(jìn)程在輸出井中為之申請(qǐng)一空閑盤(pán)塊區(qū),并將要打印的數(shù)據(jù)送入其中;(2)輸出進(jìn)程再為用戶(hù)進(jìn)程申請(qǐng)一張空白的用戶(hù)打印表,并將用戶(hù)的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。(3)一旦打印機(jī)空閑,輸出進(jìn)程便從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。第六章 文件管

43、理1. 何謂數(shù)據(jù)項(xiàng)、記錄和文件?a.數(shù)據(jù)項(xiàng)是最低級(jí)的數(shù)據(jù)組織形式,可分為基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng)?;緮?shù)據(jù)項(xiàng)是用于描述一個(gè)對(duì)象某種屬性的字符集,是數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,即原子數(shù)據(jù),又稱(chēng)為數(shù)據(jù)元素或字段。組合數(shù)據(jù)項(xiàng)則由若干個(gè)基本數(shù)據(jù)項(xiàng)構(gòu)成。b.記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。c.文件是指有創(chuàng)建者所定義的、具有文件名的一組相關(guān)信息的集合提。4. 何謂邏輯文件?何謂物理文件?(何謂文件邏輯結(jié)構(gòu)?何謂文件的物理結(jié)構(gòu))文件的邏輯結(jié)構(gòu)是指從用戶(hù)的觀點(diǎn)出發(fā)所觀察到的文件組織形式,也就是用戶(hù)可以直接處理的數(shù)據(jù)及其結(jié)構(gòu),它獨(dú)立于物理特性,;而文件的物理結(jié)構(gòu)則是指文件在外存

44、上的存儲(chǔ)組織形式,與存儲(chǔ)介質(zhì)的存儲(chǔ)性能有關(guān)。5如何提高對(duì)變長(zhǎng)記錄順序文件的檢索速度?為了提高對(duì)變長(zhǎng)記錄順序文件的檢索速度,可為其建立一張索引表,以主文件中每條記錄的長(zhǎng)度及指向?qū)?yīng)記錄的指針(即該記錄在邏輯地址空間的首址)作為相應(yīng)每個(gè)表項(xiàng)的內(nèi)容。由于索引表本身是一個(gè)定長(zhǎng)記錄的順序文件,若將其按記錄鍵排序,則可以實(shí)現(xiàn)對(duì)主文件的方便快速的直接存取。需要指出的是,如果文件較大,應(yīng)通過(guò)建立分組多級(jí)索引以進(jìn)一步提高檢索效率。8試說(shuō)明順序文件的結(jié)構(gòu)及其優(yōu)點(diǎn)。順序文件中的記錄可按照兩種順序進(jìn)行排列,若各記錄按存入時(shí)間的先后排列所形成的文件是串結(jié)構(gòu)文件,若各記錄按關(guān)鍵字排列所形成的文件是順序結(jié)構(gòu)文件。定長(zhǎng)記錄通

45、常采用此種結(jié)構(gòu)的文件。優(yōu)點(diǎn):當(dāng)系統(tǒng)對(duì)記錄進(jìn)行批量存取時(shí),順序文件的存取效率是所有邏輯文件中最高的。9在鏈接式文件中常采用哪幾種連接方式?為什么?在鏈接式文件中常采用顯式鏈接方法,由于這種鏈接方式是把用于鏈接文件各個(gè)物理塊的指針,顯式地存放在內(nèi)存的一張鏈表中,而對(duì)于查找記錄的過(guò)程也是在內(nèi)存中進(jìn)行的,因此相對(duì)于隱式鏈接方式,在檢索記錄時(shí)能有效地調(diào)高檢索速度,并能大大減少訪問(wèn)磁盤(pán)的次數(shù),節(jié)省系統(tǒng)開(kāi)銷(xiāo)。10在MS-DOS中有兩個(gè)文件A和B,A占用11,12,16和14四個(gè)盤(pán)塊;B占用13,18和20三個(gè)盤(pán)塊。試畫(huà)出在文件A和B中個(gè)盤(pán)塊間的鏈接情況及FAT的情況。FCB A FAT1110111213141516171819201216FCB B18EOF141320EOF12假定一個(gè)文件系統(tǒng)的組織方式與MS-DOS相似,在FAT中可有64K個(gè)指針,磁盤(pán)的盤(pán)塊大小為512B,試問(wèn)該文件系統(tǒng)能否指引一個(gè)512MB的磁盤(pán)?解:512MB/512B=1M個(gè)盤(pán)塊,而每個(gè)盤(pán)塊都應(yīng)有一個(gè)指針來(lái)指示,所以應(yīng)該有1M個(gè)指針,因此若有64K個(gè)指針則不能指引一個(gè)512MB的磁盤(pán)。13為了快速訪問(wèn),又易于更新,當(dāng)數(shù)據(jù)為以下形式時(shí),應(yīng)選用何種文件組織方式。 不經(jīng)常更新,經(jīng)常隨機(jī)訪問(wèn); 經(jīng)常更新,經(jīng)常按一定順序訪問(wèn); 經(jīng)常更新,經(jīng)常隨機(jī)訪問(wèn); 不經(jīng)常更新,經(jīng)

溫馨提示

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