操作系統(tǒng)復印習題解答_第1頁
操作系統(tǒng)復印習題解答_第2頁
操作系統(tǒng)復印習題解答_第3頁
操作系統(tǒng)復印習題解答_第4頁
操作系統(tǒng)復印習題解答_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)習題解答第1章 一、填空1計算機由 硬件 系統(tǒng)和 軟件 系統(tǒng)兩個部分組成,它們構成了一個完整的計算機系統(tǒng)。2按功能劃分,軟件可分為 系統(tǒng) 軟件和 應用 軟件兩種。3操作系統(tǒng)是在 裸機 上加載的第一層軟件,是對計算機硬件系統(tǒng)功能的 首次 擴充。4操作系統(tǒng)的基本功能是 處理機(包含作業(yè)) 管理、 存儲 管理、 設備 管理和 文件 管理。5在分時和批處理系統(tǒng)結合的操作系統(tǒng)中引入“前臺”和“后臺”作業(yè)的概念,其目的是 改善系統(tǒng)功能,提高處理能力 。6分時系統(tǒng)的主要特征為 多路性 、 交互性 、 獨立性 和 及時性 。7實時系統(tǒng)與分時以及批處理系統(tǒng)的主要區(qū)別是 高及時性 和 高可靠性 。8若一個

2、操作系統(tǒng)具有很強的交互性,可同時供多個用戶使用,則是 分時 操作系統(tǒng)。9如果一個操作系統(tǒng)在用戶提交作業(yè)后,不提供交互能力,只追求計算機資源的利用率、大吞吐量和作業(yè)流程的自動化,則屬于 批處理 操作系統(tǒng)。10采用多道程序設計技術,能充分發(fā)揮 CPU 和 外部設備 并行工作的能力。二、選擇1操作系統(tǒng)是一種 B 。A通用軟件 B系統(tǒng)軟件C應用軟件D軟件包2操作系統(tǒng)是對 C 進行管理的軟件。A系統(tǒng)軟件 B系統(tǒng)硬件 C計算機資源D應用程序3操作系統(tǒng)中采用多道程序設計技術,以提高CPU和外部設備的 A 。A利用率 B可靠性 C穩(wěn)定性 D兼容性4計算機系統(tǒng)中配置操作系統(tǒng)的目的是提高計算機的 B 和方便用戶使

3、用。A速度 B利用率 C靈活性 D兼容性5 C 操作系統(tǒng)允許多個用戶在其終端上同時交互地使用計算機。A批處理 B實時 C分時 D多道批處理6如果分時系統(tǒng)的時間片一定,那么 D ,響應時間越長。A用戶數越少B內存越少 C內存越多 D用戶數越多三、問答1什么是“多道程序設計”技術?它對操作系統(tǒng)的形成起到什么作用?答:所謂“多道程序設計”技術,即是通過軟件的手段,允許在計算機內存中同時存放幾道相互獨立的作業(yè)程序,讓它們對系統(tǒng)中的資源進行“共享”和“競爭”,以使系統(tǒng)中的各種資源盡可能地滿負荷工作,從而提高整個計算機系統(tǒng)的使用效率?;谶@種考慮,計算機科學家開始把CPU、存儲器、外部設備以及各種軟件都視

4、為計算機系統(tǒng)的“資源”,并逐步設計出一種軟件來管理這些資源,不僅使它們能夠得到合理地使用,而且還要高效地使用。具有這種功能的軟件就是“操作系統(tǒng)”。所以,“多道程序設計”的出現(xiàn),加快了操作系統(tǒng)的誕生。2怎樣理解“虛擬機”的概念?答:拿操作系統(tǒng)來說,它是在裸機上加載的第一層軟件,是對計算機硬件系統(tǒng)功能的首次擴充。從用戶的角度看,計算機配置了操作系統(tǒng)后,由于操作系統(tǒng)隱蔽了硬件的復雜細節(jié),用戶會感到機器使用起來更方便、容易了。這樣,通過操作系統(tǒng)的作用使展現(xiàn)在用戶面前的是一臺功能經過擴展了的機器。這臺“機器”不是硬件搭建成的,現(xiàn)實生活中并不存在具有這種功能的真實機器,它只是用戶的一種感覺而已。所以,就把

5、這樣的機器稱為“虛擬機”。3對于分時系統(tǒng),怎樣理解“從宏觀上看,多個用戶同時工作,共享系統(tǒng)的資源;從微觀上看,各終端程序是輪流運行一個時間片”?答:在分時系統(tǒng)中,系統(tǒng)把CPU時間劃分成許多時間片,每個終端用戶可以使用由一個時間片規(guī)定的CPU時間,多個用戶終端就輪流地使用CPU。這樣的效果是每個終端都開始了自己的工作,得到了及時的響應。也就是說,“從宏觀上看,多個用戶同時工作,共享系統(tǒng)的資源”。但實際上,CPU在每一時刻只為一個終端服務,即“從微觀上看,各終端程序是輪流運行一個時間片”。第2章 一、填空1進程在執(zhí)行過程中有3種基本狀態(tài),它們是 運行 態(tài)、 就緒 態(tài)和 阻塞 態(tài)。2系統(tǒng)中一個進程由

6、 程序 、 數據集合 和 進程控制塊(PCB) 三部分組成。3在多道程序設計系統(tǒng)中,進程是一個 動 態(tài)概念,程序是一個 靜 態(tài)概念。4在一個單CPU系統(tǒng)中,若有5個用戶進程。假設當前系統(tǒng)為用戶態(tài),則處于就緒狀態(tài)的用戶進程最多有 4 個,最少有 0 個。注意,題目里給出的是假設當前系統(tǒng)為用戶態(tài),這表明現(xiàn)在有一個進程處于運行狀態(tài),因此最多有4個進程處于就緒態(tài)。也可能除一個在運行外,其他4個都處于阻塞。這時,處于就緒的進程一個也沒有。5總的來說,進程調度有兩種方式,即 不可剝奪 方式和 剝奪 方式。6進程調度程序具體負責 中央處理機(CPU)的分配。7為了使系統(tǒng)的各種資源得到均衡使用,進行作業(yè)調度時

7、,應該注意 CPU忙碌 作業(yè)和 I/O忙碌 作業(yè)的搭配。8所謂系統(tǒng)調用,就是用戶程序要調用 操作系統(tǒng) 提供的一些子功能。9作業(yè)被系統(tǒng)接納后到運行完畢,一般還需要經歷 后備 、 運行 和 完成 三個階段。10假定一個系統(tǒng)中的所有作業(yè)同時到達,那么使作業(yè)平均周轉時間為最小的作業(yè)調度算法是 短作業(yè)優(yōu)先 調度算法。二、選擇1在進程管理中,當 C 時,進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。A進程被調度程序選中B進程等待某一事件發(fā)生C等待的事件出現(xiàn)D時間片到2在分時系統(tǒng)中,一個進程用完給它的時間片后,其狀態(tài)變?yōu)?A 。A就緒B等待C運行D由用戶設定3下面對進程的描述中,錯誤的是 D 。A進程是動態(tài)的概念B進程的執(zhí)行

8、需要CPUC進程具有生命周期D進程是指令的集合4操作系統(tǒng)通過 B 對進程進行管理。AJCBBPCBCDCTDFCB5一個進程被喚醒,意味著該進程 D 。A重新占有CPUB優(yōu)先級變?yōu)樽畲驝移至等待隊列之首D變?yōu)榫途w狀態(tài)6由各作業(yè)JCB形成的隊列稱為 C 。A就緒作業(yè)隊列B阻塞作業(yè)隊列C后備作業(yè)隊列D運行作業(yè)隊列7既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的作業(yè)調度算法是 A 。A響應比高者優(yōu)先B短作業(yè)優(yōu)先C優(yōu)先級調度D先來先服務8作業(yè)調度程序從處于 D 狀態(tài)的隊列中選取適當的作業(yè)投入運行。A就緒B提交C等待D后備9 A 是指從作業(yè)提交系統(tǒng)到作業(yè)完成的時間間隔。A周轉時間B響應時間C等待時間D運行時間

9、10計算機系統(tǒng)在執(zhí)行 C 時,會自動從目態(tài)變換到管態(tài)。AP操作BV操作C系統(tǒng)調用DI/O指令三、問答1在多道程序設計系統(tǒng)中,如何理解“內存中的多個程序的執(zhí)行過程交織在一起,大家都在走走停?!边@樣一個現(xiàn)象?答:在多道程序設計系統(tǒng)中,內存中存放多個程序,它們以交替的方式使用CPU。因此,從宏觀上看,這些程序都開始了自己的工作。但由于CPU只有一個,在任何時刻CPU只能執(zhí)行一個進程程序。所以這些進程程序的執(zhí)行過程是交織在一起的。也就是說,從微觀上看,每一個進程一會兒在向前走,一會兒又停步不前,處于一種“走走停?!钡臓顟B(tài)之中。2什么是“原語”、“特權指令”、“系統(tǒng)調用命令”和“訪管指令”?它們之間有無

10、一定的聯(lián)系?答:特權指令和訪管指令都是CPU指令系統(tǒng)中的指令,只是前者是一些只能在管態(tài)下執(zhí)行的指令,后者是一條只能在目態(tài)下執(zhí)行的指令。原語和系統(tǒng)調用命令都是操作系統(tǒng)中的功能程序,只是前者執(zhí)行時不能被其他程序所打斷,后者沒有這個要求。操作系統(tǒng)中有些系統(tǒng)調用命令是以原語的形式出現(xiàn)的,例如創(chuàng)建進程就是一條原語式的系統(tǒng)調用命令。但并不是所有系統(tǒng)調用命令都是原語。因為如果那樣的話,整個系統(tǒng)的并發(fā)性就不可能得到充分地發(fā)揮。3操作系統(tǒng)是如何處理源程序中出現(xiàn)的系統(tǒng)調用命令的?答:編譯程序總是把源程序中的系統(tǒng)調用命令改寫成為一條訪管指令和相應的參數。這樣在程序實際被執(zhí)行時,就通過訪管指令進入操作系統(tǒng),達到調用操

11、作系統(tǒng)功能子程序的目的。4系統(tǒng)調用與一般的過程調用有什么區(qū)別?答:系統(tǒng)調用是指在用戶程序中調用操作系統(tǒng)提供的功能子程序;一般的過程調用是指在一個程序中調用另一個程序。因此它們之間有如下三點區(qū)別。(1)一般的過程調用,調用者與被調用者都運行在相同的CPU狀態(tài),即或都處于目態(tài)(用戶程序調用用戶程序),或都處于管態(tài)(系統(tǒng)程序調用系統(tǒng)程序);但發(fā)生系統(tǒng)調用時,發(fā)出調用命令的調用者運行在目態(tài),而被調用的對象則運行在管態(tài),即調用者與被調用者運行在不同的CPU狀態(tài)。(2)一般的過程調用,是直接通過轉移指令轉向被調用的程序;但發(fā)生系統(tǒng)調用時,只能通過訪管指令提供的一個統(tǒng)一的入口,由目態(tài)進入管態(tài),經分析后,才轉

12、向相應的操作系統(tǒng)命令處理程序。(3)一般的過程調用,在被調用者執(zhí)行完后,就徑直返回斷點繼續(xù)執(zhí)行;但系統(tǒng)調用可能會導致進程狀態(tài)的變化,從而引起系統(tǒng)重新分配處理機。因此,系統(tǒng)調用處理結束后,不一定是返回調用者斷點處繼續(xù)執(zhí)行。5試述創(chuàng)建進程原語的主要功能。答:創(chuàng)建進程原語的主要功能有以下三項。(1)為新建進程申請一個PCB。(2)將創(chuàng)建者(即父進程)提供的新建進程的信息填入PCB中。(3)將新建進程設置為就緒狀態(tài),并按照所采用的調度算法,把PCB排入就緒隊列中。6處于阻塞狀態(tài)的一個進程,它所等待的事件發(fā)生時,就把它的狀態(tài)由阻塞改變?yōu)榫途w,讓它到就緒隊列里排隊,為什么不直接將它投入運行呢?答:只要是涉

13、及管理,就應該有管理的規(guī)則,沒有規(guī)則就不成方圓。如果處于阻塞狀態(tài)的一個進程,在它所等待的事件發(fā)生時就徑直將它投入運行(也就是把CPU從當前運行進程的手中搶奪過來),那么系統(tǒng)就無法控制對CPU這種資源的管理和使用,進而也就失去了設置操作系統(tǒng)的作用。所以,阻塞狀態(tài)的進程在它所等待的事件發(fā)生時,必須先進入就緒隊列,然后再去考慮它使用CPU的問題。7作業(yè)調度與進程調度有什么區(qū)別?答:作業(yè)調度和進程調度(即CPU調度)都涉及到CPU的分配。但作業(yè)調度只是選擇參加CPU競爭的作業(yè),它并不具體分配CPU。而進程調度是在作業(yè)調度完成選擇后的基礎上,把CPU真正分配給某一個具體的進程使用。8系統(tǒng)中的各種進程隊列

14、都是由進程的PCB鏈接而成的。當一個進程的狀態(tài)從阻塞變?yōu)榫途w狀態(tài)時,它的PCB從哪個隊列移到哪個隊列?它所對應的程序也要跟著移來移去嗎?為什么?答:當一個進程的狀態(tài)從阻塞變?yōu)榫途w時,它的PCB就從原先在的阻塞隊列移到就緒隊列里。在把進程的PCB從這個隊列移到另一個隊列時,只是移動進程的PCB,進程所對應的程序是不動的。這是因為在進程的PCB里,總是記錄有它的程序的斷點信息。知道了斷點的信息,就能夠知道程序當前應該從哪里開始往下執(zhí)行了。這正是保護現(xiàn)場所起的作用。9為什么說響應比高者優(yōu)先作業(yè)調度算法是對先來先服務以及短作業(yè)優(yōu)先這兩種調度算法的折中?答:先來先服務的作業(yè)調度算法,重點考慮的是作業(yè)在后

15、備作業(yè)隊列里的等待時間,因此對短作業(yè)不利;短作業(yè)優(yōu)先的作業(yè)調度算法,重點考慮的是作業(yè)所需的CPU時間(當然,這個時間是用戶自己估計的),因此對長作業(yè)不利?!绊憫雀哒邇?yōu)先”作業(yè)調度算法,總是在需要調度時,考慮作業(yè)已經等待的時間和所需運行時間之比,即:該作業(yè)已等待時間 / 該作業(yè)所需CPU時間不難看出,這個比值的分母是一個不變的量。隨著時間的推移,一個作業(yè)的“已等待時間”會不斷發(fā)生變化,也就是分子在不斷地變化。顯然,短作業(yè)比較容易獲得較高的響應比。這是因為它的分母較小,只要稍加等待,整個比值就會很快上升。另一方面,長作業(yè)的分母雖然很大,但隨著它等待時間的增加,比值也會逐漸上升,從而獲得較高的響應

16、比。根據這種分析,可見“響應比高者優(yōu)先”的作業(yè)調度算法,既照顧到了短作業(yè)的利益,也照顧到了長作業(yè)的利益,是對先來先服務以及短作業(yè)優(yōu)先這兩種調度算法的一種折中。10短作業(yè)優(yōu)先調度算法總能得到最小的平均周轉時間嗎?為什么?答:短作業(yè)優(yōu)先調度算法只有在所有作業(yè)同時到達后備作業(yè)隊列時,才能得到最小的平均周轉時間。如果各作業(yè)不是同時到達,這個結論是不成立的??梢杂梅蠢f明,例如,教材上舉有如下例子:考慮有5個作業(yè)A到E,運行時間分別是2、4、1、1、1;到達時間分別是0、0、3、3、3。按照短作業(yè)優(yōu)先的原則,最初只有A和B可以參與選擇,因為其他3個還沒有到達。于是,運行順序應該是A、B、C、D、E。它們

17、每個的周轉時間分別是2、6、4、5、6,平均周轉時間是4.6。但如果按照順序B、C、D、E、A來調度,它們每一個的周轉時間成為9、4、2、3、4,平均周轉時間是4.4。結果比短作業(yè)優(yōu)先調度算法好。之所以會這樣,就是因為這5個作業(yè)并沒有同時到達。四、計算1有三個作業(yè):作 業(yè)到達時間所需CPU時間10.0820.4431.01分別采用先來先服務和短作業(yè)優(yōu)先作業(yè)調度算法。試問它們的平均周轉時間各是什么?你是否還可以給出一種更好的調度算法,使其平均周轉時間優(yōu)于這兩種調度算法?解:(1)采用先來先服務作業(yè)調度算法時的實施過程如下。作 業(yè)到達時間所需CPU時間開始時間完成時間周轉時間10.080.08.0

18、8.020.448.012.011.631.0112.013.012.0這時,作業(yè)的調度順序是123。其平均周轉時間為:(8 + 11.6 + 12)/ 3 = 10.53(2)采用短作業(yè)優(yōu)先作業(yè)調度算法時的實施過程如下。作 業(yè)到達時間所需CPU時間開始時間完成時間周轉時間10.080.08.08.031.018.09.08.020.449.013.012.6這里要注意,在作業(yè)1運行完畢進行作業(yè)調度時,作業(yè)2和3都已經到達。由于是實行短作業(yè)優(yōu)先作業(yè)調度算法,因此先調度作業(yè)3運行,最后調度作業(yè)2運行。所以,這時的作業(yè)調度順序是132。其平均周轉時間為:(8 + 8 + 12.6)/ 3 = 9.

19、53(3)還可以有更好的作業(yè)調度算法,使其平均周轉時間優(yōu)于這兩種調度算法。例如,如果知道在作業(yè)1后面會來兩個短作業(yè),那么作業(yè)1到達后,先不投入運行。而是等所有作業(yè)到齊后,再按照短作業(yè)優(yōu)先作業(yè)調度算法進行調度,具體實施過程如下。作 業(yè)到達時間所需CPU時間開始時間完成時間周轉時間31.011.02.01.020.442.06.05.610.086.014.014.0這時的作業(yè)調度順序是321。其平均周轉時間為:(1 + 5.6 + 14)/ 3 = 6.872設有一組作業(yè),它們的到達時間和所需CPU時間如下所示。作業(yè)號到達時間所需CPU時間19:0070分鐘29:4030分鐘39:5010分鐘4

20、10:105分鐘分別采用先來先服務和短作業(yè)優(yōu)先作業(yè)調度算法。試問它們的調度順序、作業(yè)周轉時間以及平均周轉時間各是什么?解:(1)采用先來先服務作業(yè)調度算法時的實施過程如下。作業(yè)號到達時間所需CPU時間開始時間完成時間周轉時間19:0070分鐘9:0010:1070分鐘29:4030分鐘10:1010:4060分鐘39:5010分鐘10:4010:5060分鐘410:105分鐘10:5010:5545分鐘這時,作業(yè)的調度順序是1234。其平均周轉時間為:(70 + 60 + 60 + 45)/ 4 = 58.75 (2)采用短作業(yè)優(yōu)先作業(yè)調度算法時的實施過程如下。作業(yè)號到達時間所需CPU時間開始

21、時間完成時間周轉時間19:0070分鐘9:0010:1070分鐘410:105分鐘10:1010:155分鐘39:5010分鐘10:1510:2535分鐘29:4030分鐘10:2510:5575分鐘這時,作業(yè)的調度順序是1432。其平均周轉時間為:(70 + 5 + 35 + 75)/ 4 = 46.25 3某系統(tǒng)有三個作業(yè):作業(yè)號到達時間所需CPU時間18.81.529.00.439.51.0系統(tǒng)確定在它們全部到達后,開始采用響應比高者優(yōu)先調度算法,并忽略系統(tǒng)調度時間。試問對它們的調度順序是什么?各自的周轉時間是多少?解:三個作業(yè)是在9.5時全部到達的。這時它們各自的響應比如下:作業(yè)1的響

22、應比 =(9.5 8.8)/ 1.5 = 0.46作業(yè)2的響應比 =(9.5 9.0)/ 0.4 = 1.25作業(yè)3的響應比 =(9.5 9.5)/ 1.0 = 0因此,最先應該調度作業(yè)2運行,因為它的響應比最高。它運行了0.4后完成,這時的時間是9.9。再計算作業(yè)1和3此時的響應比:作業(yè)1的響應比 =(9.9 8.8)/ 1.5 = 0.73作業(yè)3的響應比 =(9.9 9.5)/ 1.0 = 0.40因此,第二個應該調度作業(yè)1運行,因為它的響應比最高。它運行了1.5后完成,這時的時間是11.4。第三個調度的是作業(yè)3,它運行了1.0后完成,這時的時間是12.4。整個實施過程如下。作業(yè)號到達時間

23、所需CPU時間開始時間完成時間周轉時間29.00.49.59.90.918.81.59.911.42.639.51.011.412.42.9作業(yè)的調度順序是213。各自的周轉時間為:作業(yè)1為0.9;作業(yè)2為2.6;作業(yè)3為2.9。第3章 一、填空1將作業(yè)相對地址空間的相對地址轉換成內存中的絕對地址的過程稱為 地址重定位 。2使用覆蓋與對換技術的主要目的是 提高內存的利用率 。3存儲管理中,對存儲空間的浪費是以 內部碎片 和 外部碎片 兩種形式表現(xiàn)出來的。4地址重定位可分為 靜態(tài)重定位 和 動態(tài)重定位 兩種。5在可變分區(qū)存儲管理中采用最佳適應算法時,最好按 尺寸 法來組織空閑分區(qū)鏈表。6在分頁式

24、存儲管理的頁表里,主要應該包含 頁號 和 塊號 兩個信息。7靜態(tài)重定位在程序 裝入 時進行,動態(tài)重定位在程序 執(zhí)行 時進行。8在分頁式存儲管理中,如果頁面置換算法選擇不當,則會使系統(tǒng)出現(xiàn) 抖動 現(xiàn)象。9在請求分頁式存儲管理中采用先進先出(FIFO)頁面淘汰算法時,增加分配給作業(yè)的塊數時, 缺頁中斷 的次數有可能會增加。10在請求分頁式存儲管理中,頁面淘汰是由于 缺頁 引起的。二、選擇1虛擬存儲器的最大容量是由 B 決定的。A內、外存容量之和B計算機系統(tǒng)的地址結構C作業(yè)的相對地址空間D作業(yè)的絕對地址空間2采用先進先出頁面淘汰算法的系統(tǒng)中,一進程在內存占3塊(開始為空),頁面訪問序列為1、2、3、

25、4、1、2、5、1、2、3、4、5、6。運行時會產生 D 次缺頁中斷。A7B8C9D10從圖3-8中的“缺頁計數”欄里可以看出應該選擇D。圖3-8 選擇題2配圖3系統(tǒng)出現(xiàn)“抖動”現(xiàn)象的主要原因是由于 A 引起的。A置換算法選擇不當B交換的信息量太大C內存容量不足D采用頁式存儲管理策略4實現(xiàn)虛擬存儲器的目的是 D 。A進行存儲保護B允許程序浮動C允許程序移動D擴充主存容量5作業(yè)在執(zhí)行中發(fā)生了缺頁中斷,那么經中斷處理后,應返回執(zhí)行 B 指令。A被中斷的前一條B被中斷的那條C被中斷的后一條D程序第一條6在實行分頁式存儲管理系統(tǒng)中,分頁是由 D 完成的。A程序員B用戶C操作員D系統(tǒng)7下面的 A 頁面淘

26、汰算法有時會產生異?,F(xiàn)象。A先進先出B最近最少使用C最不經常使用D最佳8在一個分頁式存儲管理系統(tǒng)中,頁表的內容為:頁號塊號021127若頁的大小為4KB,則地址轉換機構將相對地址0轉換成的物理地址是 A 。A8192B4096C2048D1024注意,相對地址0肯定是第0頁的第0個字節(jié)。查頁表可知第0頁存放在內存的第2塊?,F(xiàn)在塊的尺寸是4KB,因此第2塊的起始地址為8192。故相對地址0所對應的絕對地址(即物理地址)是8192。9下面所列的存儲管理方案中, A 實行的不是動態(tài)重定位。A固定分區(qū)B可變分區(qū)C分頁式 D請求分頁式10在下面所列的諸因素中,不對缺頁中斷次數產生影響的是 C 。A內存分

27、塊的尺寸B程序編制的質量C作業(yè)等待的時間 D分配給作業(yè)的內存塊數三、問答1什么是內部碎片?什么是外部碎片?各種存儲管理中都可能產生何種碎片?答:所謂“內部碎片”,是指系統(tǒng)已經分配給用戶使用、用戶自己沒有用到的那部分存儲空間;所謂“外部碎片”,是指系統(tǒng)無法把它分配出去供用戶使用的那部分存儲空間。對于教材而言,單一連續(xù)區(qū)存儲管理、固定分區(qū)存儲管理、分頁式存儲管理和請求頁式存儲管理都會出現(xiàn)內部碎片。只是前兩種存儲管理造成的內部碎片比較大,浪費較為嚴重;后兩種頁式存儲管理,平均來說每個作業(yè)都會出現(xiàn)半頁的內部碎片。教材中,只有可變分區(qū)存儲管理會產生外部碎片。2敘述靜態(tài)重定位與動態(tài)重定位的區(qū)別。答:靜態(tài)重

28、定位是一種通過軟件來完成的地址重定位技術。它在程序裝入內存時,完成對程序指令中地址的調整。因此,程序經過靜態(tài)重定位以后,在內存中就不能移動了。如果要移動,就必須重新進行地址重定位。動態(tài)重定位是一種通過硬件支持完成的地址重定位技術。作業(yè)程序被原封不動地裝入內存。只有到執(zhí)行某條指令時,硬件地址轉換機構才對它里面的地址進行轉換。正因為如此,實行動態(tài)重定位的系統(tǒng),作業(yè)程序可以在內存里移動。也就是說,作業(yè)程序在內存中是可浮動的。3一個虛擬地址結構用24個二進制位表示。其中12個二進制位表示頁面尺寸。試問這種虛擬地址空間總共多少頁?每頁的尺寸是多少?答:如下圖所示,由于虛擬地址中是用12個二進制位表示頁面

29、尺寸(即頁內位移),所以虛擬地址空間中表示頁號的也是12個二進制位。這樣,這種虛擬地址空間總共有: 212 = 4096(頁) 每頁的尺寸是: 212 = 4096 = 4K(字節(jié))4什么叫虛擬存儲器?怎樣確定虛擬存儲器的容量?答:虛擬存儲器實際是一種存儲擴充技術。它把作業(yè)程序存放在輔助存儲器里,運行時只裝入程序的一部分。遇到不在內存的程序時,再把所需要的部分裝入。這樣在內存和輔存之間調入、調出的做法,使用戶的作業(yè)地址空間無需顧及內存的大小。給用戶造成的印象是,無論程序有多大,它在這個系統(tǒng)上都可以運行。這種以輔助存儲器作為后援的虛幻存儲器,就稱為虛擬存儲器。虛擬存儲器的大小是由系統(tǒng)的地址結構確

30、定的。5為什么請求分頁式存儲管理能夠向用戶提供虛擬存儲器?答:請求分頁式存儲管理的基本思想是:操作系統(tǒng)按照存儲塊的尺寸,把用戶作業(yè)地址空間劃分成頁,全部存放在磁盤上。作業(yè)運行時,只先裝入若干頁。運行過程中遇到不在內存的頁時,操作系統(tǒng)就把它從磁盤調入內存。這樣一來,用戶的作業(yè)地址空間無需顧及內存的大小。這與虛擬存儲器的思想是完全吻合的。所以,請求分頁式存儲管理能夠向用戶提供虛擬存儲器。6在請求分頁式存儲管理中,為什么既有頁表,又有快表?答:在分頁式或請求頁式存儲管理中,通常是利用內存儲器構成頁表的。當CPU執(zhí)行到某條指令、要對內存中的某一地址訪問時,因為這個地址是相對地址,所以先要根據這個地址所

31、在的頁號去查頁表(訪問一次內存),然后才能由所形成的絕對地址去真正執(zhí)行指令(第二次訪問內存)。可見,由于頁表在內存,降低了CPU的訪問速度。為了提高相對地址到絕對地址的變換速度,人們想到用一組快速寄存器來代替頁表。這時查頁表是以并行的方式進行,立即就能輸出與該頁號匹配的塊號,這樣做無疑比內存式的頁表要快得多。但是,快速寄存器的價格昂貴,由它來組成整個頁表是不可取的??紤]到程序運行時具有局部性,因此實際系統(tǒng)中總是一方面采用內存頁表、另一方面用極少幾個快速寄存器組成快表來共同完成地址的變換工作。這時的地址變換過程,如教材中的圖3-22所示。7試述缺頁中斷與頁面淘汰之間的關系。答:在請求頁式存儲管理

32、中,當根據虛擬地址查頁表而發(fā)現(xiàn)所要訪問的頁不在內存時,就會產生缺頁中斷。系統(tǒng)響應中斷后,就由操作系統(tǒng)到輔存把所需要的頁讀入內存。這時,內存可能有空閑的塊,也可能沒有。只有當內存中沒有空閑塊時,才會出現(xiàn)將內存現(xiàn)有頁面淘汰出去的問題,即要進行頁面淘汰。所以,缺頁中斷和頁面淘汰之間的關系是:頁面淘汰一定是由缺頁中斷所引起;但缺頁中斷則不一定引起頁面淘汰。8試述缺頁中斷與一般中斷的區(qū)別。答:在計算機系統(tǒng)中,由于某些事件的出現(xiàn),打斷了當前程序的運行,而使CPU去處理出現(xiàn)的事件,這稱為“中斷”。通常,計算機的硬件結構都是在執(zhí)行完一條指令后,去檢查有無中斷事件發(fā)生的。如果有,那么就暫停當前程序的運行,而讓C

33、PU去執(zhí)行操作系統(tǒng)的中斷處理程序,這叫“中斷響應”。CPU在處理完中斷后,如果不需要對CPU重新進行分配,那么就返回被中斷進程的程序繼續(xù)運行;如果需要進行CPU的重新分配,那么操作系統(tǒng)就會去調度新進程。由上面的講述可以看出,缺頁中斷與一般中斷的區(qū)別如下。(1)兩種中斷產生的時刻不同:缺頁中斷是在執(zhí)行一條指令中間時產生的中斷,并立即轉去處理;而一般中斷則是在一條指令執(zhí)行完畢后,當硬件中斷裝置發(fā)現(xiàn)有中斷請求時才去響應和處理。(2)處理完畢后的歸屬不同:缺頁中斷處理完后,仍返回到原指令去重新執(zhí)行,因為那條指令并未執(zhí)行;而一般中斷則是或返回到被中斷進程的下一條指令去執(zhí)行,因為上一條指令已經執(zhí)行完了,或

34、重新調度,去執(zhí)行別的進程程序。9怎樣理解把相對地址劃分成數對:(頁號,頁內位移)的過程對于用戶是“透明”的?答:在操作系統(tǒng)中,所謂“透明”,即指用戶不知道的意思。對于分頁式存儲管理來說,用戶向系統(tǒng)提供的相對地址空間,是一個一維的連續(xù)空間。系統(tǒng)接受了這個作業(yè)后,在內部把這個相對地址空間劃分成若干頁。由于這種劃分對于用戶來說是根本不知道的,所以說把相對地址劃分成數對:(頁號,頁內位移)的過程對于用戶是“透明”的。圖3-9 各種存儲管理策略的適用場合10做一個綜述,說明從單一連續(xù)區(qū)存儲管理到固定分區(qū)存儲管理,到可變分區(qū)存儲管理,到分頁式存儲管理,再到請求分頁式存儲管理,每一種存儲管理的出現(xiàn),都是在原

35、有基礎上的發(fā)展和提高。答:教材共介紹了5種存儲管理策略,它們適用于不同的場合,如圖3-9所示。圖中,在單一連續(xù)分區(qū)存儲管理與固定分區(qū)存儲管理之間畫了一條線,那表明位于線以上的存儲管理策略只適用于單道程序設計,以下的適用于多道程序設計;在可變分區(qū)存儲管理與分頁式存儲管理之間畫了一條線,那表明位于線以上的存儲管理策略都要求為進入內存的作業(yè)分配一個連續(xù)的存儲區(qū),以下的存儲管理策略打破了連續(xù)性的要求;在分頁式存儲管理與請求頁式存儲管理之間畫了一條線,那表明位于線以上的存儲管理策略都要求使作業(yè)程序全部進入內存,而以下的存儲管理策略打破了全部的要求,只要部分裝入內存就可以了。由此可見,每一種存儲管理的出現(xiàn)

36、,都是在原有存儲管理基礎上的一次發(fā)展和提高。它們從簡單到復雜,從不完善到逐漸完善。四、計算1在可變分區(qū)存儲管理中,按地址法組織當前的空閑分區(qū),其大小分別為:10KB,4KB,20KB,18KB,7KB,9KB,12KB和15KB。現(xiàn)在依次有3個存儲請求為:12KB,10KB,9KB。試問使用最先適應算法時的分配情形如何?那么最佳適應、最壞適應呢?解:我們用表來說明實行各種分配算法時的情形。(1)最先適應算法請求隊列最先適應算法初始10K4K20K18K7K9K12K15K12K10K4K8K18K7K9K12K15K10K04K8K18K7K9K12K15K9K04K8K9K7K9K12K15

37、K(2)最佳適應算法請求隊列最佳適應算法初始10K4K20K18K7K9K12K15K12K10K4K20K18K7K9K015K10K04K20K18K7K9K015K9K04K20K18K7K0015K(3)最壞適應算法請求隊列最壞適應算法初始10K4K20K18K7K9K12K15K12K10K4K8K18K7K9K12K15K10K10K4K8K8K7K9K12K15K9K10K4K8K8K7K9K12K6K可見,分配算法不同,選擇的分配對象也不一樣。2系統(tǒng)內存被劃分成8塊,每塊4KB。某作業(yè)的虛擬地址空間共劃分成16個頁面。當前在內存的頁與內存塊的對應關系如下表所示,未列出的頁表示不

38、在內存。頁 號塊 號頁 號塊 號02441153269530117試指出對應于下列虛擬地址的絕對地址:(a)20(b)4100(c)8300解:(a)虛擬地址20對應的頁號是0,頁內位移是20。用0去查頁表,知道第0頁現(xiàn)在存放在內存的第2塊。由于每塊的長度是4KB,所以第2塊的起始地址為8192。因此,虛擬地址20所對應的絕對地址是: 8192+20=8212(b)虛擬地址4100對應的頁號是: 4100/4096=1(“/”是整除運算符)對應的頁內位移是: 4100%4096=4(“%”是求余運算符)用1去查頁表,知道第1頁現(xiàn)在存放在內存的第1塊。第1塊的起始地址為4096。因此,虛擬地址4

39、100所對應的絕對地址是: 4096+4=4100(c)虛擬地址8300對應的頁號是: 8300/4096=2(“/”是整除運算符)對應的頁內位移是: 8300%4096=108(“%”是求余運算符)用2去查頁表,知道第2頁現(xiàn)在存放在內存的第6塊。第6塊的起始地址為 6×4K=24576因此,虛擬地址8300所對應的絕對地址是 24576+108=246843某請求分頁式存儲管理系統(tǒng),接收一個共7頁的作業(yè)。作業(yè)運行時的頁面走向如下: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6若采用最近最久未用(LRU)頁面淘汰算法,作業(yè)在得到2塊和4塊內存空間時,

40、各會產生出多少次缺頁中斷?如果采用先進先出(FIFO)頁面淘汰算法時,結果又如何?解:(1)采用最近最久未用(LRU)頁面淘汰算法,作業(yè)在得到2塊內存空間時所產生的缺頁中斷次數為18次,如圖3-10(a)所示;在得到4塊內存空間時所產生的缺頁中斷次數為10次,如圖3-10(b)所示。圖3-10 LRU時的情形(2)采用先進先出(FIFO)頁面淘汰算法,作業(yè)在得到2塊內存空間時所產生的缺頁中斷次數為18次,如圖3-11(a)所示;在得到4塊內存空間時所產生的缺頁中斷次數為14次,如圖3-11(b)所示。圖3-11 FIFO時的情形關于先進先出(FIFO)頁面淘汰算法,在給予作業(yè)更多的內存塊時,缺

41、頁中斷次數有可能上升,這是所謂的異?,F(xiàn)象。但要注意,并不是在任何情況下都會出現(xiàn)異常。是否出現(xiàn)異常,取決于頁面的走向。本題所給的頁面走向,在FIFO頁面淘汰算法下,并沒有引起異常:2塊時缺頁中斷次數為18次,4塊時缺頁中斷次數為14次。第4章 一、填空1磁帶、磁盤這樣的存儲設備都是以 塊 為單位與內存進行信息交換的。2根據用戶作業(yè)發(fā)出的磁盤I/O請求的柱面位置,來決定請求執(zhí)行順序的調度,被稱為 移臂 調度。3DMA控制器在獲得總線控制權的情況下能直接與 內存儲器 進行數據交換,無需CPU介入。4在DMA方式下,設備與內存儲器之間進行的是 成批 數據傳輸。5通道程序是由 通道 執(zhí)行的。6通道是一個

42、獨立與CPU的、專門用來管理 輸入/輸出操作 的處理機。7緩沖的實現(xiàn)有兩種方法:一種是采用專門硬件寄存器的硬件緩沖,一種是在內存儲器里開辟一個區(qū)域,作為專用的I/O緩沖區(qū),稱為 軟件緩沖 。8設備管理中使用的數據結構有系統(tǒng)設備表(SDT)和 設備控制塊(DCB) 。9基于設備的分配特性,可以把系統(tǒng)中的設備分為獨享、共享和 虛擬 三種類型。10引起中斷發(fā)生的事件稱為 中斷源 。二、選擇1在對磁盤進行讀/寫操作時,下面給出的參數中, C 是不正確的。A柱面號B磁頭號C盤面號D扇區(qū)號2在設備管理中,是由 B 完成真正的I/O操作的。A輸入/輸出管理程序B設備驅動程序C中斷處理程序D設備啟動程序3在下

43、列磁盤調度算法中,只有 D 考慮I/O請求到達的先后次序。A最短查找時間優(yōu)先調度算法B電梯調度算法C單向掃描調度算法D先來先服務調度算法4下面所列的內容里, C 不是DMA方式傳輸數據的特點。A直接與內存交換數據B成批交換數據C與CPU并行工作D快速傳輸數據5在CPU啟動通道后,由 A 執(zhí)行通道程序,完成CPU所交給的I/O任務。A通道 BCPUC設備 D設備控制器6利用SPOOL技術實現(xiàn)虛擬設備的目的是 A 。A把獨享的設備變?yōu)榭梢怨蚕鞡便于獨享設備的分配C便于對獨享設備的管理D便于獨享設備與CPU并行工作7通常,緩沖池位于 C 中。A設備控制器 B輔助存儲器C主存儲器D寄存器8 B 是直接

44、存取的存儲設備。A磁帶 B磁盤C打印機D鍵盤顯示終端9SPOOLING系統(tǒng)提高了 A 的利用率。A獨享設備 B輔助存儲器C共享設備D主存儲器10按照設備的 D 分類,可將系統(tǒng)中的設備分為字符設備和塊設備兩種。A從屬關系 B分配特性C操作方式D工作特性三、問答1基于設備的從屬關系,可以把設備分為系統(tǒng)設備與用戶設備兩類。根據什么來區(qū)分一個設備是系統(tǒng)設備還是用戶設備呢?答:所謂“系統(tǒng)設備”,是指在操作系統(tǒng)生成時就已被納入系統(tǒng)管理范圍的設備;所謂“用戶設備”是指在完成應用任務過程中,用戶特殊需要的設備。因此,判定一個設備是系統(tǒng)設備還是用戶設備,依據是它在系統(tǒng)生成時,是否已經納入了系統(tǒng)的管理范圍。如果是

45、,它就是系統(tǒng)設備;如果不是,它就是用戶設備。2設備管理的主要功能是什么?答:設備管理的主要功能是:(1)提供一組I/O命令,以便用戶進程能夠在程序中提出I/O請求,這是用戶使用外部設備的“界面”;(2)記住各種設備的使用情況,實現(xiàn)設備的分配與回收;(3)對緩沖區(qū)進行管理,解決設備與設備之間、設備與CPU之間的速度匹配問題;(4)按照用戶的具體請求,啟動設備,通過不同的設備驅動程序,進行實際的I/O操作;I/O操作完成之后,將結果通知用戶進程,從而實現(xiàn)真正的I/O操作。3試分析最短查找時間優(yōu)先調度算法的“不公平”之處。例如例4-1里,原來磁臂移到16柱面后,下一個被處理的I/O請求是柱面1。假定

46、在處理16柱面時,到達一個對柱面8的I/O新請求,那么下一個被處理的就不是柱面1而是柱面8了。這有什么弊端存在?答:最短查找時間優(yōu)先調度算法,只考慮各I/O請求之間的柱面距離,不去過問這些請求到達的先后次序。這樣一來,可能會出現(xiàn)的弊端是磁頭總是關照鄰近的I/O請求,冷待了早就到達的、位于磁盤兩頭的I/O請求。這對于它們來說,當然是“不公平”的。4總結設備和CPU在數據傳輸的4種方式中,各自在“啟動、數據傳輸、I/O管理以及善后處理”各個環(huán)節(jié)所承擔的責任。答:使用“程序循環(huán)測試”的方式來進行數據傳輸,不僅啟動、I/O管理和善后處理等工作要由CPU來承擔,即使在數據傳輸時,CPU也要做諸如從控制器

47、的數據寄存器里取出設備的輸入信息,送至內存;將輸出的信息,從內存送至控制器的數據寄存器,以供設備輸出等工作。因此,在這種方式下,CPU不僅要花費大量時間進行測試和等待,并且只能與設備串行工作,整個計算機系統(tǒng)的效率發(fā)揮不出來。使用“中斷”的方式來進行數據傳輸,啟動、I/O管理以及善后處理等工作仍然要由CPU來承擔,但在設備進行數據傳輸時,CPU和外部設備實行了并行工作。在這種方式下,CPU的利用率有了一定的提高。使用“直接存儲器存取(DMA)”的方式來進行數據傳輸,I/O的啟動以及善后處理是CPU的事情,數據傳輸以及I/O管理等事宜均由DMA負責實行。不過,DMA方式是通過“竊取”總線控制權的辦

48、法來工作的。在它工作時,CPU被掛起,所以并非設備與CPU在并行工作。因此,在一定程度上影響了CPU的效率。使用“通道”方式來進行數據傳輸,在用戶發(fā)出I/O請求后,CPU就把該請求全部交由通道去完成。通道在整個I/O任務結束后,才發(fā)出中斷信號,請求CPU進行善后處理。這時CPU對I/O請求只去做啟動和善后處理工作,輸入/輸出的管理以及數據傳輸等事宜,全部由通道獨立完成,并且真正實現(xiàn)了CPU與設備之間的并行操作。5用戶程序中采用“設備類,相對號”的方式使用設備有什么優(yōu)點?答:在用戶程序中采用“設備類,相對號”的方式使用設備的優(yōu)點是:第一,用戶不需要記住系統(tǒng)中每一臺設備的具體設備號,這是非常麻煩的

49、事情;第二,在多道程序設計環(huán)境下,用戶并不知道當前哪一臺設備已經分配,哪一臺設備仍然空閑。通過“設備類,相對號”來提出對設備的使用請求,系統(tǒng)就可以根據當前的具體情況來分配,從而提高設備的使用效率;第三,用戶并不知道設備的好壞情況。如果是用“絕對號”指定具體的設備,而該設備正好有故障時,這次I/O任務就不可能完成,程序也就無法運行下去。但通過“設備類,相對號”來提出對設備的使用請求,系統(tǒng)就可以靈活處理這種情況,把好的設備分配出去。6啟動磁盤執(zhí)行一次輸入/輸出操作要花費哪幾部分時間?哪個時間對磁盤的調度最有影響?答:執(zhí)行一次磁盤的輸入/輸出操作需要花費的時間包括三部分:(1)查找時間;(2)等待時

50、間;(3)傳輸時間。在這些時間中,傳輸時間是設備固有的特性,無法用改變軟件的辦法將它改進。因此,要提高磁盤的使用效率,只能在減少查找時間和等待時間上想辦法,它們都與I/O在磁盤上的分布位置有關。由于磁臂的移動是靠控制電路驅動步進電機來實現(xiàn),它的運動速度相對于磁盤軸的旋轉來講較緩慢。因此,查找時間對磁盤調度的影響更為主要。7解釋通道命令字、通道程序和通道地址字。答:所謂“通道命令字”,是指通道指令系統(tǒng)中的指令。只是為了與CPU的指令相區(qū)別,才把通道的指令改稱為“通道命令字”。若干條通道命令字匯集在一起,就構成了一個“通道程序”,它規(guī)定了設備應該執(zhí)行的各種操作和順序。通常,通道程序存放在通道自己的

51、存儲部件里。當通道中沒有存儲部件時,就存放在內存儲器里。這時,為了使通道能取得通道程序去執(zhí)行,必須把存放通道程序的內存起始地址告訴通道。存放這個起始地址的內存固定單元,被稱為“通道地址字”。8何為DMA?通道與DMA有何區(qū)別?答:所謂“DMA”,是指“直接存儲器存取”的數據傳輸方式,其最大特點是能使I/O設備直接和內存儲器進行成批數據的快速傳輸。適用于一些高速的I/O設備,如磁帶、磁盤等。通道方式與DMA方式之間的區(qū)別如下。(1)在DMA方式下,數據傳輸的方向、傳輸長度和地址等仍然需要由CPU來控制。但在通道方式下,所需的CPU干預大大減少。(2)在DMA方式下,每臺設備要有一個DMA控制器。

52、當設備增加時,多個DMA控制器的使用,顯然不很經濟;但在通道方式下,一個通道可以控制多臺設備,這不僅節(jié)省了費用,而且減輕了CPU在輸入/輸出中的負擔。(3)在DMA方式下傳輸數據時,是采用“竊取”總線控制權的辦法來工作的。因此,CPU與設備之間并沒有實現(xiàn)真正的并行工作;在通道方式下,CPU把I/O任務交給通道后,它就與通道就真正并行工作。9解釋記錄的成組與分解。為什么要這樣做?答:往磁帶、磁盤上存放信息時,經常是把若干個記錄先在內存緩沖區(qū)里拼裝成一塊,然后再寫到磁帶或磁盤上。存儲設備與內存儲器進行信息交換時,就以塊為單位。這個把記錄拼裝成塊的過程,被稱為是“記錄的成組”。從磁帶、磁盤上讀取記錄

53、時,先是把含有那個記錄的塊讀到內存的緩沖區(qū)中,在那里面挑選出所需要的記錄,然后把它送到內存存放的目的地。這個把記錄從緩沖區(qū)里挑選出來的過程,被稱為是“記錄的分解”。之所以這樣做,一是為了提高存儲設備的存儲利用率;二是減少內、外存之間信息交換次數,提高系統(tǒng)的效率。10試述SPOOL系統(tǒng)中的3個組成軟件模塊各自的作用。答:SPOOLING系統(tǒng)中的3個軟件模塊是預輸入程序、緩輸出程序和井管理程序。它們各自的作用如下。(1)預輸入程序預先把作業(yè)的全部信息輸入到磁盤的輸入井中存放,以便在需要作業(yè)信息以及作業(yè)運行過程中需要數據時,可以直接從輸入井里得到,而無需與輸入機交往,避免了等待使用輸入機的情況發(fā)生。(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論