操作系統(tǒng)課后答案(全)_第1頁
操作系統(tǒng)課后答案(全)_第2頁
操作系統(tǒng)課后答案(全)_第3頁
操作系統(tǒng)課后答案(全)_第4頁
操作系統(tǒng)課后答案(全)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)以什么方式組織用戶使用計算機?答:操作系統(tǒng)以進程的方式組織用戶使用計算機。用戶所需完成的各種任務必須由相應的程序來表達出來。為了實現(xiàn)用戶的任務,必須讓相應功能的程序執(zhí)行。而進程就是指程序的運行,操作系統(tǒng)的進程調(diào)度程序決定CPU 在各進程間的切換。操作系統(tǒng)為用戶提供進程創(chuàng)建和結束等的系統(tǒng)調(diào)用功能,使用戶能夠創(chuàng)建新進程。操作系統(tǒng)在初始化后,會為每個可能的系統(tǒng)用戶創(chuàng)建第一個用戶進程,用戶的其他進程則可以由母進程通過“進程創(chuàng)建 ”系統(tǒng)調(diào)用進行創(chuàng)建。早期監(jiān)督程序(Monitor )的功能是什么?答:早期監(jiān)督程序的功能是代替系統(tǒng)操作員的部分工作,自動控制作業(yè)的運行。監(jiān)督程序首先把第一道作業(yè)調(diào)入主存

2、,并啟動該作業(yè)。運行結束后,再把下一道作業(yè)調(diào)入主存啟動運行。它如同一個系統(tǒng)操作員,負責批作業(yè)的I/O,并自動根據(jù)作業(yè)控制說明書以單道串行的方式控制作業(yè)運行,同時在程序運行過程中通過提供各種系統(tǒng)調(diào)用,控制使用計算機資源。試述多道程序設計技術的基本思想。為什么采用多道程序設計技術可以提高資源利用率?答:多道程序設計技術的基本思想是,在主存同時保持多道程序,主機以交替的方式同時處理多道程序。從宏觀上看,主機內(nèi)同時保持和處理若干道已開始運行但尚未結束的程序。從微觀上看,某一時刻處理機只運行某道程序。可以提高資源利用率的原因:由于任何一道作業(yè)的運行總是交替地串行使用CPU、外設等資源,即使用一段時間的

3、CPU,然后使用一段時間的I/O設備,由于采用多道程序設計技術,加之對多道程序?qū)嵤┖侠淼倪\行調(diào)度,則可以實現(xiàn) CPU 和 I/O 設備的高度并行,可以大大提高CPU 與外設的利用率。什么是分時系統(tǒng)?其主要特征是什么?適用于哪些應用?答:分時系統(tǒng)是以多道程序設計技術為基礎的交互式系統(tǒng),在此系統(tǒng)中,一臺計算機與多臺終端相連接,用戶通過各自的終端和終端命令以交互的方式使用計算機系統(tǒng)。每個用戶都感覺到好像是自己在獨占計算機系統(tǒng),而在系統(tǒng)內(nèi)部則由操作系統(tǒng)以時間片輪轉的方式負責協(xié)調(diào)多個用戶分享CPU。主要特征是:并行性:系統(tǒng)能協(xié)調(diào)多個終端用戶同時使用計算機系統(tǒng),能控制多道程序同時運行。共享性:對資源而言,

4、系統(tǒng)在宏觀上使各終端用戶共享計算機系統(tǒng)中的各種資源,而在微觀上它們則分時使用這些資源。交互性:人與計算機以交互的方式進行工作。獨占性:使用戶感覺到他在獨占使用計算機?,F(xiàn)在的系統(tǒng)大部分都是分時系統(tǒng),主要應用于人機交互的方面。什么是中斷?什么是異常?它們有何區(qū)別?答:中斷是指來自CPU 執(zhí)行指令以外的事件發(fā)生后,處理機暫停正在運行的程序,轉去執(zhí)行處理該事件的程序的過程。異常是指源自CPU 執(zhí)行指令內(nèi)部的事件發(fā)生后,處理機暫停正在執(zhí)行的程序,轉去處理該事件的過程。區(qū)別:廣義的中斷包括中斷和異常,統(tǒng)一稱為中斷。狹義的中斷和異常的區(qū)別在于是否與正在執(zhí)行的指令有關,中斷可以屏蔽,而異常不可屏蔽。什么是多級

5、中斷?為什么要把中斷分級?試述多級中斷的處理原則。中斷分級是根據(jù)中斷的輕重緩急來排序,把緊迫程度大致相當?shù)闹袛嘣礆w并在同一級,而把緊迫程度差別較大的中斷源放在不同的級別。一般來說,高速設備的中斷優(yōu)先級高,慢速設備的中斷優(yōu)先級低。這就是多級中斷。這所以引入多級中斷是因為:為使系統(tǒng)能及時的響應和處理所發(fā)生的緊迫中斷,同時又不至于發(fā)生中斷信號丟失,計算機發(fā)展早起在設計中斷系統(tǒng)硬件時根據(jù)各種中斷的輕重在線路上作出安排,從而使中斷響應能有一個優(yōu)先次序。多級中斷的處理原則:當多級中斷同時發(fā)生時,CPU 按照由高到低的順序響應。高級中斷可以打斷低級中斷處理程序的運行,轉而執(zhí)行高級中斷處理程序。當同級中斷同時

6、到時,則按位響應。什么是中斷向量?其內(nèi)容是什么?試述中斷的處理過程。答:中斷向量:為處理方便,一般為系統(tǒng)中每個中斷信號編制一個相應的中斷處理程序,并把這些程序的入口地址放在特定的主存單元中。通常將這一片存放中斷處理程序入口地址的主存單元稱為中斷向量。中斷向量的內(nèi)容:對不同的系統(tǒng),中斷向量中的內(nèi)容也不盡相同。一般每一個中斷信號占用連續(xù)的兩個單元:一個用來存放中斷處理程序的入口地址,另一個用來保存在處理中斷時CPU 應具有的狀態(tài)。中斷的處理過程:一般包括保存現(xiàn)場,分析中斷原因,進入相應的中斷處理程序,最后重新選擇程序運行,恢復現(xiàn)場等過程。中斷/異常處理為什么要保存現(xiàn)場和恢復現(xiàn)場?現(xiàn)場應包括哪幾方面

7、的內(nèi)容?答:因為中斷處理是一項短暫性的工作,邏輯上處理完后還要回到被中斷的程序,從其恢復點繼續(xù)運行。為了能實現(xiàn)正確的返回,并繼續(xù)運行下去,在中斷處理前后必須保存和恢復被中斷的程序現(xiàn)場?,F(xiàn)場應包括:PC寄存器的內(nèi)容,通用寄存器以及一些與程序運行相關的特 殊寄存器中的內(nèi)容。操作系統(tǒng)內(nèi)核的主要功能模塊有哪些?如果采用微內(nèi)核模型,原來在內(nèi)核的功能中,哪些功能在微內(nèi)核中實現(xiàn)?哪些由用戶態(tài)運行的進程實現(xiàn)?答:操作系統(tǒng)內(nèi)核的主要功能模塊有:1、系統(tǒng)初始化模塊2、進程管理模塊 3、存儲管理模塊4、 I/O 設備管理模塊5、文件管理模塊采用微內(nèi)核模型,原來在內(nèi)核的功能中,少量的進程調(diào)度切換代碼和中斷處理程序在微

8、內(nèi)核中實現(xiàn),原來由內(nèi)核態(tài)實現(xiàn)的大部分操作系統(tǒng)系統(tǒng)調(diào)用處理等功能轉由用戶態(tài)運行的進程實現(xiàn)。從控制軌跡上看,系統(tǒng)調(diào)用和程序級的過程調(diào)用都相當于在斷點處插入一段程序執(zhí)行,但它們卻有質(zhì)的區(qū)別,試述這種差別。答:這種差別主要在于處理機運行狀態(tài)的變化。發(fā)生系統(tǒng)調(diào)用時,處理機由用戶態(tài)進入核心態(tài);而程序調(diào)用時,運行狀態(tài)不發(fā)生變化,其狀態(tài)仍然保持在用戶態(tài)。試述終端命令解釋程序的處理過程。答:終端命令解釋程序的處理過程如下:判斷命令的合法性識別命令,如果是簡單命令則處理命令,然后繼續(xù)讀取下一條命令如果是不認識的命令關鍵字,則在約定目錄下查找與命令關鍵字同名的執(zhí)行文件,創(chuàng)建子進程去執(zhí)行“執(zhí)行文件 ”程序,等待子進程

9、結束后轉繼續(xù)讀取下一條命令。什么是進程?為什么要引入此概念?試述進程的特點及它與程序的區(qū)別。答:進程是支持程序執(zhí)行的機制,是程序針對某一數(shù)據(jù)集合的執(zhí)行過程。引入此概念的原因:隨著操作系統(tǒng)的發(fā)展而產(chǎn)生。在監(jiān)督程序時代以作業(yè)形式表示程序運行,那時,作業(yè)以同步方式串行地運行每個作業(yè)步,當操作系統(tǒng)發(fā)展到分時系統(tǒng)時,為了開發(fā)同一作業(yè)中不同作業(yè)步之間的并發(fā),作業(yè)機制已經(jīng)不能滿足需要,因而引入了進程機制。進程的特點:動態(tài)性:可動態(tài)創(chuàng)建,結束,也可是被調(diào)度進程并發(fā)性:可以被獨立調(diào)度,占用處理機運行獨立性:盡量把并發(fā)事務安排到不同的進程制約性:因訪問共享數(shù)據(jù)或進程間同步而產(chǎn)生制約.與程序的區(qū)別:進程是程序的執(zhí)行

10、過程,程序是靜態(tài)的,進程是動態(tài)的。一個進程至少是一個可執(zhí)行程序,同一個程序可以由多個進程分別執(zhí)行。進程控制塊的作用是什么?PCB 中應包括哪些信息?答:進程控制塊的作用是:進程控制塊用于保存每個進程和資源的相關信息,包括進程標識、空間、運行狀態(tài)、資源等信息。以便于操作系統(tǒng)管理和控制進程和資源。PCB 中應包括:1、進程標識信息:本進程的標識、父進程的標識、進程所屬用戶的標識。2、處理機狀態(tài)信息。保存進程的運行現(xiàn)場信息,包括用戶可用寄存器的信息;控制和狀態(tài)寄存器的信息;棧指針。為什么進程狀態(tài)會發(fā)生變化?何時變化?(P54)答:進程在它的生存周期中,由于系統(tǒng)中各進程并發(fā)運行及相互制約的結果,使得它

11、的狀態(tài)不斷發(fā)生變化。狀態(tài)變化的時機:空創(chuàng)建:當一個新進程被產(chǎn)生來執(zhí)行一個程序時。創(chuàng)建-就緒:當進程被創(chuàng)建完成,初始化后,一切就緒準備運行時。就緒-運行:當處于就緒狀態(tài)的進程被進程調(diào)度程序選中后。運行-結束:當進程指示它已經(jīng)完成或者因錯流產(chǎn)時。運行-就緒:處于運行狀態(tài)的進程在其運行過程中,分給它的處理機時間 片用完而讓出處理機;或者在可剝奪的操作系統(tǒng)中,當有更高優(yōu)先級的進程就 緒時。運行-阻塞:當進程請求某樣東西且必須等待時。阻塞-就緒:當進程要等待事件到來時。進程創(chuàng)建的主要工作是什么?(P54)答:進程創(chuàng)建時的主要工作如下:1、接收進程運行現(xiàn)場初始值,初始優(yōu)先級,初始執(zhí)行程序描述,其它資源等參

12、數(shù)。2、請求分配進程描述塊PCB 空間,得到一個內(nèi)部數(shù)字進程標識。3、用從父進程傳來的參數(shù)初始化PCB 表。4、產(chǎn)生描述進程空間的數(shù)據(jù)結構,用初始執(zhí)行文件初始化進程空間,建立程序段,數(shù)據(jù)段、棧段等。5、用進程運行現(xiàn)場初始值設置處理機現(xiàn)場保護區(qū)。造一個進程運行棧幀。6、置好父進程等關系域。7、將進程置成就緒狀態(tài)。8、將PCB 表掛入就緒隊列,等待時機被調(diào)度運行。詳細說明幾個引起進程調(diào)度的原因。(P62)答: 1、進程主動放棄處理機時:正在執(zhí)行的進程執(zhí)行完畢。操作系統(tǒng)在處理進程結束系統(tǒng)調(diào)用后應請求重新調(diào)度。正在執(zhí)行的進程發(fā)出I/O 請求,當操作系統(tǒng)代其啟動外設I/O 后,在I/O 請求沒有完成前要

13、將進程變成阻塞狀態(tài),應該請求重新調(diào)度。正在執(zhí)行的進程要等待其它進程或系統(tǒng)發(fā)出的事件時。如等待另一個進程通訊數(shù)據(jù),這時操作系統(tǒng)應將現(xiàn)運行進程掛到等待隊列,并且請求重新調(diào)度。正在執(zhí)行的進程得不到所要的系統(tǒng)資源,如要求進入臨界區(qū),但沒有得到鎖時,這時等鎖的進程應自動放棄處理機或者阻塞到等鎖隊列上,并且請求重新調(diào)度。2、為了支持可剝奪的進程調(diào)度方式,在以下情況發(fā)生時,因為新就緒的進程可能會按某種調(diào)度原則剝奪正運行的進程,因此也應該申請進行進程調(diào)度:當中斷處理程序處理完中斷,如I/O中斷、通訊中斷,引起某個阻塞進 程變成就緒狀態(tài)時,應該請求重新調(diào)度。當進程釋放資源,走出臨界區(qū),引起其他等待該資源進程從阻

14、塞狀態(tài)進入就緒狀態(tài)時,應該請求重新調(diào)度。當進程發(fā)系統(tǒng)調(diào)用,引起某個事件發(fā)生,導致等待事件的進程就緒時。其它任何原因引起有進程從其它狀態(tài)變成就緒狀態(tài),如進程被中調(diào)選中時。3、為了支持可剝奪調(diào)度,即使沒有新就緒進程,為了讓所有就緒進程輪流占用處理機,可在下述情況下申請進行進程調(diào)度:當時鐘中斷發(fā)生,時鐘中斷處理程序調(diào)用有關時間片的處理程序,發(fā)現(xiàn)正運行進程時間片到,應請求重新調(diào)度。以便讓其他進程占用處理機。在按進程優(yōu)先級進行進程調(diào)度的操作系統(tǒng)中,任何原因引起進程的優(yōu)先級發(fā)生變化時,應請求重新調(diào)度。如進程通過系統(tǒng)調(diào)用自愿改變優(yōu)先級時或者系統(tǒng)處理時鐘中斷時,根據(jù)各進程等待處理機的時間長短而調(diào)整進程的優(yōu)先級

15、。什么時候進行進程調(diào)度最為合適?請說明理由。(P63)答:進程調(diào)度的時機:當發(fā)生引起調(diào)度條件,且當前進程無法繼續(xù)運行下去時(如發(fā)生各種進程放棄處理機的條件)可以馬上進行調(diào)度與切換。當中斷處理結束或自陷處理結束返回被中斷進程的用戶態(tài)程序執(zhí)行前,若請求調(diào)度標志置上,即可馬上進行進程調(diào)度與切換。如果操作系統(tǒng)支持這種情況下運行調(diào)度程序,即實現(xiàn)了剝奪方式的調(diào)度。對于三類進程( I/O 為主、 CPU 為主和 I/O 與 CPU 均衡) ,應如何賦予它們的運行優(yōu)先級并說明理由。( P67)答:對于這三類進程,賦予的優(yōu)先級由高到低分別為:I/O 為主、 I/O 與CPU 均衡、 CPU 為主。理由:為了充分

16、利用外部設備,以及對終端交互用戶及時地予以響應,通 常將I/O型進程列為最高優(yōu)先級隊列。假設在單處理機上有五個進程(1、2、3、4、5)爭奪運行,其運行時間分別 為10, 1, 2, 1, 5秒,其優(yōu)先級分別為3, 1, 3, 4, 2,這些進程幾乎同時到 達,但在就緒隊列中的次序依次為 1, 2, 3, 4, 5,試回答:給出這些進程分別適用輪轉法、SPF和非剝奪優(yōu)先級調(diào)度法調(diào)度時的運行進度表,其中,輪轉法中的時間片取值為 2。在上述各算法的調(diào)度下每個進程的周轉時間和等待時間為多少?具有最短平均等待時間的算法是哪個?答:輪轉法:時間 2 12 125:進程進程的周轉時間:15進程的等待時間:

17、片進程1: 19,進程2: 3,進程3: 5,進程4: 6,進程進程1: 9,進程2: 2,進程3: 3,進程4: 5,進程5:10平均等待時間(9+2+3+5+10) /5=SPF算法:進程提交時間結束時間等待時間周轉時 問10101219199193242441211254949平均等待時間:16/5=非剝奪優(yōu)先級算法進程提交時間結束時間等待時間周轉時 問1111111211819183111311134 10110513181318平均等待時間:43/5=SPF算法具有最短平均等待時間。什么是批處理作業(yè)和交互式作業(yè)?它們的特點是什么?系統(tǒng)如何管理?答:批處理作業(yè)是指用戶將若干用戶任務合成

18、一批,一起提交給系統(tǒng)進行 處理的任務集合。交互式作業(yè)是指用戶的一次上機交互過程,用戶通過命令語 言逐條地與系統(tǒng)進行應答式的交互,提交作業(yè)步。特點:批處理作業(yè)的處理過程由計算機自動運行,不需人為干預,用戶也 看不到中間結果。交互式作業(yè)需要系統(tǒng)提供終端供用戶與系統(tǒng)交互,作業(yè)的運 行由人控制,便于作業(yè)的調(diào)試以及將作業(yè)按人預想的方向進行。并行任務如何在程序中表示?(P74)答:并行任務在程序中主要通過并發(fā)語句來表示。如Parbegin/Parend句并行任務并行(并發(fā))運行的操作系統(tǒng)支持基礎是什么?答:支持基礎是進程和線程的引入。在多道程序設計系統(tǒng)中,進程之間可以并發(fā)執(zhí)行,這就使多任務并行執(zhí)行成為可能

19、。同時,線程的引入,同一進程內(nèi)的多個線程也可以并行運行,這也提供了任務內(nèi)部的并行。提高了效率。題略答:答:進程P0 在 flag0=false 后,進程P1 跳出循環(huán),此時剛好來了一個中斷。中斷使得進程P0 又再次執(zhí)行,此時由于P1 并沒有給turn 賦值,從而P0可以順利進入臨界段,在P0進入臨界段時產(chǎn)生中斷,P1恢復執(zhí)行,將turn賦值 為 1,從而 P1 也可以進入臨界段。從而產(chǎn)生錯誤。何謂原語?它與系統(tǒng)調(diào)用有何區(qū)別?如何實現(xiàn)原語執(zhí)行的不可分割性?答:原語是指完成某種功能且不被分割、不被中斷執(zhí)行的操作序列。有時也稱為原子操作。它與系統(tǒng)調(diào)用的區(qū)別:原語和系統(tǒng)調(diào)用是兩個不同的概念,原語主要強

20、調(diào)操作的不可分割性,可以認為是一個不可中斷的子程序調(diào)用,但是系統(tǒng)調(diào)用是由用戶態(tài)進入核心態(tài),雖然系統(tǒng)調(diào)用一般也不被中斷,但是如果有更高更緊迫的系統(tǒng)調(diào)用的話,還是能夠打斷原來的系統(tǒng)調(diào)用的。實現(xiàn)原語執(zhí)行的不可分割性:通常由硬件來實現(xiàn),也可以由軟件通過中斷屏蔽的方法來實現(xiàn)。如果 P, V 操作不作為原語(可分割執(zhí)行),那么是否還可用于解決互斥問題?如果不能,則舉例說明。答:如果P, V 操作不作為原語,那么不可用于解決互斥問題。因為如果那樣的話,則:程序語言s = s-1翻譯成機器語言為:load R1, s; load R2, 1; sub R1, R2;此時,他們之間的操作可以分割執(zhí)行,假設有兩個

21、進程P1、P2, s初值為1,當P1進入P操作時,s大于0,可以進入,因此會執(zhí)行上面的機器語言,將 s的值取出來,放入R1寄存器中,而此時,有可能 P2進程要進入臨界段,因 此,它也比較s的值是否小于0,因為此時s的值仍為1,所以P2也進入臨界 段,出現(xiàn)錯誤。題略答:empty1=1; empty2=1; full1=0; full2=0;parbeginP: While(1)P(empty1);put to buffer1;V(full1);Q: While(1)P(full1);get from buffer1;V(empty1);P(empty2);put to buffer2;V(fu

22、ll2);R: While(1) P(full2);get from buffer2;V(empty2);parend;empty1=m; empty2=n; full1=0; full2=0;mutex1=1;mutex2=1; parbeginP: While(1) P(empty1);P(mutex1);put to buffer1;V(full1); V(mutex1); Q: While(1) P(full1);P(mutex1);get from buffer1;V(empty1);V(mutex1);P(empty2);P(mutex2);put to buffer2;V(ful

23、l2);V(mutex2);R: While(1) P(full2);P(mutex2);get from buffer2;V(empty2);V(mutex2);parend;題略答: P1: Sa;V(ac);V(ae);Sb;P(cd);Sd;P(fe);Sf;V(fh);Sg;P2: P(ac);Sc;V(cd);P3: P(ae);Se;V(fe);P(fh);Sh;題略答:解題方法,找出可能死鎖的資源最多的情況。假設n 個進程需要的資源數(shù)分別為:a1,a2; an,則占有資源數(shù)最多卻剛好形成死鎖的情況是:每個進程都占有比所需資源數(shù)少一個的資源數(shù)量,而此時剛好資源用光。所以是:(a1

24、-1)+(a2-1)+(an-1)=m,整理得 a1+a2+an=m+n,而要想使得系統(tǒng)無死鎖,則必須有a1+a2+anm+n。命題得證。題略答:1、Need 的內(nèi)容為:0000, 0750, 1002, 0020, 06422、系統(tǒng)是處于安全狀態(tài)。3、進程2 請求0420,不能立即得到滿足,因為如果給進程2 分配了0420的話,系統(tǒng)將處于不安全狀態(tài)。所以不能立即得到滿足。多元信號量機構允許P, V 操作同時對多個信號量進行操作。這種機構對同時申請或釋放若干個資源是非常有用的。假設二元信號量機構中的P 原語定義為:P(S,R) : While(S0 or R 0);S=S-1;R=R-1;試用

25、一元信號量機構加以實現(xiàn)。答: mutex: semaphoreP(mutex);P(S);P(R);V(mutex);“理發(fā)師睡覺”問題答:可以將此題看作N 個生產(chǎn)者和一個消費者問題。顧客作為生產(chǎn)者,每到來一個,就將自己放入計數(shù)器 RC,以便讓理發(fā)師消費至最后一個產(chǎn)品(顧客),因此顧客進程執(zhí)行的第一個語句便是 RC=RC+1。而第一個到來的顧客應該負責喚醒理發(fā)師,理發(fā)師此時正在信號量WAKEUP 上等待(P(WAKEUP); 該信號量的初值為0),由第一個顧客執(zhí)行V(WAKEUP) 。若顧客不是第一個到達,則在信號量WAIT 上等待( P(WAIT) 該信號量的初值為0),等理發(fā)師理完一個顧客

26、后,執(zhí)行V(WAIT) 操作便可叫出該顧客理發(fā)。以上過程循環(huán)反復,理發(fā)師沒每理完一個顧客,就令計數(shù)器減1, RC=0 時便知此時無顧客,理發(fā)師可以繼續(xù)睡覺,等待下一批顧客到達。在設信號量MUTEX(初值為1),保證對計數(shù)器RC的互斥作用。parbegin顧客進程:beginP(mutex);rc=rc+1;if rc=1 then V(wakeup);elseP(wait);V(mutex);理發(fā);end;理發(fā)師進程:beginP(wakeup);repeat理發(fā);P(mutex);rc=rc-1;if(rc!=0) then V(wait);V(mutex);until rc=0;end;

27、parend;題略進程數(shù)資源總數(shù)是否可能死鎖11不會12不會21不會22可能會23可能會進程數(shù)資源總數(shù)是否可能死鎖12不會22可能會23不會33可能會34不會答:需要的硬件支持可以選擇兩種:1、上、下界寄存器和地址檢查機制;2、 基地址寄存器、長度寄存器和動態(tài)地址轉換機制。地址轉換的過程也即是地址重定位的過程,也有兩種方法實現(xiàn)地址重定位:1、靜態(tài)重定位,用戶代碼中使用相對地址,在將目標代碼加載到主存時,裝配鏈接程序通過如下的方法將其裝配成絕對地址:原地址+目標代碼所在主存起始地址;2、動態(tài)重定位,它首先將程序在主存的起始地址及其總長度存放于基地 址寄存器和長度寄存器,當在執(zhí)行訪存指令時,首先進

28、行越界檢查,若不越 界,則將地址改成 原地址+目標代碼所在主存起始地址”,然后進行訪問。實現(xiàn)存儲保護:當使用第一種硬件機制時,每訪問一次主存,地址檢查機制將CPU提供的訪存地址與上、下界寄存器的值進行比較。若介乎上下界之間,則可用該地 址訪問存儲器,否則終止程序的運行。當使用第二種硬件機制時,每訪問一次主存,它將 CPU提供的訪存地 址與長度寄存器的值進行比較。若越界,則終止程序,否則與基地址寄存器中 的值相加成為訪問貯存的絕對物理地址。為什么要引進頁式存儲管理方法?在這種管理方法中硬件應提供哪些支持?答:原因在于連續(xù)分配存儲空間存在許多存儲碎片和空間管理復雜的問題,而連續(xù)分配要求把作業(yè)放在主

29、存的一片連續(xù)區(qū)域中,這往往容易出現(xiàn)連續(xù) 空間因不能容納作業(yè)或進程而不可用。而頁式存儲管理方法可以避免這種情況 的發(fā)生。硬件應提供的支持:動態(tài)地址轉換機構,頁表長度寄存器,聯(lián)想存儲器(頁表以及訪問權限域均在主存中)。題略答:(1)訪問一次頁面單元需要訪問兩次主存,因此訪問時間為:*2=;(2)等效存儲訪問時間為:*75%+*25%=;在頁式存儲管理系統(tǒng)中怎樣使多個作業(yè)共享一個程序或數(shù)據(jù)?答:在每個作業(yè)的頁表中,將需要共享的程序映射到存放該共享程序或數(shù)據(jù) 的相同的物理頁幀上。題略答:系統(tǒng)得到物理地址的過程:由題設可得,虛存地址的邏輯頁號為:11123,頁內(nèi)偏移為456;從聯(lián)想存儲器中查找邏輯頁號為

30、11123對應的物理頁幀號,如果有,則 將物理頁幀號和頁內(nèi)偏移合成成物理地址進行訪問,否則從頁表中查找。在頁表中找到相應項,查看該頁的合法位是否置上,若為 1,則將該項指出的頁幀號和頁內(nèi)偏移合成成物理地址進行訪問,若合法位為0,則產(chǎn)生頁故障,系統(tǒng)將頁表項所指的輔存塊號調(diào)入主存,然后合成物理地址進行訪問。硬件完成的工作:獲得貢幀號,合成物理地址,以及合法位是否置上 等。軟件完成的工作:接收缺頁異常,對缺頁故障進行處理,返回現(xiàn)場。題略答:訪問的相應邏輯頁號為:0,0,1, 1, 0,3,1,2,2,4,4,3。采用FIFO:故障數(shù):6;頁故障率:6/12=50%采用 LRU ,淘汰上次使用距當前最

31、遠的頁:故障數(shù):7;頁故障率為:7/12=%采用OPT,淘汰下次訪問距當前最遠的那些頁中序號最小的一頁:故障數(shù):5;頁故障率:5/12=%題略答:棧結構對數(shù)據(jù)的訪問一般在棧頂附近,或者離棧頂不遠,符合程序的局部性行態(tài);雜湊技術取決于Hash值的大小,如果太大,則會頻繁出現(xiàn)缺頁,不利于程序的局部性行態(tài);順序搜索是根據(jù)當前項向前或向后逐個搜索,符合程序的局部性行態(tài);goto語句往往使程序從一個地方跳到另一個地方,空間跨度往往比較大,少用或不用goto 語句使程序能夠在局部范圍內(nèi)執(zhí)行,符合程序的局部性行態(tài)。題略答:駐留集大小為2 個頁幀,但是程序要長期駐留在主存中,必須占用一頁,所以駐留集中只有一頁

32、留給數(shù)據(jù)使用。假設數(shù)組中每一個元素占一個字的空間,因為每一頁有100個字,而且數(shù)組是按行主順序存放,當采用1策略時,賦值順序為:A(1,1),A(2,1)A(100,1),每一次賦值都產(chǎn)生缺頁異常,因此貢故障數(shù)為100*100=10000,而采用2 策略時,只在第一維產(chǎn)生變化時才產(chǎn)生缺頁故障,因此頁故障數(shù)為100。設有如下訪問審:6, 9, 2, 1, 0, 3, 5, 4, 3, 2, 1, 0, 2, 1。取=4,給出用 WS 與 VMIN 兩種算法控制該訪問串駐留集的變化情況。答:用WS方法,有個時間未被引用則將其淘汰;用VMIN方法,若某頁下次訪問的距離大于,則將其淘汰。如果主存中的某

33、頁正在與外部設備交換信息,那么在頁故障中斷時可以將這一頁淘汰嗎?對于這種情況應如何解決?(P110-111)答:不能將這一頁淘汰,因為如果淘汰出去的話,則新進入的頁將代替正在交換信息的頁,而I/O 數(shù)據(jù)區(qū)將被新?lián)Q入的頁所代替,從而導致錯誤。因此,應該等該頁與外部設備交換信息結束之后,才能將該頁淘汰。題略答:訪問虛地址(233)8 時不會發(fā)生缺頁故障,因為根據(jù)虛地址可得,它的頁號為2,頁內(nèi)偏移為(33)8,而在頁表中頁號為2 的頁有效位為1,說明在主存中,相應的頁幀號為20,所以物理地址為(20)8*82+(33)8=(2033)8,而訪問(345)8時會發(fā)生缺頁中斷,根據(jù)虛地址可得它的頁號為3

34、,頁內(nèi)偏移為(45)8,查頁表可得,該頁的有效位為0,因此不在主存中,產(chǎn)生缺頁中斷,它首先向主存申請一個可用的頁幀,然后檢查該故障頁的頁類型,為零頁,因此將剛申請到的頁幀清零,將頁幀號填入頁表項中,將合法位置為1,然后返回。設備控制器與處理機如何通信?答:CPU 通過向控制器寄存器寫命令字來發(fā)出I/O 命令,控制器接到命令后,完成具體的I/O 操作,CPU 則反復讀取控制器的狀態(tài),測試控制器是否完成操作?;蛘咿D向其他工作,當控制器完成相應操作后向CPU 發(fā)出中斷信號。簡述各種不同的I/O 控制方式?答:主要有三種不同的I/O 控制方式:1、程序直接控制方式。當遇到一條與I/O 相關的指令時,C

35、PU 向相應的設備控制器發(fā)命令,設備控制器執(zhí)行相應的操作,將I/O 狀態(tài)寄存器的相應位置上,然后CPU 周期性地檢查設備控制器的狀態(tài)寄存器,直到發(fā)現(xiàn)I/O 操作完成為止。 CPU 直接控制I/O 操作過程,包括測試設備狀態(tài),發(fā)送讀/寫命令與數(shù)據(jù)。2、中斷驅(qū)動方式。CPU 向設備控制器發(fā)出命令后,繼續(xù)做其他工作。當設備控制器準備好CPU交換數(shù)據(jù)時,設備控制器中斷 CPU,要求服務。CPU被中斷后,執(zhí)行CPU 寄存器和設備控制器之間的數(shù)據(jù)傳輸,然后恢復被中斷的工作。3、 DMA 方式:當CPU 需要讀/寫數(shù)據(jù)塊時,它給DMA 部件發(fā)命令,然后繼續(xù)執(zhí)行其他的工作。DMA 負責此次I/O 的完成, D

36、MA 部件每次一個字地將整個數(shù)據(jù)塊直接讀取或?qū)懭胫鞔?,而不需?jīng)過CPU 寄存器。當傳送過程完成后,DMA 部件向 CPU 發(fā)中斷信號。什么是獨占型設備和分時共享型設備?如何保證獨占型設備的獨占使用?( P147)答:獨占型設備是指在申請設備時,如果設備空閑,就將其獨占,不再允許其他進程申請使用,一直等到該設備被釋放,才允許被其他進程申請使用。分時共享型設備:設備接受多個I/O 請求,并將其放在請求隊列中,不同進程的 I/O 操作請求以排隊的方式分時地占用設備進行I/O。如何保證獨占使用:對獨占型設備進行獨占申請,即在申請時,如果申請成功,就對該設備進行加鎖操作,直到該I/O 完成后,才釋放鎖,

37、從而釋放該設備。以 SPOOLing 方式使用設備是如何實現(xiàn)的?答: SPOOLing 技術是在批處理操作系統(tǒng)時代引入的,即假脫機I/O 技術,它主要針對獨占型設備的使用。以打印機為例,首先為每個打印機建立一個打印服務進程,和一個打印隊列。打印服務進程循環(huán)地獲取打印隊列中的表項,對每一個要輸出的文件副本,服務進程從文件副本中讀取數(shù)據(jù),再成批地調(diào)用寫打印機的系統(tǒng)調(diào)用將該文件的數(shù)據(jù)打印在紙上。以下的工作各在3 個 I/O 軟件層的哪一層完成?答:涉及到具體的磁道、扇區(qū)、磁頭的計算,這屬于設備驅(qū)動與中斷處理層。屬于緩沖I/O 的功能,因此屬于與設備無關的I/O 層。中涉及到設備寄存器的操作,而能操作

38、設備寄存器的只有設備驅(qū)動與中斷處理層。是對設備使用權限的內(nèi)容,因此屬于與設備無關的I/O層。用戶請求,他請求系統(tǒng)將二進制整數(shù)轉換成ASCII碼再輸出,屬于用戶層 I/O 。如何使用緩沖區(qū)實現(xiàn)“預先讀 ”和 “延遲寫 ”?這兩種讀/寫方式的優(yōu)缺點是什么?答:預先讀就是:將從設備控制器來的數(shù)據(jù)先送入系統(tǒng)緩沖區(qū),該數(shù)據(jù)塊送完后,用戶進程將此數(shù)據(jù)塊移到用戶進程空間。并且立即請求下一個數(shù)據(jù)塊。延遲寫就是:當需要將數(shù)據(jù)寫出時,首先將數(shù)據(jù)塊從用戶進程空間拷貝到系統(tǒng)緩沖區(qū),這時可繼續(xù)執(zhí)行用戶進程,并可在需要時換出主存。操作系統(tǒng)會安排最終將系統(tǒng)緩沖區(qū)的內(nèi)容輸出到設備上。優(yōu)點是:減少CPU 訪問目標存儲部件的次數(shù)

39、。提高了慢速I/O 設備和快速CPU 交互的速度,提高輸入輸出速度。缺點:預先讀是基于“下一數(shù)據(jù)塊最終將被使用”這一猜測。因此,當這一猜測失敗時,系統(tǒng)將耗費更多的時間來處理,猜測失敗的代價是很大的。同時,增加了操作系統(tǒng)的復雜度。延遲寫也增加了操作系統(tǒng)的復雜度,同時延遲寫還可能出現(xiàn)數(shù)據(jù)丟失的情況。假設對磁盤的請求串為95, 180, 35, 120, 10, 122, 64, 68,磁頭初始位置為 30,試分別畫出FCFS, SSTF, SCAN, C-SCAN 調(diào)度算法的磁頭移動軌跡及磁頭移動的磁道數(shù)(磁道號:0199)。答:FCFS: First Come First Served,SSTF

40、: Shortest Seek Time Firs,tSCAN:掃描C-SCAN:單向掃描在磁盤管理程序中何時進行磁盤調(diào)度?答:當有多個進程請求讀取磁盤中的數(shù)據(jù),而這些數(shù)據(jù)散布在磁盤的不同位置的時候,應該進行磁盤調(diào)度。此時磁盤驅(qū)動程序應維持一個磁盤I/O請求隊列,對已有請求和新到來請求進行排隊優(yōu)化,確保相鄰請求其磁道相距最近。RAID 級別 0+1 有何特點?可用于什么應用環(huán)境?答: RAID 級別0 1 是指 RAID 級別0和 1 的結合。 RAID 級別 0提供性能,RAID 級別 1 提供可靠性。特點是性能高、可靠性好、價格高(需要2倍磁盤數(shù)目)應用環(huán)境:通常用于性能和可靠性都很重要的

41、環(huán)境中。一個可以支持隨機訪問的文件應該用什么方式放在輔存中?答:一個可以支持隨機訪問的文件應該用索引結構的方式將其放在輔存中。試述文件控制塊的作用,請設計在樹形文件目錄中快速查找文件控制塊的方法。答:文件控制塊是一張用于存放文件的標識、定位、說明和控制等信息的表格,用于管理和控制文件系統(tǒng)中的全部文件??焖俨檎椅募刂茐K的方法:引入“當前目錄 ”,用戶可指定某級目錄作為用戶 “當前目錄”,當前目錄的文件控制塊事先已讀入并保存在主存。當用戶注冊時,操作系統(tǒng)在記賬文件中查找與該用戶所對應的信息項。記賬文件中保存了一個指向用戶初始“當前目錄”的路徑名。“當前目錄 ”最初在用戶登錄時自動置為該用戶的初始

42、“當前目錄”。操作系統(tǒng)提供專門的系統(tǒng)調(diào)用供用戶隨時改變 “當前目錄 ”。在查找時,操作系統(tǒng)從根目錄或“當前目錄 ”進行查找,因為當前目錄的FCB 通常是放在主存中的,所以查找速度會比較快。無環(huán)圖目錄結構與樹形目錄結構相比,優(yōu)勢在哪里?如何刪除一個節(jié)點?答:無環(huán)圖目錄結構的優(yōu)勢是利于文件的共享,因為當樹形目錄結構想共享某個文件時,需要在不同的路徑保存多個副本,這樣浪費了存儲空間。而無環(huán)圖目錄結構只需增加一個稱為鏈的新目錄項,讓其指向需要共享的文件即可。節(jié)省了空間,管理更靈活。如何刪除節(jié)點:為每個節(jié)點設置一個共享計數(shù)器,每當增加了一條共享鏈時,就將其共享計數(shù)器加1,每當要刪除某個節(jié)點時,其共享計數(shù)

43、器減1,當計數(shù)器為 0 時,就真正刪除該節(jié)點。請比較輔存空間分配和主存空間分配的特點。答:輔存空間的特點是容量大,如何在大量的文件中快速查找和定位你所需的文件是輔存空間分配需要考慮的主要問題。在邏輯空間,通常將文件組織成目錄結構,在物理存儲時,將其組織成鏈表結構或索引結構存放在輔存中,文件系統(tǒng)對未分配空間保持一個“自由空間表”的數(shù)據(jù)結構,通常組織成位向量的形式,每一個柱面對應一個位向量,所有位向量組成一個位圖數(shù)組,它記錄了整個磁盤空間的使用情況。而主存空間容量小,訪問速度快,因此主存空間分配主要考慮的是如何提高主存空間的訪問速度、利用率和命中率。因此,在主存空間分配之前,將所有的主存空間分頁,并將每一頁登記在頁表中,將用戶的邏輯頁對應著主存的物理頁幀,分配主存空間時在頁表中登記,當需替換頁時,采用好的替換策略提高主存的命中率。試述 “打開文件 ”所做的工作。答:根據(jù)參數(shù)所指出的文件名和卷名找到相應文件。將該文件的文件控制塊存入主存的活躍文件目錄表。建立該文件的讀/寫狀態(tài)信息表。將該文件的信息存入用戶的“打開文

溫馨提示

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

評論

0/150

提交評論