![《操作系統(tǒng)(四版)》習(xí)題解答_第1頁](http://file4.renrendoc.com/view4/M02/1F/19/wKhkGGaPMZaARAgbAAG4y-T8euc584.jpg)
![《操作系統(tǒng)(四版)》習(xí)題解答_第2頁](http://file4.renrendoc.com/view4/M02/1F/19/wKhkGGaPMZaARAgbAAG4y-T8euc5842.jpg)
![《操作系統(tǒng)(四版)》習(xí)題解答_第3頁](http://file4.renrendoc.com/view4/M02/1F/19/wKhkGGaPMZaARAgbAAG4y-T8euc5843.jpg)
![《操作系統(tǒng)(四版)》習(xí)題解答_第4頁](http://file4.renrendoc.com/view4/M02/1F/19/wKhkGGaPMZaARAgbAAG4y-T8euc5844.jpg)
![《操作系統(tǒng)(四版)》習(xí)題解答_第5頁](http://file4.renrendoc.com/view4/M02/1F/19/wKhkGGaPMZaARAgbAAG4y-T8euc5845.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《操作系統(tǒng)(四版)》習(xí)題解答紅色字是這個(gè)學(xué)期考試容第1章習(xí)題答案一、填空1.計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。2.按功能劃分,軟件可分為系統(tǒng)軟件和應(yīng)用軟件兩種。3.操作系統(tǒng)是在裸機(jī)上加載的第一層軟件,是對(duì)計(jì)算機(jī)硬件系統(tǒng)功能的首次擴(kuò)充。4.操作系統(tǒng)的基本功能是處理機(jī)(包含作業(yè))管理、存儲(chǔ)管理、設(shè)備管理和文件管理。5.在分時(shí)和批處理系統(tǒng)結(jié)合的操作系統(tǒng)中引入“前臺(tái)”和“后臺(tái)”作業(yè)的概念,其目的是改善系統(tǒng)功能,提高處理能力。6.分時(shí)系統(tǒng)的主要特征為多路性、交互性、獨(dú)立性和及時(shí)性。7.實(shí)時(shí)系統(tǒng)與分時(shí)以及批處理系統(tǒng)的主要區(qū)別是實(shí)時(shí)性和可靠性。8.若一個(gè)操作系統(tǒng)具有很強(qiáng)的交互性,可同時(shí)供多個(gè)用戶使用,則它應(yīng)該是分時(shí)操作系統(tǒng)。9.如果一個(gè)操作系統(tǒng)在用戶提交作業(yè)后,不提供交互能力,只追求計(jì)算機(jī)資源的利用率、大吞吐量和作業(yè)流程的自動(dòng)化,則它應(yīng)該屬于批處理操作系統(tǒng)。10.采用多道程序設(shè)計(jì)技術(shù),能充分發(fā)揮CPU和外部設(shè)備并行工作的能力。11.計(jì)算機(jī)網(wǎng)絡(luò)是在計(jì)算機(jī)技術(shù)和通信技術(shù)高度發(fā)展基礎(chǔ)上相結(jié)合的產(chǎn)物。12.在計(jì)算機(jī)網(wǎng)絡(luò)中,各計(jì)算機(jī)仍使用自己的操作系統(tǒng),由它管理自身的資源。只有各計(jì)算機(jī)間進(jìn)行信息傳遞、以及使用網(wǎng)絡(luò)中的可共享資源時(shí),才會(huì)涉及到網(wǎng)絡(luò)操作系統(tǒng)。13.如果一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng),其處理和控制功能被分散在系統(tǒng)的各個(gè)計(jì)算機(jī)上,系統(tǒng)中的所有任務(wù)可動(dòng)態(tài)地分配到各個(gè)計(jì)算機(jī)中,使它們并行執(zhí)行,實(shí)現(xiàn)分布處理。這樣的系統(tǒng)被稱為“分布式系統(tǒng)”,其上配置的操作系統(tǒng),被稱為“分布式操作系統(tǒng)”。二、選擇1.操作系統(tǒng)是一種B。A.通用軟件 B.系統(tǒng)軟件 C.應(yīng)用軟件 D.軟件包2.操作系統(tǒng)是對(duì)C進(jìn)行管理的軟件。A系統(tǒng)軟件 B.系統(tǒng)硬件 C.計(jì)算機(jī)資源 D.應(yīng)用程序3.操作系統(tǒng)中采用多道程序設(shè)計(jì)技術(shù),以提高CPU和外部設(shè)備的A。A.利用率 B.可靠性 C.穩(wěn)定性 D.兼容性4.計(jì)算機(jī)系統(tǒng)中配置操作系統(tǒng)的目的是提高計(jì)算機(jī)的B和方便用戶使用。A.速度 B.利用率 C.靈活性 D.兼容性5.C操作系統(tǒng)允許多個(gè)用戶在其終端上同時(shí)交互地使用計(jì)算機(jī)。A.批處理 B.實(shí)時(shí) C.分時(shí) D.多道批處理6.如果分時(shí)系統(tǒng)的時(shí)間片一定,那么D,響應(yīng)時(shí)間越長。A.用戶數(shù)越少 B.存越少 C.存越多 D.用戶數(shù)越多7.B不是實(shí)時(shí)系統(tǒng)的基本特點(diǎn)。A.安全性 B.公平響應(yīng) C.實(shí)時(shí)性 D.可靠性三、問答1.什么是“多道程序設(shè)計(jì)”技術(shù)?它對(duì)操作系統(tǒng)的形成起到什么作用?答:所謂“多道程序設(shè)計(jì)”技術(shù),即是通過軟件的手段,允許在計(jì)算機(jī)存中同時(shí)存放幾道相互獨(dú)立的作業(yè)程序,讓它們對(duì)系統(tǒng)中的資源進(jìn)行“共享”和“競(jìng)爭(zhēng)”,以使系統(tǒng)中的各種資源盡可能地滿負(fù)荷工作,從而提高整個(gè)計(jì)算機(jī)系統(tǒng)的使用效率。基于這種考慮,計(jì)算機(jī)科學(xué)家開始把CPU、存儲(chǔ)器、外部設(shè)備以及各種軟件都視為計(jì)算機(jī)系統(tǒng)的“資源”,并逐步設(shè)計(jì)出一種軟件來管理這些資源,不僅使它們能夠得到合理地使用,而且還要高效地使用。具有這種功能的軟件就是“操作系統(tǒng)”。所以,“多道程序設(shè)計(jì)”的出現(xiàn),加快了操作系統(tǒng)的誕生。2.怎樣理解“虛擬機(jī)”的概念?答:拿操作系統(tǒng)來說,它是在裸機(jī)上加載的第一層軟件,是對(duì)計(jì)算機(jī)硬件系統(tǒng)功能的首次擴(kuò)充。從用戶的角度看,計(jì)算機(jī)配置了操作系統(tǒng)后,由于操作系統(tǒng)隱蔽了硬件的復(fù)雜細(xì)節(jié),用戶會(huì)感到機(jī)器使用起來更方便、容易了。這樣,通過操作系統(tǒng)的作用使展現(xiàn)在用戶面前的是一臺(tái)功能經(jīng)過擴(kuò)展了的機(jī)器。這臺(tái)“機(jī)器”不是硬件搭建成的,現(xiàn)實(shí)生活中并不存在具有這種功能的真實(shí)機(jī)器,它只是用戶的一種感覺而已。所以,就把這樣的機(jī)器稱為“虛擬機(jī)”。3.對(duì)于分時(shí)系統(tǒng),怎樣理解“從宏觀上看,多個(gè)用戶同時(shí)工作,共享系統(tǒng)的資源;從微觀上看,各終端程序是輪流運(yùn)行一個(gè)時(shí)間片”?答:在分時(shí)系統(tǒng)中,系統(tǒng)把CPU時(shí)間劃分成許多時(shí)間片,每個(gè)終端用戶可以使用由一個(gè)時(shí)間片規(guī)定的CPU時(shí)間,多個(gè)用戶終端就輪流地使用CPU。這樣的效果是每個(gè)終端都開始了自己的工作,得到了及時(shí)的響應(yīng)。也就是說,“從宏觀上看,多個(gè)用戶同時(shí)工作,共享系統(tǒng)的資源”。但實(shí)際上,CPU在每一時(shí)刻只為一個(gè)終端服務(wù),即“從微觀上看,各終端程序是輪流運(yùn)行一個(gè)時(shí)間片”。4.分布式系統(tǒng)為什么具有健壯性?答:由于分布式系統(tǒng)的處理和控制功能是分布的,任何站點(diǎn)發(fā)生的故障都不會(huì)給整個(gè)系統(tǒng)造成太大的影響。另外,當(dāng)系統(tǒng)中的設(shè)備出現(xiàn)故障時(shí),可以通過容錯(cuò)技術(shù)實(shí)現(xiàn)系統(tǒng)的重構(gòu),以保證系統(tǒng)的正常運(yùn)行。這一切都表明分布式系統(tǒng)具有健壯性。5.為什么嵌入式操作系統(tǒng)必須具有可裁剪性?答:基于嵌入式應(yīng)用的多樣化,嵌入式操作系統(tǒng)應(yīng)該面向用戶、面向產(chǎn)品、面向應(yīng)用。它必須有很強(qiáng)的適應(yīng)能力,能夠根據(jù)應(yīng)用系統(tǒng)的特點(diǎn)和要求,靈活配置,方便剪裁,伸縮自如。第2章習(xí)題答案一、填空1.進(jìn)程在執(zhí)行過程中有三種基本狀態(tài),它們是運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài)。2.系統(tǒng)中一個(gè)進(jìn)程由程序、數(shù)據(jù)集合和進(jìn)程控制塊(PCB)三部分組成。3.在多道程序設(shè)計(jì)系統(tǒng)中,進(jìn)程是一個(gè)動(dòng)態(tài)概念,程序是一個(gè)靜態(tài)概念。4.在一個(gè)單CPU系統(tǒng)中,若有5個(gè)用戶進(jìn)程。假設(shè)當(dāng)前系統(tǒng)為用戶態(tài),則處于就緒狀態(tài)的用戶進(jìn)程最多有4個(gè),最少有0個(gè)。注意,題目里給出的是假設(shè)當(dāng)前系統(tǒng)為用戶態(tài),這表明現(xiàn)在有一個(gè)進(jìn)程處于運(yùn)行狀態(tài),因此最多有4個(gè)進(jìn)程處于就緒態(tài)。也可能除一個(gè)在運(yùn)行外,其他4個(gè)都處于阻塞。這時(shí),處于就緒的進(jìn)程一個(gè)也沒有。5.總的來說,進(jìn)程調(diào)度有兩種方式,即不可剝奪方式和剝奪方式。6.進(jìn)程調(diào)度程序具體負(fù)責(zé)中央處理機(jī)(CPU)的分配。7.為了使系統(tǒng)的各種資源得到均衡使用,進(jìn)行作業(yè)調(diào)度時(shí),應(yīng)該注意CPU忙碌作業(yè)和I/O忙碌作業(yè)的搭配。8.所謂系統(tǒng)調(diào)用,就是用戶程序要調(diào)用操作系統(tǒng)提供的一些子功能。9.作業(yè)被系統(tǒng)接納后到運(yùn)行完畢,一般還需要經(jīng)歷后備、運(yùn)行和完成三個(gè)階段。10.假定一個(gè)系統(tǒng)中的所有作業(yè)同時(shí)到達(dá),那么使作業(yè)平均周轉(zhuǎn)時(shí)間為最小的作業(yè)調(diào)度算法是短作業(yè)優(yōu)先調(diào)度算法。11.進(jìn)程是程序的一次執(zhí)行過程,程序是進(jìn)程賴以存在的基礎(chǔ)。12.可以把CPU的指令分為兩類,一類是操作系統(tǒng)和用戶都能使用的指令,一類是只能由操作系統(tǒng)使用的指令。前者稱為“非特權(quán)”指令,后者稱為“特權(quán)”指令。13.系統(tǒng)調(diào)用命令的程序?qū)儆诓僮飨到y(tǒng),它應(yīng)該在管態(tài)下執(zhí)行。用戶程序只有通過計(jì)算機(jī)系統(tǒng)提供的“訪管”指令,才能實(shí)現(xiàn)由目態(tài)轉(zhuǎn)為管態(tài)、進(jìn)而調(diào)用這些系統(tǒng)調(diào)用命令。14.訪管指令是一條非特權(quán)指令,功能是執(zhí)行它就會(huì)產(chǎn)生一個(gè)軟中斷,促使中央處理機(jī)由目態(tài)轉(zhuǎn)為管態(tài),進(jìn)入操作系統(tǒng),并處理該中斷。15.一個(gè)進(jìn)程創(chuàng)建后,系統(tǒng)就感知到它的存在;一個(gè)進(jìn)程撤銷后,系統(tǒng)就無法再感知到它。于是,從創(chuàng)建到撤銷,這個(gè)時(shí)間段就是一個(gè)進(jìn)程的“生命期”。16.由于PCB是隨著進(jìn)程的創(chuàng)建而建立,隨著進(jìn)程的撤銷而取消的,因此系統(tǒng)是通過PCB來“感知”系統(tǒng)中的進(jìn)程的,PCB是進(jìn)程存在的唯一標(biāo)志。17.進(jìn)程調(diào)度程序負(fù)責(zé)具體的處理機(jī)分配,完成進(jìn)程間的切換工作,因此它的執(zhí)行頻率是相當(dāng)高的,是一個(gè)操作系統(tǒng)的真正核心。二、選擇1.在進(jìn)程管理中,當(dāng)C時(shí),進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。A.進(jìn)程被調(diào)度程序選中 B.進(jìn)程等待某一事件發(fā)生C.等待的事件出現(xiàn) D.時(shí)間片到2.在分時(shí)系統(tǒng)中,一個(gè)進(jìn)程用完給它的時(shí)間片后,其狀態(tài)變?yōu)锳。A.就緒 B.等待 C.運(yùn)行 D.由用戶設(shè)定3.下面對(duì)進(jìn)程的描述中,錯(cuò)誤的是D。A.進(jìn)程是動(dòng)態(tài)的概念 B.進(jìn)程的執(zhí)行需要CPUC.進(jìn)程具有生命周期 D.進(jìn)程是指令的集合4.操作系統(tǒng)通過B對(duì)進(jìn)程進(jìn)行管理。A.JCB B.PCB C.DCT D.FCB5.一個(gè)進(jìn)程被喚醒,意味著該進(jìn)程D。A.重新占有CPU B.優(yōu)先級(jí)變?yōu)樽畲?C.移至等待隊(duì)列之首 D.變?yōu)榫途w狀態(tài)6.由各作業(yè)JCB形成的隊(duì)列稱為C。A.就緒作業(yè)隊(duì)列 B.阻塞作業(yè)隊(duì)列 C.后備作業(yè)隊(duì)列 D.運(yùn)行作業(yè)隊(duì)列7.既考慮作業(yè)等待時(shí)間,又考慮作業(yè)執(zhí)行時(shí)間的作業(yè)調(diào)度算法是A。A.響應(yīng)比高者優(yōu)先 B.短作業(yè)優(yōu)先 C.優(yōu)先級(jí)調(diào)度 D.先來先服務(wù)8.作業(yè)調(diào)度程序從處于D狀態(tài)的隊(duì)列中選取適當(dāng)?shù)淖鳂I(yè)投入運(yùn)行。A.就緒 B.提交 C.等待 D.后備9.A是指從作業(yè)提交系統(tǒng)到作業(yè)完成的時(shí)間間隔。A.周轉(zhuǎn)時(shí)間 B.響應(yīng)時(shí)間 C.等待時(shí)間 D.運(yùn)行時(shí)間10.計(jì)算機(jī)系統(tǒng)在執(zhí)行C時(shí),會(huì)自動(dòng)從目態(tài)變換到管態(tài)。A.P操作 B.V操作 C.系統(tǒng)調(diào)用 D.I/O指令11.進(jìn)程狀態(tài)由就緒變?yōu)檫\(yùn)行,是由于C引起的。 A.中斷事件 B.進(jìn)程狀態(tài)變遷 C.進(jìn)程調(diào)度 D.為作業(yè)創(chuàng)建進(jìn)程12.當(dāng)一個(gè)進(jìn)程處于D時(shí),稱其為就緒狀態(tài)。 A.等著讀磁盤上的信息 B.等著進(jìn)入存 C.等著輸入一批數(shù)據(jù) D.等著獲得CPU的控制權(quán)13.在操作系統(tǒng)中,處于就緒和阻塞狀態(tài)的進(jìn)程都沒有占用處理機(jī)。當(dāng)處理機(jī)空閑時(shí),正確的操作應(yīng)該是B。 A.就緒和阻塞進(jìn)程都可以變遷成為運(yùn)行狀態(tài) B.只有就緒進(jìn)程可以變遷成為運(yùn)行狀態(tài) C.只有阻塞進(jìn)程可以變遷成為運(yùn)行狀態(tài) D.就緒和阻塞狀態(tài)的進(jìn)程都不能變遷成為運(yùn)行進(jìn)程14.我們把“邏輯上獨(dú)立的程序,在執(zhí)行時(shí)間上相互重疊,一個(gè)程序的執(zhí)行還沒有結(jié)束,另一個(gè)程序的執(zhí)行已經(jīng)開始”的這種特性,稱為程序執(zhí)行的A。A.并發(fā)性 B.并行性 C.可執(zhí)行性 D.可交互性三、問答1.在多道程序設(shè)計(jì)系統(tǒng)中,如何理解“存中的多個(gè)程序的執(zhí)行過程交織在一起,大家都在走走停?!边@樣一個(gè)現(xiàn)象?答:在多道程序設(shè)計(jì)系統(tǒng)中,存中存放多個(gè)程序,它們以交替的方式使用CPU。因此,從宏觀上看,這些程序都開始了自己的工作。但由于CPU只有一個(gè),在任何時(shí)刻CPU只能執(zhí)行一個(gè)進(jìn)程程序。所以這些進(jìn)程程序的執(zhí)行過程是交織在一起的。也就是說,從微觀上看,每一個(gè)進(jìn)程一會(huì)兒在向前走,一會(huì)兒又停步不前,處于一種“走走停?!钡臓顟B(tài)之中。2.什么是“原語”、“特權(quán)指令”、“系統(tǒng)調(diào)用命令”和“訪管指令”?它們之間有無一定的聯(lián)系?答:特權(quán)指令和訪管指令都是CPU指令系統(tǒng)中的指令,只是前者是一些只能在管態(tài)下執(zhí)行的指令,后者是一條只能在目態(tài)下執(zhí)行的指令。原語和系統(tǒng)調(diào)用命令都是操作系統(tǒng)中的功能程序,只是前者執(zhí)行時(shí)不能被其他程序所打斷,后者沒有這個(gè)要求。操作系統(tǒng)中有些系統(tǒng)調(diào)用命令是以原語的形式出現(xiàn)的,例如創(chuàng)建進(jìn)程就是一條原語式的系統(tǒng)調(diào)用命令。但并不是所有系統(tǒng)調(diào)用命令都是原語。因?yàn)槿绻菢拥脑挘麄€(gè)系統(tǒng)的并發(fā)性就不可能得到充分地發(fā)揮。3.操作系統(tǒng)是如何處理源程序中出現(xiàn)的系統(tǒng)調(diào)用命令的?答:編譯程序總是把源程序中的系統(tǒng)調(diào)用命令改寫成為一條訪管指令和相應(yīng)的參數(shù)。這樣在程序?qū)嶋H被執(zhí)行時(shí),就通過訪管指令進(jìn)入操作系統(tǒng),達(dá)到調(diào)用操作系統(tǒng)功能子程序的目的。4.系統(tǒng)調(diào)用與一般的過程調(diào)用有什么區(qū)別?答:系統(tǒng)調(diào)用是指在用戶程序中調(diào)用操作系統(tǒng)提供的功能子程序;一般的過程調(diào)用是指在一個(gè)程序中調(diào)用另一個(gè)程序。因此它們之間有如下三點(diǎn)區(qū)別。(1)一般的過程調(diào)用,調(diào)用者與被調(diào)用者都運(yùn)行在相同的CPU狀態(tài),即或都處于目態(tài)(用戶程序調(diào)用用戶程序),或都處于管態(tài)(系統(tǒng)程序調(diào)用系統(tǒng)程序);但發(fā)生系統(tǒng)調(diào)用時(shí),發(fā)出調(diào)用命令的調(diào)用者運(yùn)行在目態(tài),而被調(diào)用的對(duì)象則運(yùn)行在管態(tài),即調(diào)用者與被調(diào)用者運(yùn)行在不同的CPU狀態(tài)。(2)一般的過程調(diào)用,是直接通過轉(zhuǎn)移指令轉(zhuǎn)向被調(diào)用的程序;但發(fā)生系統(tǒng)調(diào)用時(shí),只能通過訪管指令提供的一個(gè)統(tǒng)一的入口,由目態(tài)進(jìn)入管態(tài),經(jīng)分析后,才轉(zhuǎn)向相應(yīng)的操作系統(tǒng)命令處理程序。(3)一般的過程調(diào)用,在被調(diào)用者執(zhí)行完后,就徑直返回?cái)帱c(diǎn)繼續(xù)執(zhí)行;但系統(tǒng)調(diào)用可能會(huì)導(dǎo)致進(jìn)程狀態(tài)的變化,從而引起系統(tǒng)重新分配處理機(jī)。因此,系統(tǒng)調(diào)用處理結(jié)束后,不一定是返回調(diào)用者斷點(diǎn)處繼續(xù)執(zhí)行。5.試述創(chuàng)建進(jìn)程原語的主要功能。答:創(chuàng)建進(jìn)程原語的主要功能有以下三項(xiàng)。(1)為新建進(jìn)程申請(qǐng)一個(gè)PCB。(2)將創(chuàng)建者(即父進(jìn)程)提供的新建進(jìn)程的信息填入PCB中。(3)將新建進(jìn)程設(shè)置為就緒狀態(tài),并按照所采用的調(diào)度算法,把PCB排入就緒隊(duì)列中。6.處于阻塞狀態(tài)的一個(gè)進(jìn)程,它所等待的事件發(fā)生時(shí),就把它的狀態(tài)由阻塞改變?yōu)榫途w,讓它到就緒隊(duì)列里排隊(duì),為什么不直接將它投入運(yùn)行呢?答:只要是涉及管理,就應(yīng)該有管理的規(guī)則,沒有規(guī)則就不成方圓。如果處于阻塞狀態(tài)的一個(gè)進(jìn)程,在它所等待的事件發(fā)生時(shí)就徑直將它投入運(yùn)行(也就是把CPU從當(dāng)前運(yùn)行進(jìn)程的手中搶奪過來),那么系統(tǒng)就無法控制對(duì)CPU這種資源的管理和使用,進(jìn)而也就失去了設(shè)置操作系統(tǒng)的作用。所以,阻塞狀態(tài)的進(jìn)程在它所等待的事件發(fā)生時(shí),必須先進(jìn)入就緒隊(duì)列,然后再去考慮它使用CPU的問題。7.作業(yè)調(diào)度與進(jìn)程調(diào)度有什么區(qū)別?答:作業(yè)調(diào)度和進(jìn)程調(diào)度(即CPU調(diào)度)都涉及到CPU的分配。但作業(yè)調(diào)度只是選擇參加CPU競(jìng)爭(zhēng)的作業(yè),它并不具體分配CPU。而進(jìn)程調(diào)度是在作業(yè)調(diào)度完成選擇后的基礎(chǔ)上,把CPU真正分配給某一個(gè)具體的進(jìn)程使用。8.系統(tǒng)中的各種進(jìn)程隊(duì)列都是由進(jìn)程的PCB而成的。當(dāng)一個(gè)進(jìn)程的狀態(tài)從阻塞變?yōu)榫途w狀態(tài)時(shí),它的PCB從哪個(gè)隊(duì)列移到哪個(gè)隊(duì)列?它所對(duì)應(yīng)的程序也要跟著移來移去嗎?為什么?答:當(dāng)一個(gè)進(jìn)程的狀態(tài)從阻塞變?yōu)榫途w時(shí),它的PCB就從原先在的阻塞隊(duì)列移到就緒隊(duì)列里。在把進(jìn)程的PCB從這個(gè)隊(duì)列移到另一個(gè)隊(duì)列時(shí),只是移動(dòng)進(jìn)程的PCB,進(jìn)程所對(duì)應(yīng)的程序是不動(dòng)的。這是因?yàn)樵谶M(jìn)程的PCB里,總是記錄有它的程序的斷點(diǎn)信息。知道了斷點(diǎn)的信息,就能夠知道程序當(dāng)前應(yīng)該從哪里開始往下執(zhí)行了。這正是保護(hù)現(xiàn)場(chǎng)所起的作用。9.為什么說響應(yīng)比高者優(yōu)先作業(yè)調(diào)度算法是對(duì)先來先服務(wù)以及短作業(yè)優(yōu)先這兩種調(diào)度算法的折中?答:先來先服務(wù)的作業(yè)調(diào)度算法,重點(diǎn)考慮的是作業(yè)在后備作業(yè)隊(duì)列里的等待時(shí)間,因此對(duì)短作業(yè)不利;短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,重點(diǎn)考慮的是作業(yè)所需的CPU時(shí)間(當(dāng)然,這個(gè)時(shí)間是用戶自己估計(jì)的),因此對(duì)長作業(yè)不利?!绊憫?yīng)比高者優(yōu)先”作業(yè)調(diào)度算法,總是在需要調(diào)度時(shí),考慮作業(yè)已經(jīng)等待的時(shí)間和所需運(yùn)行時(shí)間之比,即:該作業(yè)已等待時(shí)間/該作業(yè)所需CPU時(shí)間不難看出,這個(gè)比值的分母是一個(gè)不變的量。隨著時(shí)間的推移,一個(gè)作業(yè)的“已等待時(shí)間”會(huì)不斷發(fā)生變化,也就是分子在不斷地變化。顯然,短作業(yè)比較容易獲得較高的響應(yīng)比。這是因?yàn)樗姆帜篙^小,只要稍加等待,整個(gè)比值就會(huì)很快上升。另一方面,長作業(yè)的分母雖然很大,但隨著它等待時(shí)間的增加,比值也會(huì)逐漸上升,從而獲得較高的響應(yīng)比。根據(jù)這種分析,可見“響應(yīng)比高者優(yōu)先”的作業(yè)調(diào)度算法,既照顧到了短作業(yè)的利益,也照顧到了長作業(yè)的利益,是對(duì)先來先服務(wù)以及短作業(yè)優(yōu)先這兩種調(diào)度算法的一種折中。10.短作業(yè)優(yōu)先調(diào)度算法總能得到最小的平均周轉(zhuǎn)時(shí)間嗎?為什么?答:短作業(yè)優(yōu)先調(diào)度算法只有在所有作業(yè)同時(shí)到達(dá)后備作業(yè)隊(duì)列時(shí),才能得到最小的平均周轉(zhuǎn)時(shí)間。如果各作業(yè)不是同時(shí)到達(dá),這個(gè)結(jié)論是不成立的??梢杂梅蠢f明,例如,教材上舉有如下例子:考慮有5個(gè)作業(yè)A到E,運(yùn)行時(shí)間分別是2、4、1、1、1;到達(dá)時(shí)間分別是0、0、3、3、3。按照短作業(yè)優(yōu)先的原則,最初只有A和B可以參與選擇,因?yàn)槠渌?個(gè)還沒有到達(dá)。于是,運(yùn)行順序應(yīng)該是A、B、C、D、E。它們每個(gè)的周轉(zhuǎn)時(shí)間分別是2、6、4、5、6,平均周轉(zhuǎn)時(shí)間是4.6。但如果按照順序B、C、D、E、A來調(diào)度,它們每一個(gè)的周轉(zhuǎn)時(shí)間成為9、4、2、3、4,平均周轉(zhuǎn)時(shí)間是4.4。結(jié)果比短作業(yè)優(yōu)先調(diào)度算法好。之所以會(huì)這樣,就是因?yàn)檫@5個(gè)作業(yè)并沒有同時(shí)到達(dá)。11.什么是“系統(tǒng)進(jìn)程”、什么是“用戶進(jìn)程”?它們有何區(qū)別?答:在多道程序設(shè)計(jì)系統(tǒng)中,既運(yùn)行著操作系統(tǒng)程序,又運(yùn)行著用戶程序,因此整個(gè)系統(tǒng)中存在著兩類進(jìn)程,一類是系統(tǒng)進(jìn)程,一類是用戶進(jìn)程。操作系統(tǒng)中用于管理系統(tǒng)資源的那些并發(fā)程序,形成了一個(gè)個(gè)系統(tǒng)進(jìn)程,它們提供系統(tǒng)的服務(wù),分配系統(tǒng)的資源;可以并發(fā)執(zhí)行的用戶程序段,形成了一個(gè)個(gè)用戶進(jìn)程,它們是操作系統(tǒng)的服務(wù)對(duì)象,是系統(tǒng)資源的實(shí)際的享用者??梢钥闯觯@是兩類不同性質(zhì)的進(jìn)程,主要區(qū)別如下。(1)系統(tǒng)進(jìn)程之間的相互關(guān)系由操作系統(tǒng)負(fù)責(zé)協(xié)調(diào),以便有利于增加系統(tǒng)的并行性,提高資源的整體利用率;用戶進(jìn)程之間的相互關(guān)系要由用戶自己(在程序中)安排。不過,操作系統(tǒng)會(huì)向用戶提供一定的協(xié)調(diào)手段(以命令的形式)。(2)系統(tǒng)進(jìn)程直接管理有關(guān)的軟、硬件資源的活動(dòng);用戶進(jìn)程不得插手資源管理。在需要使用某種資源時(shí),必須向系統(tǒng)提出申請(qǐng),由系統(tǒng)統(tǒng)一調(diào)度與分配。(3)系統(tǒng)進(jìn)程與用戶進(jìn)程都需要使用系統(tǒng)中的各種資源,它們都是資源分配與運(yùn)行調(diào)度的獨(dú)立單位,但系統(tǒng)進(jìn)程的使用級(jí)別,應(yīng)該高于用戶進(jìn)程。也就是說,在雙方出現(xiàn)競(jìng)爭(zhēng)時(shí),系統(tǒng)進(jìn)程有優(yōu)先獲得資源、優(yōu)先得以運(yùn)行的權(quán)利。只有這樣,才能保證計(jì)算機(jī)系統(tǒng)高效、有序的工作。12.給定n個(gè)作業(yè)J1、J2、……Jn,它們各自的運(yùn)行時(shí)間為t1、t2、……tn,且滿足關(guān)系:t1≤t2≤……≤tn,假定這些作業(yè)同時(shí)到達(dá)系統(tǒng),并在CPU上按單道方式運(yùn)行。試問:(1)采用何種調(diào)度算法,能使平均周轉(zhuǎn)時(shí)間為最小?(2)給出這批作業(yè)最短平均周轉(zhuǎn)時(shí)間的計(jì)算式。答:(1)采用短作業(yè)優(yōu)先調(diào)度算法。(2)這批作業(yè)最短平均周轉(zhuǎn)時(shí)間的計(jì)算式為: T=[T1+T2+…+Tn]/n=[t1+(t1+t2)+(t1+t2+t3)+…+(t1+t2+…tn-1+tn)]/n13.進(jìn)程調(diào)度程序應(yīng)該具有哪幾個(gè)方面的主要功能?答:(1)記錄系統(tǒng)中所有進(jìn)程的有關(guān)情況,比如進(jìn)程的當(dāng)前狀態(tài)、優(yōu)先數(shù)等。(2)確定分配處理機(jī)的算法,這是它的一項(xiàng)主要工作。(3)完成處理機(jī)的分配。要注意,在操作系統(tǒng)中,是進(jìn)程調(diào)度程序?qū)嵤┨幚頇C(jī)的具體分配的。(4)完成處理機(jī)的回收。四、計(jì)算1.有三個(gè)作業(yè):作業(yè)到達(dá)時(shí)間所需CPU時(shí)間10.0820.4431.01分別采用先來先服務(wù)和短作業(yè)優(yōu)先作業(yè)調(diào)度算法。試問它們的平均周轉(zhuǎn)時(shí)間各是什么?你是否還可以給出一種更好的調(diào)度算法,使其平均周轉(zhuǎn)時(shí)間優(yōu)于這兩種調(diào)度算法?解:(1)采用先來先服務(wù)作業(yè)調(diào)度算法時(shí)的實(shí)施過程如下。作業(yè)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間10.080.08.08.020.448.012.011.631.0112.013.012.0這時(shí),作業(yè)的調(diào)度順序是1→2→3。其平均周轉(zhuǎn)時(shí)間為:(8+11.6+12)/3=10.53(2)采用短作業(yè)優(yōu)先作業(yè)調(diào)度算法時(shí)的實(shí)施過程如下。作業(yè)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間10.080.08.08.031.018.09.08.020.449.013.012.6這里要注意,在作業(yè)1運(yùn)行完畢進(jìn)行作業(yè)調(diào)度時(shí),作業(yè)2和3都已經(jīng)到達(dá)。由于是實(shí)行短作業(yè)優(yōu)先作業(yè)調(diào)度算法,因此先調(diào)度作業(yè)3運(yùn)行,最后調(diào)度作業(yè)2運(yùn)行。所以,這時(shí)的作業(yè)調(diào)度順序是1→3→2。其平均周轉(zhuǎn)時(shí)間為:(8+8+12.6)/3=9.53(3)還可以有更好的作業(yè)調(diào)度算法,使其平均周轉(zhuǎn)時(shí)間優(yōu)于這兩種調(diào)度算法。例如,如果知道在作業(yè)1后面會(huì)來兩個(gè)短作業(yè),那么作業(yè)1到達(dá)后,先不投入運(yùn)行。而是等所有作業(yè)到齊后,再按照短作業(yè)優(yōu)先作業(yè)調(diào)度算法進(jìn)行調(diào)度,具體實(shí)施過程如下。作業(yè)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間31.011.02.01.020.442.06.05.610.086.014.014.0這時(shí)的作業(yè)調(diào)度順序是3→2→1。其平均周轉(zhuǎn)時(shí)間為:(1+5.6+14)/3=6.872.設(shè)有一組作業(yè),它們的到達(dá)時(shí)間和所需CPU時(shí)間如下所示。作業(yè)號(hào)到達(dá)時(shí)間所需CPU時(shí)間19:0070分鐘29:4030分鐘39:5010分鐘410:105分鐘分別采用先來先服務(wù)和短作業(yè)優(yōu)先作業(yè)調(diào)度算法。試問它們的調(diào)度順序、作業(yè)周轉(zhuǎn)時(shí)間以及平均周轉(zhuǎn)時(shí)間各是什么?解:(1)采用先來先服務(wù)作業(yè)調(diào)度算法時(shí)的實(shí)施過程如下。作業(yè)號(hào)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間19:0070分鐘9:0010:1070分鐘29:4030分鐘10:1010:4060分鐘39:5010分鐘10:4010:5060分鐘410:105分鐘10:5010:5545分鐘這時(shí),作業(yè)的調(diào)度順序是1→2→3→4。其平均周轉(zhuǎn)時(shí)間為:(70+60+60+45)/4=58.75(2)采用短作業(yè)優(yōu)先作業(yè)調(diào)度算法時(shí)的實(shí)施過程如下。作業(yè)號(hào)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間19:0070分鐘9:0010:1070分鐘410:105分鐘10:1010:155分鐘39:5010分鐘10:1510:2535分鐘29:4030分鐘10:2510:5575分鐘這時(shí),作業(yè)的調(diào)度順序是1→4→3→2。其平均周轉(zhuǎn)時(shí)間為:(70+5+35+75)/4=46.253.某系統(tǒng)有三個(gè)作業(yè):作業(yè)號(hào)到達(dá)時(shí)間所需CPU時(shí)間18.81.529.00.439.51.0系統(tǒng)確定在它們?nèi)康竭_(dá)后,開始采用響應(yīng)比高者優(yōu)先調(diào)度算法,并忽略系統(tǒng)調(diào)度時(shí)間。試問對(duì)它們的調(diào)度順序是什么?各自的周轉(zhuǎn)時(shí)間是多少?解:三個(gè)作業(yè)是在9.5時(shí)全部到達(dá)的。這時(shí)它們各自的響應(yīng)比如下:作業(yè)1的響應(yīng)比=(9.5–8.8)/1.5=0.46作業(yè)2的響應(yīng)比=(9.5–9.0)/0.4=1.25作業(yè)3的響應(yīng)比=(9.5–9.5)/1.0=0因此,最先應(yīng)該調(diào)度作業(yè)2運(yùn)行,因?yàn)樗捻憫?yīng)比最高。它運(yùn)行了0.4后完成,這時(shí)的時(shí)間是9.9。再計(jì)算作業(yè)1和3此時(shí)的響應(yīng)比:作業(yè)1的響應(yīng)比=(9.9–8.8)/1.5=0.73作業(yè)3的響應(yīng)比=(9.9–9.5)/1.0=0.40因此,第二個(gè)應(yīng)該調(diào)度作業(yè)1運(yùn)行,因?yàn)樗捻憫?yīng)比最高。它運(yùn)行了1.5后完成,這時(shí)的時(shí)間是11.4。第三個(gè)調(diào)度的是作業(yè)3,它運(yùn)行了1.0后完成,這時(shí)的時(shí)間是12.4。整個(gè)實(shí)施過程如下。作業(yè)號(hào)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間29.00.49.59.90.918.81.59.911.42.639.51.011.412.42.9作業(yè)的調(diào)度順序是2→1→3。各自的周轉(zhuǎn)時(shí)間為:作業(yè)1為0.9;作業(yè)2為2.6;作業(yè)3為2.9。第3章習(xí)題答案一、填空1.將作業(yè)相對(duì)地址空間的相對(duì)地址轉(zhuǎn)換成存中的絕對(duì)地址的過程稱為地址重定位。2.使用覆蓋與對(duì)換技術(shù)的主要目的是提高存的利用率。3.存儲(chǔ)管理中,對(duì)存儲(chǔ)空間的浪費(fèi)是以部碎片和外部碎片兩種形式表現(xiàn)出來的。4.地址重定位可分為靜態(tài)重定位和動(dòng)態(tài)重定位兩種方式。5.在可變分區(qū)存儲(chǔ)管理中采用最佳適應(yīng)算法時(shí),最好按尺寸法來組織空閑分區(qū)鏈表。6.在分頁式存儲(chǔ)管理的頁表里,主要應(yīng)該包含頁號(hào)和塊號(hào)兩個(gè)信息。7.靜態(tài)重定位在程序裝入時(shí)進(jìn)行,動(dòng)態(tài)重定位在程序執(zhí)行時(shí)進(jìn)行。8.在分頁式存儲(chǔ)管理中,如果頁面置換算法選擇不當(dāng),則會(huì)使系統(tǒng)出現(xiàn)抖動(dòng)現(xiàn)象。9.在請(qǐng)求分頁式存儲(chǔ)管理中采用先進(jìn)先出(FIFO)頁面淘汰算法時(shí),增加分配給作業(yè)的塊數(shù)時(shí),缺頁中斷的次數(shù)有可能會(huì)增加。10.在請(qǐng)求分頁式存儲(chǔ)管理中,頁面淘汰是由于缺頁引起的。二、選擇1.虛擬存儲(chǔ)器的最大容量是由B決定的。A.、外存容量之和 B.計(jì)算機(jī)系統(tǒng)的地址結(jié)構(gòu) C.作業(yè)的相對(duì)地址空間 D.作業(yè)的絕對(duì)地址空間2.采用先進(jìn)先出頁面淘汰算法的系統(tǒng)中,一進(jìn)程在存占3塊(開始為空),頁面訪問序列為1、2、3、4、1、2、5、1、2、3、4、5、6。運(yùn)行時(shí)會(huì)產(chǎn)生D次缺頁中斷。A.7 B.8 C.9 D.10從圖中的“缺頁計(jì)數(shù)”欄里可以看出應(yīng)該選擇D。3.系統(tǒng)出現(xiàn)“抖動(dòng)”現(xiàn)象的主要原因是由于A引起的。A.置換算法選擇不當(dāng) B.交換的信息量太大C.存容量不足 D.采用頁式存儲(chǔ)管理策略4.實(shí)現(xiàn)虛擬存儲(chǔ)器的目的是D。A.進(jìn)行存儲(chǔ)保護(hù) B.允許程序浮動(dòng)C.允許程序移動(dòng) D.?dāng)U充主存容量5.作業(yè)在執(zhí)行中發(fā)生了缺頁中斷,那么經(jīng)中斷處理后,應(yīng)返回執(zhí)行B指令。A.被中斷的前一條 B.被中斷的那條 C.被中斷的后一條 D.程序第一條6.在實(shí)行分頁式存儲(chǔ)管理系統(tǒng)中,分頁是由D完成的。A.程序員 B.用戶 C.操作員 D.系統(tǒng)7.下面的A頁面淘汰算法有時(shí)會(huì)產(chǎn)生異常現(xiàn)象。A.先進(jìn)先出 B.最近最少使用 C.最不經(jīng)常使用 D.最佳8.在一個(gè)分頁式存儲(chǔ)管理系統(tǒng)中,頁表的容為:頁號(hào)頁號(hào)塊號(hào)021127若頁的大小為4KB,則地址轉(zhuǎn)換機(jī)構(gòu)將相對(duì)地址0轉(zhuǎn)換成的物理地址是A。A.8192 B.4096 C.2048 D.1024注意,相對(duì)地址0肯定是第0頁的第0個(gè)字節(jié)。查頁表可知第0頁存放在存的第2塊?,F(xiàn)在塊的尺寸是4KB,因此第2塊的起始地址為8192。故相對(duì)地址0所對(duì)應(yīng)的絕對(duì)地址(即物理地址)是8192。9.下面所列的存儲(chǔ)管理方案中,A實(shí)行的不是動(dòng)態(tài)重定位。A.固定分區(qū) B.可變分區(qū) C.分頁式 D.請(qǐng)求分頁式10.在下面所列的諸因素中,不對(duì)缺頁中斷次數(shù)產(chǎn)生影響的是C。A.存分塊的尺寸 B.程序編制的質(zhì)量C.作業(yè)等待的時(shí)間 D.分配給作業(yè)的存塊數(shù)11.在分段式存儲(chǔ)管理中,是由用戶實(shí)施分段的。因此B。 A.段和各段間的地址都是連續(xù)的 B.段的地址是連續(xù)的,各段間的地址可以不連續(xù)C.段的地址可以不連續(xù),但段間的地址是連續(xù)的D.段的地址和各段間的地址都是不連續(xù)的12.一個(gè)分段式存儲(chǔ)管理系統(tǒng),地址用24位表示,其中8位表示段號(hào)。那么每段的最大長度應(yīng)該是B。 A.224 B.216 C.28 D.232三、問答1.什么是部碎片?什么是外部碎片?各種存儲(chǔ)管理中都可能產(chǎn)生何種碎片?答:所謂“部碎片”,是指系統(tǒng)已經(jīng)分配給用戶使用、用戶自己沒有用到的那部分存儲(chǔ)空間;所謂“外部碎片”,是指系統(tǒng)無法把它分配出去供用戶使用的那部分存儲(chǔ)空間。對(duì)于教材而言,單一連續(xù)區(qū)存儲(chǔ)管理、固定分區(qū)存儲(chǔ)管理、分頁式存儲(chǔ)管理和請(qǐng)求頁式存儲(chǔ)管理都會(huì)出現(xiàn)部碎片。只是前兩種存儲(chǔ)管理造成的部碎片比較大,浪費(fèi)較為嚴(yán)重;后兩種頁式存儲(chǔ)管理,平均來說每個(gè)作業(yè)都會(huì)出現(xiàn)半頁的部碎片。教材中,只有可變分區(qū)存儲(chǔ)管理會(huì)產(chǎn)生外部碎片。2.?dāng)⑹鲮o態(tài)重定位與動(dòng)態(tài)重定位的區(qū)別。答:靜態(tài)重定位是一種通過軟件來完成的地址重定位技術(shù)。它在程序裝入存時(shí),完成對(duì)程序指令中地址的調(diào)整。因此,程序經(jīng)過靜態(tài)重定位以后,在存中就不能移動(dòng)了。如果要移動(dòng),就必須重新進(jìn)行地址重定位。3.一個(gè)虛擬地址結(jié)構(gòu)用24個(gè)二進(jìn)制位表示。其中12個(gè)二進(jìn)制位表示頁面尺寸。試問這種虛擬地址空間總共多少頁?每頁的尺寸是多少?答:如下圖所示,由于虛擬地址中是用12個(gè)二進(jìn)制位表示頁面尺寸(即頁位移),所以虛擬地址空間中表示頁號(hào)的也是12個(gè)二進(jìn)制位。這樣,這種虛擬地址空間總共有:212=4096(頁)每頁的尺寸是:212=4096=4K(字節(jié))4.什么叫虛擬存儲(chǔ)器?怎樣確定虛擬存儲(chǔ)器的容量?答:虛擬存儲(chǔ)器實(shí)際是一種存儲(chǔ)擴(kuò)充技術(shù)。它把作業(yè)程序存放在輔助存儲(chǔ)器里,運(yùn)行時(shí)只裝入程序的一部分。遇到不在存的程序時(shí),再把所需要的部分裝入。這樣在存和輔存之間調(diào)入、調(diào)出的做法,使用戶的作業(yè)地址空間無需顧及存的大小。給用戶造成的印象是,無論程序有多大,它在這個(gè)系統(tǒng)上都可以運(yùn)行。這種以輔助存儲(chǔ)器作為后援的虛幻存儲(chǔ)器,就稱為虛擬存儲(chǔ)器。虛擬存儲(chǔ)器的大小是由系統(tǒng)的地址結(jié)構(gòu)確定的。5.為什么請(qǐng)求分頁式存儲(chǔ)管理能夠向用戶提供虛擬存儲(chǔ)器?答:請(qǐng)求分頁式存儲(chǔ)管理的基本思想是:操作系統(tǒng)按照存儲(chǔ)塊的尺寸,把用戶作業(yè)地址空間劃分成頁,全部存放在磁盤上。作業(yè)運(yùn)行時(shí),只先裝入若干頁。運(yùn)行過程中遇到不在存的頁時(shí),操作系統(tǒng)就把它從磁盤調(diào)入存。這樣一來,用戶的作業(yè)地址空間無需顧及存的大小。這與虛擬存儲(chǔ)器的思想是完全吻合的。所以,請(qǐng)求分頁式存儲(chǔ)管理能夠向用戶提供虛擬存儲(chǔ)器。6.在請(qǐng)求分頁式存儲(chǔ)管理中,為什么既有頁表,又有快表?答:在分頁式或請(qǐng)求頁式存儲(chǔ)管理中,通常是利用存儲(chǔ)器構(gòu)成頁表的。當(dāng)CPU執(zhí)行到某條指令、要對(duì)存中的某一地址訪問時(shí),因?yàn)檫@個(gè)地址是相對(duì)地址,所以先要根據(jù)這個(gè)地址所在的頁號(hào)去查頁表(訪問一次存),然后才能由所形成的絕對(duì)地址去真正執(zhí)行指令(第二次訪問存)??梢姡捎陧摫碓诖?,降低了CPU的訪問速度。為了提高相對(duì)地址到絕對(duì)地址的變換速度,人們想到用一組快速寄存器來代替頁表。這時(shí)查頁表是以并行的方式進(jìn)行,立即就能輸出與該頁號(hào)匹配的塊號(hào),這樣做無疑比存式的頁表要快得多。但是,快速寄存器的價(jià)格昂貴,由它來組成整個(gè)頁表是不可取的??紤]到程序運(yùn)行時(shí)具有局部性,因此實(shí)際系統(tǒng)中總是一方面采用存頁表、另一方面用極少幾個(gè)快速寄存器組成快表來共同完成地址的變換工作。這時(shí)的地址變換過程,如教材中的圖3-22所示。7.試述缺頁中斷與頁面淘汰之間的關(guān)系。答:在請(qǐng)求頁式存儲(chǔ)管理中,當(dāng)根據(jù)虛擬地址查頁表而發(fā)現(xiàn)所要訪問的頁不在存時(shí),就會(huì)產(chǎn)生缺頁中斷。系統(tǒng)響應(yīng)中斷后,就由操作系統(tǒng)到輔存把所需要的頁讀入存。這時(shí),存可能有空閑的塊,也可能沒有。只有當(dāng)存中沒有空閑塊時(shí),才會(huì)出現(xiàn)將存現(xiàn)有頁面淘汰出去的問題,即要進(jìn)行頁面淘汰。所以,缺頁中斷和頁面淘汰之間的關(guān)系是:頁面淘汰一定是由缺頁中斷所引起;但缺頁中斷則不一定引起頁面淘汰。8.試述缺頁中斷與一般中斷的區(qū)別。答:在計(jì)算機(jī)系統(tǒng)中,由于某些事件的出現(xiàn),打斷了當(dāng)前程序的運(yùn)行,而使CPU去處理出現(xiàn)的事件,這稱為“中斷”。通常,計(jì)算機(jī)的硬件結(jié)構(gòu)都是在執(zhí)行完一條指令后,去檢查有無中斷事件發(fā)生的。如果有,那么就暫停當(dāng)前程序的運(yùn)行,而讓CPU去執(zhí)行操作系統(tǒng)的中斷處理程序,這叫“中斷響應(yīng)”。CPU在處理完中斷后,如果不需要對(duì)CPU重新進(jìn)行分配,那么就返回被中斷進(jìn)程的程序繼續(xù)運(yùn)行;如果需要進(jìn)行CPU的重新分配,那么操作系統(tǒng)就會(huì)去調(diào)度新進(jìn)程。由上面的講述可以看出,缺頁中斷與一般中斷的區(qū)別如下。(1)兩種中斷產(chǎn)生的時(shí)刻不同:缺頁中斷是在執(zhí)行一條指令中間時(shí)產(chǎn)生的中斷,并立即轉(zhuǎn)去處理;而一般中斷則是在一條指令執(zhí)行完畢后,當(dāng)硬件中斷裝置發(fā)現(xiàn)有中斷請(qǐng)求時(shí)才去響應(yīng)和處理。(2)處理完畢后的歸屬不同:缺頁中斷處理完后,仍返回到原指令去重新執(zhí)行,因?yàn)槟菞l指令并未執(zhí)行;而一般中斷則是或返回到被中斷進(jìn)程的下一條指令去執(zhí)行,因?yàn)樯弦粭l指令已經(jīng)執(zhí)行完了,或重新調(diào)度,去執(zhí)行別的進(jìn)程程序。9.怎樣理解把相對(duì)地址劃分成數(shù)對(duì):(頁號(hào),頁位移)的過程對(duì)于用戶是“透明”的?答:在操作系統(tǒng)中,所謂“透明”,即指用戶不知道的意思。對(duì)于分頁式存儲(chǔ)管理來說,用戶向系統(tǒng)提供的相對(duì)地址空間,是一個(gè)一維的連續(xù)空間。系統(tǒng)接受了這個(gè)作業(yè)后,在部把這個(gè)相對(duì)地址空間劃分成若干頁。由于這種劃分對(duì)于用戶來說是根本不知道的,所以說把相對(duì)地址劃分成數(shù)對(duì):(頁號(hào),頁位移)的過程對(duì)于用戶是“透明”的。各種存儲(chǔ)管理策略的適用場(chǎng)合10.做一個(gè)綜述,說明從單一連續(xù)區(qū)存儲(chǔ)管理到固定分區(qū)存儲(chǔ)管理,到可變分區(qū)存儲(chǔ)管理,到分頁式存儲(chǔ)管理和分段式存儲(chǔ)管理,再到請(qǐng)求分頁式存儲(chǔ)管理,每一種存儲(chǔ)管理的出現(xiàn),都是在原有基礎(chǔ)上的發(fā)展和提高。各種存儲(chǔ)管理策略的適用場(chǎng)合答:教材共介紹了6種存儲(chǔ)管理策略,它們適用于不同的場(chǎng)合,如圖所示。圖中,在單一連續(xù)分區(qū)存儲(chǔ)管理與固定分區(qū)存儲(chǔ)管理之間畫了一條線,表明位于線以上的存儲(chǔ)管理策略只適用于單道程序設(shè)計(jì),位于以下存儲(chǔ)管理策略都適用于多道程序設(shè)計(jì);在可變分區(qū)存儲(chǔ)管理與分頁式、分段式存儲(chǔ)管理之間畫了一條線,表明位于線以上的存儲(chǔ)管理策略都要求為進(jìn)入存的作業(yè)分配一個(gè)連續(xù)的存儲(chǔ)區(qū),以下的存儲(chǔ)管理策略打破了連續(xù)性的要求;在分頁式、分段式存儲(chǔ)管理與請(qǐng)求頁式存儲(chǔ)管理之間畫了一條線,表明位于線以上的存儲(chǔ)管理策略都要求使作業(yè)程序全部進(jìn)入存,而以下的存儲(chǔ)管理策略打破了全部的要求,只要部分裝入存就可以了??梢?,每一種新存儲(chǔ)管理策略的出現(xiàn),都是在原有存儲(chǔ)管理基礎(chǔ)上的一次發(fā)展和提高。它們從簡單到復(fù)雜,從不完善到逐漸完善。11.利用伙伴系統(tǒng)分配一個(gè)1MB的存區(qū)域,存儲(chǔ)請(qǐng)求和釋放的序列為:請(qǐng)求A(70KB)、請(qǐng)求B(35KB)、請(qǐng)求C(80KB)、釋放A、請(qǐng)求D(60KB)、釋放B、釋放D、釋放C。畫出類似于圖3-20的圖。答:結(jié)果如下圖所示。四、計(jì)算1.在可變分區(qū)存儲(chǔ)管理中,按地址法組織當(dāng)前的空閑分區(qū),其大小分別為:10KB,4KB,20KB,18KB,7KB,9KB,12KB和15KB?,F(xiàn)在依次有3個(gè)存儲(chǔ)請(qǐng)求為:12KB,10KB,9KB。試問使用最先適應(yīng)算法時(shí)的分配情形如何?那么最佳適應(yīng)、最壞適應(yīng)呢?解:我們用表來說明實(shí)行各種分配算法時(shí)的情形。(1)最先適應(yīng)算法請(qǐng)求隊(duì)列最先適應(yīng)算法初始10K4K20K18K7K9K12K15K12K10K4K8K18K7K9K12K15K10K04K8K18K7K9K12K15K9K04K8K9K7K9K12K15K(2)最佳適應(yīng)算法請(qǐng)求隊(duì)列最佳適應(yīng)算法初始10K4K20K18K7K9K12K15K12K10K4K20K18K7K9K015K10K04K20K18K7K9K015K9K04K20K18K7K0015K(3)最壞適應(yīng)算法請(qǐng)求隊(duì)列最壞適應(yīng)算法初始10K4K20K18K7K9K12K15K12K10K4K8K18K7K9K12K15K10K10K4K8K8K7K9K12K15K9K10K4K8K8K7K9K12K6K可見,分配算法不同,選擇的分配對(duì)象也不一樣。2.系統(tǒng)存被劃分成8塊,每塊4KB。某作業(yè)的虛擬地址空間共劃分成16個(gè)頁面。當(dāng)前在存的頁與存塊的對(duì)應(yīng)關(guān)系如下表所示,未列出的頁表示不在存。頁號(hào)塊號(hào)頁號(hào)塊號(hào)02441153269530117試指出對(duì)應(yīng)于下列虛擬地址的絕對(duì)地址:(a)20 (b)4100 (c)8300解:(a)虛擬地址20對(duì)應(yīng)的頁號(hào)是0,頁位移是20。用0去查頁表,知道第0頁現(xiàn)在存放在存的第2塊。由于每塊的長度是4KB,所以第2塊的起始地址為8192。因此,虛擬地址20所對(duì)應(yīng)的絕對(duì)地址是:8192+20=8212(b)虛擬地址4100對(duì)應(yīng)的頁號(hào)是:4100/4096=1(“/”是整除運(yùn)算符)對(duì)應(yīng)的頁位移是:4100%4096=4(“%”是求余運(yùn)算符)用1去查頁表,知道第1頁現(xiàn)在存放在存的第1塊。第1塊的起始地址為4096。因此,虛擬地址4100所對(duì)應(yīng)的絕對(duì)地址是:4096+4=4100(c)虛擬地址8300對(duì)應(yīng)的頁號(hào)是:8300/4096=2(“/”是整除運(yùn)算符)對(duì)應(yīng)的頁位移是:8300%4096=108(“%”是求余運(yùn)算符)用2去查頁表,知道第2頁現(xiàn)在存放在存的第6塊。第6塊的起始地址為6×4K=24576因此,虛擬地址8300所對(duì)應(yīng)的絕對(duì)地址是24576+108=246843.某請(qǐng)求分頁式存儲(chǔ)管理系統(tǒng),接收一個(gè)共7頁的作業(yè)。作業(yè)運(yùn)行時(shí)的頁面走向如下:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6若采用最近最久未用(LRU)頁面淘汰算法,作業(yè)在得到2塊和4塊存空間時(shí),各會(huì)產(chǎn)生出多少次缺頁中斷?如果采用先進(jìn)先出(FIFO)頁面淘汰算法時(shí),結(jié)果又如何?解:(1)采用最近最久未用(LRU)頁面淘汰算法,作業(yè)在得到2塊存空間時(shí)所產(chǎn)生的缺頁中斷次數(shù)為18次,如圖(a)所示;在得到4塊存空間時(shí)所產(chǎn)生的缺頁中斷次數(shù)為10次,如圖(b)所示。圖LRU時(shí)的情形(2)采用先進(jìn)先出(FIFO)頁面淘汰算法,作業(yè)在得到2塊存空間時(shí)所產(chǎn)生的缺頁中斷次數(shù)為18次,如圖(a)所示;在得到4塊存空間時(shí)所產(chǎn)生的缺頁中斷次數(shù)為14次,如圖(b)所示。圖FIFO時(shí)的情形關(guān)于先進(jìn)先出(FIFO)頁面淘汰算法,在給予作業(yè)更多的存塊時(shí),缺頁中斷次數(shù)有可能上升,這是所謂的異常現(xiàn)象。但要注意,并不是在任何情況下都會(huì)出現(xiàn)異常。是否出現(xiàn)異常,取決于頁面的走向。本題所給的頁面走向,在FIFO頁面淘汰算法下,并沒有引起異常:2塊時(shí)缺頁中斷次數(shù)為18次,4塊時(shí)缺頁中斷次數(shù)為14次。4.有段表如下所示。已知邏輯地址:(1)[0,430];(2)[3,400];(3)[1,10];(4)[2,2500];(5)[4,42];(6)[1,11]。求它們所對(duì)應(yīng)的物理地址。段號(hào)段長段基址06002191142300210090358013274961954解:(1)物理地址為:219+430=649;(2)物理地址為:1327+400=1727;(3)物理地址為:2300+10=2310;(4)第2段的段長為100,現(xiàn)在邏輯地址中的段位移2500超出段長,發(fā)生越界錯(cuò);(5)物理地址為:1954+42=1996;(6)物理地址為:2300+11=2311。第4章習(xí)題答案一、填空1.I/O設(shè)備一般由機(jī)械和電子兩個(gè)部分組成。為了使設(shè)計(jì)更加模塊化、更具通用性,也為了降低設(shè)計(jì)制作的成本,如今常把它們分開來處理:電子部分稱作是“設(shè)備控制器”;機(jī)械部分被稱作是“設(shè)備”。2.磁帶、磁盤這樣的存儲(chǔ)設(shè)備都是以塊為單位與存進(jìn)行信息交換的。3.以用戶作業(yè)發(fā)出的磁盤I/O請(qǐng)求的柱面位置,決定請(qǐng)求執(zhí)行順序的調(diào)度,稱為移臂調(diào)度。4.DMA控制器在獲得總線控制權(quán)的情況下能直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換,無需CPU介入。5.在DMA方式下,設(shè)備與存儲(chǔ)器之間進(jìn)行的是成批數(shù)據(jù)傳輸。6.通道程序是由通道執(zhí)行的。7.通道是一個(gè)獨(dú)立于CPU的、專門用來管理輸入/輸出操作的處理機(jī)。8.緩沖的實(shí)現(xiàn)有兩種方法:一種是采用專門硬件寄存器的硬件緩沖,一種是在存儲(chǔ)器里開辟一個(gè)區(qū)域,作為專用的I/O緩沖區(qū),稱為軟件緩沖。9.設(shè)備管理中使用的數(shù)據(jù)結(jié)構(gòu)有系統(tǒng)設(shè)備表(SDT)和設(shè)備控制塊(DCB)。10.基于設(shè)備的分配特性,可以把系統(tǒng)中的設(shè)備分為獨(dú)享、共享和虛擬三種類型。11.引起中斷發(fā)生的事件稱為中斷源。二、選擇1.在對(duì)磁盤進(jìn)行讀/寫操作時(shí),下面給出的參數(shù)中,C是不正確的。A. 柱面號(hào) B.磁頭號(hào) C.盤面號(hào) D.扇區(qū)號(hào)2.在設(shè)備管理中,是由B完成真正的I/O操作的。A.輸入/輸出管理程序 B.設(shè)備驅(qū)動(dòng)程序C.中斷處理程序 D.設(shè)備啟動(dòng)程序3.在下列磁盤調(diào)度算法中,只有D考慮I/O請(qǐng)求到達(dá)的先后次序。A.最短查找時(shí)間優(yōu)先調(diào)度算法 B.電梯調(diào)度算法C.單向掃描調(diào)度算法 D.先來先服務(wù)調(diào)度算法4.下面所列的容里,C不是DMA方式傳輸數(shù)據(jù)的特點(diǎn)。A.直接與存交換數(shù)據(jù) B.成批交換數(shù)據(jù)C.與CPU并行工作 D.快速傳輸數(shù)據(jù)5.在CPU啟動(dòng)通道后,由A執(zhí)行通道程序,完成CPU所交給的I/O任務(wù)。A. 通道 B.CPU C.設(shè)備 D.設(shè)備控制器6.利用SPOOL技術(shù)實(shí)現(xiàn)虛擬設(shè)備的目的是A。A.把獨(dú)享的設(shè)備變?yōu)榭梢怨蚕? B.便于獨(dú)享設(shè)備的分配C.便于對(duì)獨(dú)享設(shè)備的管理 D.便于獨(dú)享設(shè)備與CPU并行工作7.通常,緩沖池位于C中。A.設(shè)備控制器 B.輔助存儲(chǔ)器 C.主存儲(chǔ)器 D.寄存器8.B是直接存取的存儲(chǔ)設(shè)備。A.磁帶 B.磁盤 C.打印機(jī) D.鍵盤顯示終端9.SPOOLING系統(tǒng)提高了A的利用率。A.獨(dú)享設(shè)備 B.輔助存儲(chǔ)器 C.共享設(shè)備 D.主存儲(chǔ)器10.按照設(shè)備的D分類,可將系統(tǒng)中的設(shè)備分為字符設(shè)備和塊設(shè)備兩種。A.從屬關(guān)系 B.分配特性 C.操作方式 D.工作特性11.所謂“設(shè)備無關(guān)性”,是指B。A.I/O設(shè)備具有獨(dú)立執(zhí)行I/O功能的特性B.用戶程序中使用的設(shè)備名與具體的物理設(shè)備無關(guān)C.設(shè)備驅(qū)動(dòng)程序與具體的物理設(shè)備無關(guān)D.系統(tǒng)能夠獨(dú)立地實(shí)現(xiàn)設(shè)備共享三、問答1.基于設(shè)備的從屬關(guān)系,可以把設(shè)備分為系統(tǒng)設(shè)備與用戶設(shè)備兩類。根據(jù)什么來區(qū)分一個(gè)設(shè)備是系統(tǒng)設(shè)備還是用戶設(shè)備呢?答:所謂“系統(tǒng)設(shè)備”,是指在操作系統(tǒng)生成時(shí)就已被納入系統(tǒng)管理圍的設(shè)備;所謂“用戶設(shè)備”是指在完成應(yīng)用任務(wù)過程中,用戶特殊需要的設(shè)備。因此,判定一個(gè)設(shè)備是系統(tǒng)設(shè)備還是用戶設(shè)備,依據(jù)是它在系統(tǒng)生成時(shí),是否已經(jīng)納入了系統(tǒng)的管理圍。如果是,它就是系統(tǒng)設(shè)備;如果不是,它就是用戶設(shè)備。2.設(shè)備管理的主要功能是什么?答:設(shè)備管理的主要功能是:(1)提供一組I/O命令,以便用戶進(jìn)程能夠在程序中提出I/O請(qǐng)求,這是用戶使用外部設(shè)備的“界面”;(2)記住各種設(shè)備的使用情況,實(shí)現(xiàn)設(shè)備的分配與回收;(3)對(duì)緩沖區(qū)進(jìn)行管理,解決設(shè)備與設(shè)備之間、設(shè)備與CPU之間的速度匹配問題;(4)按照用戶的具體請(qǐng)求,啟動(dòng)設(shè)備,通過不同的設(shè)備驅(qū)動(dòng)程序,進(jìn)行實(shí)際的I/O操作;I/O操作完成之后,將結(jié)果通知用戶進(jìn)程,從而實(shí)現(xiàn)真正的I/O操作。3.試分析最短查找時(shí)間優(yōu)先調(diào)度算法的“不公平”之處。比如,例4-1里原來磁臂移到16柱面后,下一個(gè)被處理的I/O請(qǐng)柱面1。假定在處理16柱面時(shí),到達(dá)一個(gè)對(duì)柱面8的I/O新請(qǐng)求,那么下一個(gè)被處理的就不是柱面1而是柱面8了。這有什么弊端存在?答:最短查找時(shí)間優(yōu)先調(diào)度算法,只考慮各I/O請(qǐng)求之間的柱面距離,不去過問這些請(qǐng)求到達(dá)的先后次序。這樣一來,可能會(huì)出現(xiàn)的弊端是磁頭總是關(guān)照鄰近的I/O請(qǐng)求,冷待了早就到達(dá)的、位于磁盤兩頭的I/O請(qǐng)求。這對(duì)于它們來說,當(dāng)然是“不公平”的。4.總結(jié)設(shè)備和CPU在數(shù)據(jù)傳輸?shù)?種方式中,各自在“啟動(dòng)、數(shù)據(jù)傳輸、I/O管理以及善后處理”各個(gè)環(huán)節(jié)所承擔(dān)的責(zé)任。答:使用“程序循環(huán)測(cè)試”的方式來進(jìn)行數(shù)據(jù)傳輸,不僅啟動(dòng)、I/O管理和善后處理等工作要由CPU來承擔(dān),即使在數(shù)據(jù)傳輸時(shí),CPU也要做諸如從控制器的數(shù)據(jù)寄存器里取出設(shè)備的輸入信息,送至存;將輸出的信息,從存送至控制器的數(shù)據(jù)寄存器,以供設(shè)備輸出等工作。因此,在這種方式下,CPU不僅要花費(fèi)大量時(shí)間進(jìn)行測(cè)試和等待,并且只能與設(shè)備串行工作,整個(gè)計(jì)算機(jī)系統(tǒng)的效率發(fā)揮不出來。使用“中斷”的方式來進(jìn)行數(shù)據(jù)傳輸,啟動(dòng)、I/O管理以及善后處理等工作仍然要由CPU來承擔(dān),但在設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),CPU和外部設(shè)備實(shí)行了并行工作。在這種方式下,CPU的利用率有了一定的提高。使用“直接存儲(chǔ)器存取(DMA)”的方式來進(jìn)行數(shù)據(jù)傳輸,I/O的啟動(dòng)以及善后處理是CPU的事情,數(shù)據(jù)傳輸以及I/O管理等事宜均由DMA負(fù)責(zé)實(shí)行。不過,DMA方式是通過“竊取”總線控制權(quán)的辦法來工作的。在它工作時(shí),CPU被掛起,所以并非設(shè)備與CPU在并行工作。因此,在一定程度上影響了CPU的效率。使用“通道”方式來進(jìn)行數(shù)據(jù)傳輸,在用戶發(fā)出I/O請(qǐng)求后,CPU就把該請(qǐng)求全部交由通道去完成。通道在整個(gè)I/O任務(wù)結(jié)束后,才發(fā)出中斷信號(hào),請(qǐng)求CPU進(jìn)行善后處理。這時(shí)CPU對(duì)I/O請(qǐng)求只去做啟動(dòng)和善后處理工作,輸入/輸出的管理以及數(shù)據(jù)傳輸?shù)仁乱?,全部由通道?dú)立完成,并且真正實(shí)現(xiàn)了CPU與設(shè)備之間的并行操作。5.用戶程序中采用“設(shè)備類,相對(duì)號(hào)”的方式使用設(shè)備有什么優(yōu)點(diǎn)?答:在用戶程序中采用“設(shè)備類,相對(duì)號(hào)”的方式使用設(shè)備的優(yōu)點(diǎn)是:第一,用戶不需要記住系統(tǒng)中每一臺(tái)設(shè)備的具體設(shè)備號(hào),這是非常麻煩的事情;第二,在多道程序設(shè)計(jì)環(huán)境下,用戶并不知道當(dāng)前哪一臺(tái)設(shè)備已經(jīng)分配,哪一臺(tái)設(shè)備仍然空閑。通過“設(shè)備類,相對(duì)號(hào)”來提出對(duì)設(shè)備的使用請(qǐng)求,系統(tǒng)就可以根據(jù)當(dāng)前的具體情況來分配,從而提高設(shè)備的使用效率;第三,用戶并不知道設(shè)備的好壞情況。如果是用“絕對(duì)號(hào)”指定具體的設(shè)備,而該設(shè)備正好有故障時(shí),這次I/O任務(wù)就不可能完成,程序也就無法運(yùn)行下去。但通過“設(shè)備類,相對(duì)號(hào)”來提出對(duì)設(shè)備的使用請(qǐng)求,系統(tǒng)就可以靈活處理這種情況,把好的設(shè)備分配出去。6.啟動(dòng)磁盤執(zhí)行一次輸入/輸出操作要花費(fèi)哪幾部分時(shí)間?哪個(gè)時(shí)間對(duì)磁盤的調(diào)度最有影響?答:的運(yùn)動(dòng)速度相對(duì)于磁盤軸的旋轉(zhuǎn)來講較緩慢。因此,查找時(shí)間對(duì)磁盤調(diào)度的影響更為主要。7.解釋“通道命令字”、“通道程序”和“通道地址字”三者的含義。答:所謂“通道命令字”,是指通道指令系統(tǒng)中的指令。只是為了與CPU的指令相區(qū)別,才把通道的指令改稱為“通道命令字”。若干條通道命令字匯集在一起,就構(gòu)成了一個(gè)“通道程序”,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作和順序。通常,通道程序存放在通道自己的存儲(chǔ)部件里。當(dāng)通道中沒有存儲(chǔ)部件時(shí),就存放在存儲(chǔ)器里。這時(shí),為了使通道能取得通道程序去執(zhí)行,必須把存放通道程序的存起始地址告訴通道。存放這個(gè)起始地址的存固定單元,被稱為“通道地址字”。8.何為DMA?通道與DMA有何區(qū)別?答:所謂“DMA”,是指“直接存儲(chǔ)器存取”的數(shù)據(jù)傳輸方式,其最大特點(diǎn)是能使I/O設(shè)備直接和存儲(chǔ)器進(jìn)行成批數(shù)據(jù)的快速傳輸。適用于一些高速的I/O設(shè)備,如磁帶、磁盤等。通道方式與DMA方式之間的區(qū)別如下。(1)在DMA方式下,數(shù)據(jù)傳輸?shù)姆较颉鬏旈L度和地址等仍然需要由CPU來控制。但在通道方式下,所需的CPU干預(yù)大大減少。(2)在DMA方式下,每臺(tái)設(shè)備要有一個(gè)DMA控制器。當(dāng)設(shè)備增加時(shí),多個(gè)DMA控制器的使用,顯然不很經(jīng)濟(jì);但在通道方式下,一個(gè)通道可以控制多臺(tái)設(shè)備,這不僅節(jié)省了費(fèi)用,而且減輕了CPU在輸入/輸出中的負(fù)擔(dān)。(3)在DMA方式下傳輸數(shù)據(jù)時(shí),是采用“竊取”總線控制權(quán)的辦法來工作的。因此,CPU與設(shè)備之間并沒有實(shí)現(xiàn)真正的并行工作;在通道方式下,CPU把I/O任務(wù)交給通道后,它就與通道就真正并行工作。9.解釋記錄的成組與分解。為什么要這樣做?答:往磁帶、磁盤上存放信息時(shí),經(jīng)常是把若干個(gè)記錄先在存緩沖區(qū)里拼裝成一塊,然后再寫到磁帶或磁盤上。存儲(chǔ)設(shè)備與存儲(chǔ)器進(jìn)行信息交換時(shí),就以塊為單位。這個(gè)把記錄拼裝成塊的過程,被稱為是“記錄的成組”。從磁帶、磁盤上讀取記錄時(shí),先是把含有那個(gè)記錄的塊讀到存的緩沖區(qū)中,在那里面挑選出所需要的記錄,然后把它送到存存放的目的地。這個(gè)把記錄從緩沖區(qū)里挑選出來的過程,被稱為是“記錄的分解”。之所以這樣做,一是為了提高存儲(chǔ)設(shè)備的存儲(chǔ)利用率;二是減少、外存之間信息交換次數(shù),提高系統(tǒng)的效率。10.試述SPOOL系統(tǒng)中的3個(gè)組成軟件模塊各自的作用。答:SPOOLING系統(tǒng)中的3個(gè)軟件模塊是預(yù)輸入程序、緩輸出程序和井管理程序。它們各自的作用如下。(1)預(yù)輸入程序預(yù)先把作業(yè)的全部信息輸入到磁盤的輸入井中存放,以便在需要作業(yè)信息以及作業(yè)運(yùn)行過程中需要數(shù)據(jù)時(shí),可以直接從輸入井里得到,而無需與輸入機(jī)交往,避免了等待使用輸入機(jī)的情況發(fā)生。(2)緩輸出程序總是查看“輸出井”中是否有等待輸出的作業(yè)信息。如果有,就啟動(dòng)輸出設(shè)備(如打印機(jī))進(jìn)行輸出。因此,由于作業(yè)的輸出是針對(duì)輸出井進(jìn)行的,所以不會(huì)出現(xiàn)作業(yè)因?yàn)榈却敵龆枞默F(xiàn)象。(3)井管理程序分為“井管理讀程序”和“井管理寫程序”。當(dāng)作業(yè)請(qǐng)求輸入設(shè)備工作時(shí),操作系統(tǒng)就調(diào)用井管理讀程序,把讓輸入設(shè)備工作的任務(wù),轉(zhuǎn)換成從輸入井中讀取所需要的信息;當(dāng)作業(yè)請(qǐng)求打印輸出時(shí),操作系統(tǒng)就調(diào)用井管理寫程序,把讓輸出設(shè)備工作的任務(wù),轉(zhuǎn)換成為往輸出井里輸出。11.為了能夠使CPU與設(shè)備控制器中的各個(gè)寄存器進(jìn)行通信,I/O系統(tǒng)常采用哪樣的兩種方法來實(shí)現(xiàn)?答:為使CPU與設(shè)備控制器中的各個(gè)寄存器進(jìn)行通信,I/O系統(tǒng)常采用“單獨(dú)的I/O空間”和“存映射I/O”兩種方法來實(shí)現(xiàn)。在“單獨(dú)的I/O空間”方法里,設(shè)備控制器的每個(gè)寄存器都有一個(gè)I/O端口號(hào),它們單獨(dú)組成一個(gè)地址空間。這樣,計(jì)算機(jī)系統(tǒng)除了存空間外,還有一個(gè)I/O端口地址空間。CPU將用不同的指令,完成對(duì)存空間和I/O端口地址空間的訪問。在“存映射I/O”方法里,設(shè)備控制器里的每個(gè)寄存器沒有了特定的設(shè)備(端口)地址,而是唯一地與一個(gè)存地址相關(guān)聯(lián),這些地址不會(huì)分配作他用。CPU將通過相同的指令,實(shí)現(xiàn)對(duì)整個(gè)存空間的訪問。也就是說,采用存映射I/O,可以減少CPU中指令類型的數(shù)目。四、計(jì)算1.在例4-1里,對(duì)電梯調(diào)度算法只給出了初始由外往里移動(dòng)磁臂的調(diào)度結(jié)果。試問如果初始時(shí)假定是由里往外移動(dòng)磁臂,則調(diào)度結(jié)果又是什么?解:這時(shí)調(diào)度的順序是11→9→1→12→16→34→36,總共劃過的柱面數(shù)是:2+8+11+4+18+2=452.磁盤請(qǐng)求以10、22、20、2、40、6、38柱面的次序到達(dá)磁盤驅(qū)動(dòng)器。移動(dòng)臂移動(dòng)一個(gè)柱面需要6ms,實(shí)行以下磁盤調(diào)度算法時(shí),各需要多少總的查找時(shí)間?假定磁臂起始時(shí)定位于柱面20。(a)先來先服務(wù);(b)最短查找時(shí)間優(yōu)先;(c)電梯算法(初始由外向里移動(dòng))。解:(a)先來先服務(wù)時(shí),調(diào)度的順序是20→10→22→20→2→40→6→38,總共劃過的柱面數(shù)是:10+12+2+18+38+34+32=146因此,總的查找時(shí)間為:146×6=876ms。(b)最短查找時(shí)間優(yōu)先時(shí),調(diào)度的順序是20→22→10→6→2→38→40(由于磁臂起始時(shí)定位于柱面20,所以可以把后面第20柱面的訪問立即進(jìn)行),總共劃過的柱面數(shù)是:2+12+4+4+36+2=60因此,總的查找時(shí)間為:60×6=360ms。(c)電梯算法(初始由外向里移動(dòng))時(shí),調(diào)度的順序是20→22→38→40→10→6→2(由于磁臂起始時(shí)定位于柱面20,所以可以把后面第20柱面的訪問立即進(jìn)行),總共劃過的柱面數(shù)是:2+16+2+30+4+4=58因此,總的查找時(shí)間為:58×6=348ms。3.假定磁盤的移動(dòng)臂現(xiàn)在處于第8柱面。有如下表所示的6個(gè)I/O請(qǐng)求等待訪問磁盤,試列出最省時(shí)間的I/O響應(yīng)次序。序號(hào)柱面號(hào)磁頭號(hào)扇區(qū)號(hào)1963275631520649445209567152解:由于移動(dòng)臂現(xiàn)在處于第8柱面,如果按照“先來先服務(wù)”調(diào)度算法,對(duì)這6個(gè)I/O的響應(yīng)次序應(yīng)該是8→9→7→15→9→20→7;如果是按照“最短查找時(shí)間優(yōu)先”調(diào)度算法,對(duì)這6個(gè)I/O的響應(yīng)次序可以有兩種,一是8→9→7→15→20(到達(dá)9時(shí)完成1和4的請(qǐng)求,到達(dá)7時(shí)完成2和6的請(qǐng)求),二是8→7→9→15→20(到達(dá)7時(shí)完成2和6的請(qǐng)求,到達(dá)9時(shí)完成1和4的請(qǐng)求);如果按照“電梯”調(diào)度算法,對(duì)這6個(gè)I/O的響應(yīng)次序可以有兩種,一是8→9→15→20→7(由里往外的方向,到達(dá)9時(shí)完成1和4的請(qǐng)求,到達(dá)7時(shí)完成2和6的請(qǐng)求),二是8→7→9→15→20(由外往里的方向,到達(dá)7時(shí)完成2和6的請(qǐng)求,到達(dá)9時(shí)完成1和4的請(qǐng)求);如果按照“單向掃描”調(diào)度算法,對(duì)這6個(gè)I/O的響應(yīng)次序是8→9→15→20→0→7。對(duì)比后可以看出,實(shí)行8→7→9→15→20的響應(yīng)次序會(huì)得到最省的時(shí)間,因?yàn)檫@時(shí)移動(dòng)臂的移動(dòng)柱面數(shù)是:1+2+6+5=14第5章習(xí)題答案一、填空1.一個(gè)文件的文件名是在創(chuàng)建該文件時(shí)給出的。2.所謂“文件系統(tǒng)”,由與文件管理有關(guān)的那部分軟件、被管理的文件以及管理所需要的數(shù)據(jù)結(jié)構(gòu)三部分組成。3.塊是輔助存儲(chǔ)器與存之間進(jìn)行信息傳輸?shù)膯挝弧?.在用位示圖管理磁盤存儲(chǔ)空間時(shí),位示圖的尺寸由磁盤的總塊數(shù)決定。5.采用空閑區(qū)表法管理磁盤存儲(chǔ)空間,類似于存儲(chǔ)管理中采用可變分區(qū)存儲(chǔ)管理方法管理存儲(chǔ)器。6.操作系統(tǒng)是通過文件控制塊(FCB)感知一個(gè)文件的存在的。7.按用戶對(duì)文件的存取權(quán)限將用戶分成若干組,規(guī)定每一組用戶對(duì)文件的訪問權(quán)限。這樣,所有用戶組存取權(quán)限的集合稱為該文件的存取控制表。8.根據(jù)在輔存上的不同存儲(chǔ)方式,文件可以有順序、和索引三種不同的物理結(jié)構(gòu)。9.如果把文件視為有序的字符集合,在其部不再對(duì)信息進(jìn)行組織劃分,那么這種文件的邏輯結(jié)構(gòu)被稱為“流式文件”。10.如果用戶把文件信息劃分成一個(gè)個(gè)記錄,存取時(shí)以記錄為單位進(jìn)行,那么這種文件的邏輯結(jié)構(gòu)稱為“記錄式文件”。11.操作系統(tǒng)應(yīng)該提供一個(gè)環(huán)境,保證信息使用的私密和共享,這是系統(tǒng)部的安全問題;另一方面,操作系統(tǒng)還需要提供各種手段,防止來自各方的有意或無意的入侵和攻擊,這是系統(tǒng)外部的安全問題。12.“文件備份”的含義,就是為系統(tǒng)中的文件建立相應(yīng)的副本。它通常有兩種方法,一是所謂的“全量轉(zhuǎn)儲(chǔ)”,一是所謂的“增量轉(zhuǎn)儲(chǔ)”。13.用戶總是從使用的角度出發(fā)去組織文件,系統(tǒng)則總是從存儲(chǔ)的角度出發(fā)去組織文件的。14.在記錄式文件中,總要有一個(gè)數(shù)據(jù)項(xiàng)能夠唯一地標(biāo)識(shí)記錄,以便對(duì)記錄加以區(qū)分。文件中的這種數(shù)據(jù)項(xiàng)被稱為主關(guān)鍵字或主鍵。二、選擇1.下面的B不是文件的存儲(chǔ)結(jié)構(gòu)。A.索引文件 B.記錄式文件 C.串聯(lián)文件 D.連續(xù)文件2.有一磁盤,共有10個(gè)柱面,每個(gè)柱面20個(gè)磁道,每個(gè)盤面分成16個(gè)扇區(qū)。采用位示圖對(duì)其存儲(chǔ)空間進(jìn)行管理。如果字長是16個(gè)二進(jìn)制位,那么位示圖共需A字。A.200 B.128 C.256 D.1003.操作系統(tǒng)為每一個(gè)文件開辟一個(gè)存儲(chǔ)區(qū),在它的里面記錄著該文件的有關(guān)信息。這就是所謂的B。A.進(jìn)程控制塊 B.文件控制塊C.設(shè)備控制塊 D.作業(yè)控制塊4.文件控制塊的英文縮寫符號(hào)是C。A.PCB B.DCB C.FCB D.JCB5.一個(gè)文件的絕對(duì)路徑名總是以C打頭。A.磁盤名 B.字符串 C.分隔符 D.文件名6.一個(gè)文件的絕對(duì)路徑名是從B開始,逐步沿著每一級(jí)子目錄向下,最后到達(dá)指定文件的整個(gè)通路上所有子目錄名組成的一個(gè)字符串。A.當(dāng)前目錄 B.根目錄C.多級(jí)目錄 D.二級(jí)目錄7.從用戶的角度看,引入文件系統(tǒng)的主要目的是D。A.實(shí)現(xiàn)虛擬存儲(chǔ) B.保存用戶和系統(tǒng)文檔 C.保存系統(tǒng)文檔 D.實(shí)現(xiàn)對(duì)文件的按名存取8.按文件的邏輯結(jié)構(gòu)劃分,文件主要有兩類:A。A.流式文件和記錄式文件 B.索引文件和隨機(jī)文件C.永久文件和臨時(shí)文件 D.只讀文件和讀寫文件9.位示圖用于B。A.文件目錄的查找 B.磁盤空間的管理C.主存空間的共享 D.文件的保護(hù)和10.用戶可以通過調(diào)用C文件操作,來歸還文件的使用權(quán)。A.建立 B.打開 C.關(guān)閉 D.刪除11.文件目錄采用樹型結(jié)構(gòu)而不采用簡單的表結(jié)構(gòu),最主要的原因是C。A.解決查詢速度 B.方便用戶使用C.解決文件重名 D.便于文件三、問答1.為什么位示圖法適用于分頁式存儲(chǔ)管理和對(duì)磁盤存儲(chǔ)空間的管理?如果在存儲(chǔ)管理中采用可變分區(qū)存儲(chǔ)管理方案,也能采用位示圖法來管理空閑區(qū)嗎?為什么?答:無論是分頁式存儲(chǔ)管理還是磁盤存儲(chǔ)空間的管理,它們面對(duì)的管理對(duì)象——存儲(chǔ)塊(存塊或磁盤塊)的數(shù)量,在系統(tǒng)的運(yùn)行過程中是固定不變的。因此,可以很方便地用相同數(shù)量的二進(jìn)制位來對(duì)應(yīng)管理它們。但如果在存儲(chǔ)管理中采用可變分區(qū)存儲(chǔ)管理方案,那么在系統(tǒng)運(yùn)行時(shí),分區(qū)的數(shù)目是變化的。因此,也就無法用位示圖法來管理這些分區(qū)的使用情況。2.有些操作系統(tǒng)提供系統(tǒng)調(diào)用命令RENAME給文件重新命名。同樣,也可以通過把一個(gè)文件復(fù)制到一個(gè)新文件、然后刪除舊文件的方法達(dá)到給文件重新命名的目的。試問這兩種做法有何不同?答:使用RENAME命令給文件重新命名時(shí),用戶要提供兩個(gè)參數(shù):舊文件名,新文件名。RENAME命令將根據(jù)舊文件名找到文件的目錄項(xiàng),把里面登記的舊文件名改為新文件名。所以,文件重新命名的功能就是修改該文件目錄里的文件名,其他特性不變。后一種方法是先對(duì)文件進(jìn)行復(fù)制,為其起一個(gè)新的名字,然后再刪除舊的文件。這時(shí),復(fù)制過程猶如創(chuàng)建一個(gè)文件,新文件除了名字與以前不同外,文件的某些特性也改變了,例如存放的地址不同了。所以,采用這種方法雖然也能夠達(dá)到給文件重新命名的目的,但顯得要比前一種方法復(fù)雜一些。3.“文件目錄”和“目錄文件”有何不同?答:“文件目錄”是指一個(gè)文件的目錄項(xiàng),里面存放著文件的有關(guān)數(shù)據(jù)信息?!澳夸浳募眲t是指如果文件很多,那么文件目錄項(xiàng)的數(shù)量也就很多。為此,操作系統(tǒng)經(jīng)常把這些目錄項(xiàng)匯集在一起,作為一個(gè)文件來加以管理,這就是所謂的“目錄文件”。因此,“文件目錄”和“目錄文件”是兩個(gè)不同的概念,不能混為一談。4.一個(gè)文件的絕對(duì)路徑名和相對(duì)路徑名有何不同?答:在樹型目錄結(jié)構(gòu)中,用戶要訪問一個(gè)文件,必須使用文件的路徑名來標(biāo)識(shí)文件。從根目錄出發(fā)、一直到所要訪問的文件,將所經(jīng)過的目錄名字用分隔符連接起來,所形成的字符串,就是該文件的絕對(duì)路徑名。如果是從當(dāng)前目錄出發(fā),一直到所要訪問的文件,將所經(jīng)過的目錄名字用分隔符連接起來,所形成的字符串,就是該文件的相對(duì)路徑名??梢钥闯?,絕對(duì)路徑名是文件的全名,必須從根目錄開始。所以,一個(gè)文件的絕對(duì)路徑名是惟一的。相對(duì)路徑名總是從當(dāng)前目錄往下,所以文件的相對(duì)路徑名與當(dāng)前位置有關(guān),是不惟一的。5.試述“創(chuàng)建文件”與“打開文件”兩個(gè)系統(tǒng)調(diào)用在功能上的不同之處。答:所謂“創(chuàng)建文件”,表示原先該文件并不存在。所以創(chuàng)建文件時(shí),最主要的功能是在磁盤上為其開辟存儲(chǔ)空間,建立起該文件的FCB。文件創(chuàng)建后,有了它的FCB,系統(tǒng)才真正感知到它的存在;“打開文件”是這個(gè)文件已經(jīng)存在,只是它的有關(guān)信息不在存。因此,打開文件最主要的功能是把該文件FCB中的信息復(fù)制到存中,以便為隨后對(duì)文件的操作帶來便利。6.試述“刪除文件”與“關(guān)閉文件”兩個(gè)系統(tǒng)調(diào)用在功能上的不同之處。答:“刪除文件”最主要的功能是把該文件的FCB收回。文件沒有了FCB,系統(tǒng)也就無法感知到它的存在了。所以,在執(zhí)行了刪除文件的命令后,這個(gè)文件就在系統(tǒng)里消失了;而“關(guān)閉文件”最主要的功能是把復(fù)制到存活動(dòng)目錄表里的該文件的FCB信息取消。這樣一來,在存活動(dòng)目錄表里沒有了該文件的信息,就不能夠?qū)@個(gè)文件進(jìn)行讀、寫了。所以,關(guān)閉一個(gè)文件后,這個(gè)文件還存在,只是不能對(duì)它操作了。如果要操作,就必須再次將它打開(即把FCB里的信息復(fù)制到存的活動(dòng)目錄表),然后再進(jìn)行操作。7.為什么在使用文件之前,總是先將其打開后再用?答:有關(guān)文件的信息都存放在該文件的FCB里,只有找到文件的FCB,才能獲得它的一切信息。但FCB是在磁盤里。因此,只要對(duì)文件進(jìn)行操作,就要到磁盤里去找它的FCB。這種做法,無疑影響了文件操作的執(zhí)行速度。正因?yàn)槿绱?,操作系統(tǒng)才考慮在對(duì)文件進(jìn)行操作前,先將其打開,把文件的FCB容復(fù)制到存中來。這樣,查找文件的FCB,就不必每次都要去訪問磁盤。8.如果一個(gè)文件系統(tǒng)沒有提供顯式的打開命令(即沒有OPEN命令),但又希望有打開的功能,以便在使用文件時(shí)能減少與磁盤的交往次數(shù)。那么應(yīng)該把這一功能安排在哪個(gè)系統(tǒng)調(diào)用里合適?如何安排?答:文件系統(tǒng)中設(shè)置打開命令的根本目的,是減少文件操作時(shí)與磁盤的交往次數(shù)。如果系統(tǒng)沒有提供顯式的打開命令,但又要能減少與磁盤的交往次數(shù),那么只需把這一功能安排在讀或?qū)懴到y(tǒng)調(diào)用命令里。這時(shí),在讀、寫命令功能前面添加這樣的處理:總是先到存的活動(dòng)目錄表里查找該文件的FCB。如果找到,則表明在此前文件已經(jīng)被打開,于是就可以立即進(jìn)行所需要的讀、寫操作;如果沒有找到,那么表明在此前文件還沒有打開。于是應(yīng)該先按照文件名,到磁盤上去查找該文件的FCB,把它復(fù)制到存的活動(dòng)目錄表里,然后再進(jìn)行對(duì)它的操作。9.何為“獨(dú)立磁盤冗余陣列(RAID)”?答:在磁盤上組織數(shù)據(jù)時(shí),利用多磁盤的并行訪問能力,一方面可以改善磁盤的傳輸率,另一方面可以利用多磁盤的大容量能力,存儲(chǔ)有關(guān)數(shù)據(jù)的額外的信息,它們或是數(shù)據(jù)本身的備份,或是諸如差錯(cuò)糾正碼、奇偶校驗(yàn)碼等信息。這樣的冗余信息,在系統(tǒng)出錯(cuò)或磁盤損壞時(shí),可以用來進(jìn)行對(duì)數(shù)據(jù)的糾錯(cuò),或修復(fù),從而改善磁盤存儲(chǔ)的可靠性。也就是說,利用多磁盤陣列,既可以改善磁盤的傳輸率,也可以增強(qiáng)磁盤的可靠性。當(dāng)前,將同時(shí)具有這兩種性能的磁盤陣列稱為“獨(dú)立磁盤冗余陣列(RAID)”。四、計(jì)算1.我們知道,可以用位示圖法或成組法來管理磁盤空間。假定表示一個(gè)磁盤地址需要D個(gè)二進(jìn)制位,一個(gè)磁盤共有B塊,其中有F塊空閑。在什么條件下,成組法占用的存儲(chǔ)空間少于位示圖?解:依題意,該磁盤共有B塊,這意味采用位示圖法來管理磁盤空間時(shí),共需要B個(gè)二進(jìn)制位構(gòu)成位示圖的存儲(chǔ)空間;另一方面,現(xiàn)在共有F個(gè)空閑塊,而表示一個(gè)磁盤地址(即一個(gè)空閑塊)需要D個(gè)二進(jìn)制位。所以在當(dāng)前條件下,用成組法來管理磁盤空間中的F個(gè)空閑塊時(shí),要用F×D個(gè)二進(jìn)制位的存儲(chǔ)空間來管理它們。因此,只要題中所給的D、B、F三者之間滿足關(guān)系:B>F×D就可以保證使用成組法占用的存儲(chǔ)空間少于位示圖。2.假定磁帶的存儲(chǔ)密度為每英寸800個(gè)字符,每個(gè)邏輯記錄長為160個(gè)字符,記錄間隙為0.6英寸。現(xiàn)在有1000個(gè)邏輯記錄需要存儲(chǔ)到磁帶上。分別回答:(1)不采用記錄成組技術(shù),這時(shí)磁帶存儲(chǔ)空間的利用率是多少?(2)(3)若希望磁帶存儲(chǔ)空間的利用率大于50%,應(yīng)該多少個(gè)邏輯記錄為一組?解:(1)如果不采用記錄成組技術(shù),存放一個(gè)邏輯記錄,就要有一個(gè)記錄間隙。因?yàn)榇艓У拇鎯?chǔ)密度為每英寸800個(gè)字符,每個(gè)邏輯記錄長為160個(gè)字符。所以一個(gè)邏輯記錄占用的磁帶長度是:160/800=0.2(英寸)一個(gè)記錄間隙所需要的磁帶長度為0.6英寸。所以,磁帶存儲(chǔ)空間的利用率是:0.2/(0.2+0.6)=0.25=25%(2)采用以5個(gè)邏輯記錄為一組的成組技術(shù)進(jìn)行存放,表示存放5個(gè)邏輯記錄后,有一個(gè)記錄間隙。5個(gè)邏輯記錄占用的磁帶長度是:0.2×5=1(英寸)1/(1+0.6)=0.625=62.5%(3)若希望磁帶存儲(chǔ)空間的利用率大于50%,假定應(yīng)該x個(gè)邏輯記錄為一組。這就是說,存放x個(gè)邏輯記錄后,有一個(gè)記錄間隙。x個(gè)邏輯記錄占用的磁帶長度是:0.2×x(英寸);這時(shí)一個(gè)記錄間隙所需要的磁帶長度仍為0.6英寸。所以,磁帶存儲(chǔ)空間的利用率是:x/(x+0.6)=0.5解這個(gè)一元一次方程式,x=3。也就是說,當(dāng)把3個(gè)以上的邏輯記錄組成一組時(shí),磁帶存儲(chǔ)空間的利用率將大于50%。3.假定有一個(gè)名為MYFILE的文件,共有10個(gè)邏輯記錄,每個(gè)邏輯記錄長為250個(gè)字節(jié)。磁盤塊尺寸為512字節(jié),磁盤地址需要2個(gè)字節(jié)表示。把MYFILE采用結(jié)構(gòu)存儲(chǔ)在磁盤上。(1)畫出該文件在磁盤上的結(jié)構(gòu)圖(磁盤塊號(hào)自定)。(2)現(xiàn)在用戶要讀文件上包含第1425個(gè)字符的邏輯記錄。給出完成這一請(qǐng)求的主要工作步驟。解:(1)由于每個(gè)邏輯記錄長為250個(gè)字節(jié),磁盤塊尺寸為512字節(jié)。所以,每個(gè)磁盤塊里可以存放兩個(gè)邏輯記錄,余下的字節(jié)用于存放指針,文件總共需要5塊。假定系統(tǒng)分配給該文件的磁盤塊號(hào)是:25、33、10、56、4。于是,該文件在磁盤上的結(jié)構(gòu)圖如圖5-1所示。(2)首先要知道包含第1425字節(jié)的邏輯記錄應(yīng)該放在結(jié)構(gòu)的第幾塊。因?yàn)橐粋€(gè)邏輯記錄是250個(gè)字節(jié),2個(gè)邏輯記錄放在一個(gè)磁盤塊里。所以1425/(250×2)=2(“/”表示整除運(yùn)算)即包含第1425字節(jié)的邏輯記錄應(yīng)該放在結(jié)構(gòu)的第3塊(注意,由于是用整除,所以第1塊應(yīng)該是0)。其次,文件系統(tǒng)沿著指針,把第3塊(也就是塊號(hào)為56的塊)讀入存緩沖區(qū)中。最后,由1425%(250×2)=425 (“%”表示求余運(yùn)算)且250×1<425<250×2所以把緩沖區(qū)里的第2個(gè)記錄讀到用戶指定的存區(qū)里。計(jì)算題3的圖示 4.假設(shè)文件W有100個(gè)邏輯記錄,尺寸為512KB。磁盤塊的尺寸與邏輯記錄相同?,F(xiàn)要求分別用連續(xù)文件、串聯(lián)文件、索引文件的形式來存儲(chǔ)它。請(qǐng): (1)畫出這三種文件的物理結(jié)構(gòu)圖; (2)若要隨機(jī)讀取記錄r7。試問在這三種結(jié)構(gòu)下,分別需要做多少次磁盤讀操作,并給出相應(yīng)說明(記錄號(hào)與磁盤塊號(hào)都從0開始)。 解:(1)三種文件的物理結(jié)構(gòu)圖如下: (2)若要隨機(jī)讀取記錄r7,在連續(xù)文件時(shí),只需直接讀第107磁盤塊,因此只要做一次磁盤讀操作。在串聯(lián)文件時(shí),先根據(jù)目錄項(xiàng)的指示,讀記錄r0所在磁盤塊100,從中得到r1所在磁盤塊號(hào)850,然后讀r1所在磁盤塊,從中得到r2所在位置,如此等等。因此,要讀記錄r7,需要做8次讀磁盤塊操作。在索引文件時(shí),先根據(jù)目錄項(xiàng)的指示,讀入索引表,從表中查的記錄r7所在的磁盤塊號(hào),據(jù)此讀入記錄r7。因此,需要進(jìn)行2次讀磁盤的操作。5.某文件系統(tǒng)在每個(gè)文件的目錄項(xiàng)中,開辟出有6個(gè)元素的一個(gè)一維數(shù)組,用以描述文件的物理結(jié)構(gòu)。數(shù)組的前4個(gè)元素為直接索引表,第5個(gè)元素為一級(jí)間接索引,第6個(gè)元素為二級(jí)間接索引。磁盤塊尺寸為512字節(jié),記錄磁盤塊號(hào)需要花費(fèi)2個(gè)字節(jié)。請(qǐng)回答:(1)該文件系統(tǒng)能建立的最大文件尺寸為多少字節(jié)?(2)名為ZONG的文件有268個(gè)記錄,每個(gè)記錄尺寸為512個(gè)字節(jié),試畫出該文件的物理結(jié)構(gòu)。解:(1)該文件系統(tǒng)能建立的最大文件尺寸為: (4+256+2562)×512B=65796×512=33687552B(2)文件ZONG有268個(gè)記錄,每個(gè)記錄尺寸為512個(gè)字節(jié)。這時(shí): 268=4+256+8表明應(yīng)該用到二級(jí)索引,其物理結(jié)構(gòu)為:第6章習(xí)題答案一、填空1.信號(hào)量的物理意義是當(dāng)信號(hào)量值大于零時(shí)表示可分配資源的個(gè)數(shù);當(dāng)信號(hào)量值小于零時(shí),其絕對(duì)值為等待使用該資源的進(jìn)程的個(gè)數(shù)。2.所謂臨界區(qū)是指進(jì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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源儲(chǔ)能項(xiàng)目落戶保障合同
- 廚具設(shè)備購銷合同(31篇)
- 教學(xué)工作總結(jié)英語2024(32篇)
- 2023-2024學(xué)年浙江省寧波市鎮(zhèn)海中學(xué)高三下學(xué)期期中考試歷史試卷
- 2025年業(yè)務(wù)提升合作諒解協(xié)議
- 2025年供應(yīng)鏈管理公司合作項(xiàng)目協(xié)議書
- 2025年產(chǎn)品創(chuàng)新與生產(chǎn)協(xié)作協(xié)議
- 2025年農(nóng)村醫(yī)療人員定向就業(yè)協(xié)議
- 2025年大數(shù)據(jù)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年遠(yuǎn)程醫(yī)療項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 吉利收購沃爾沃商務(wù)談判案例分析
- JGJ/T235-2011建筑外墻防水工程技術(shù)規(guī)程
- 人教版PEP五年級(jí)英語下冊(cè)單詞表與單詞字帖 手寫體可打印
- 如果歷史是一群喵
- 抖音房產(chǎn)直播敏感詞匯表
- 2024屆山東省青島市市北區(qū)八年級(jí)物理第二學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 廣東省深圳市2023年中考英語試題(含答案與解析)
- 《看看我們的地球》
- 2022-2023年人教版九年級(jí)化學(xué)(上冊(cè))期末試題及答案(完整)
- 中華民族共同體概論課件專家版2第二講 樹立正確的中華民族歷史觀
- 蔚來用戶運(yùn)營分析報(bào)告-數(shù)字化
評(píng)論
0/150
提交評(píng)論