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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、處理機上有五個進程(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)先級調度法調度時的運行進度表,其中,輪轉法中的時間片取值為2。在上述各算法的調度下每個進程的周轉時間和等待時間為多少具有最短平均等待時間的算法是哪個答:輪轉法:時間片21212222122進程12345151511 進程的周轉時間:進程1:19,進程2:3,進程3:5,進程4:6,進程5:15 進程的等待時間:進程1:9,進程2:2,進程3:3,進程4:

17、5,進程5:10 平均等待時間(9+2+3+5+10)/5= SPF算法:進程提交時間結束時間等待時間周轉時間101012919919324244121254949平均等待時間:16/5=非剝奪優(yōu)先級算法進程提交時間結束時間等待時間周轉時間111111121819181931113111340101513181318平均等待時間:43/5=SPF算法具有最短平均等待時間。 什么是批處理作業(yè)和交互式作業(yè)它們的特點是什么系統(tǒng)如何管理 答:批處理作業(yè)是指用戶將若干用戶任務合成一批,一起提交給系統(tǒng)進行處理的任務集合。交互式作業(yè)是指用戶的一次上機交互過程,用戶通過命令語言逐條地與系統(tǒng)進行應答式的交互,提

18、交作業(yè)步。 特點:批處理作業(yè)的處理過程由計算機自動運行,不需人為干預,用戶也看不到中間結果。交互式作業(yè)需要系統(tǒng)提供終端供用戶與系統(tǒng)交互,作業(yè)的運行由人控制,便于作業(yè)的調試以及將作業(yè)按人預想的方向進行。 并行任務如何在程序中表示(P74)答:并行任務在程序中主要通過并發(fā)語句來表示。如Parbegin/Parend語句 并行任務并行(并發(fā))運行的操作系統(tǒng)支持基礎是什么 答:支持基礎是進程和線程的引入。在多道程序設計系統(tǒng)中,進程之間可以并發(fā)執(zhí)行,這就使多任務并行執(zhí)行成為可能。同時,線程的引入,同一進程內的多個線程也可以并行運行,這也提供了任務內部的并行。提高了效率。 題略 答:答:進程P0在flag

19、0=false后,進程P1跳出循環(huán),此時剛好來了一個中斷。中斷使得進程P0又再次執(zhí)行,此時由于P1并沒有給turn賦值,從而P0可以順利進入臨界段,在P0進入臨界段時產生中斷,P1恢復執(zhí)行,將turn賦值為1,從而P1也可以進入臨界段。從而產生錯誤。 何謂原語它與系統(tǒng)調用有何區(qū)別如何實現原語執(zhí)行的不可分割性 答:原語是指完成某種功能且不被分割、不被中斷執(zhí)行的操作序列。有時也稱為原子操作。 它與系統(tǒng)調用的區(qū)別:原語和系統(tǒng)調用是兩個不同的概念,原語主要強調操作的不可分割性,可以認為是一個不可中斷的子程序調用,但是系統(tǒng)調用是由用戶態(tài)進入核心態(tài),雖然系統(tǒng)調用一般也不被中斷,但是如果有更高更緊迫的系統(tǒng)調

20、用的話,還是能夠打斷原來的系統(tǒng)調用的。 實現原語執(zhí)行的不可分割性:通常由硬件來實現,也可以由軟件通過中斷屏蔽的方法來實現。 如果P,V操作不作為原語(可分割執(zhí)行),那么是否還可用于解決互斥問題如果不能,則舉例說明。 答:如果P,V操作不作為原語,那么不可用于解決互斥問題。因為如果那樣的話,則:程序語言s = s-1;翻譯成機器語言為:load R1, s; load R2, 1; sub R1, R2; 此時,他們之間的操作可以分割執(zhí)行,假設有兩個進程P1、P2,s初值為1,當P1進入P操作時,s大于0,可以進入,因此會執(zhí)行上面的機器語言,將s的值取出來,放入R1寄存器中,而此時,有可能P2進

21、程要進入臨界段,因此,它也比較s的值是否小于0,因為此時s的值仍為1,所以P2也進入臨界段,出現錯誤。 題略答: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(full2); R: While(1) P(full2); get from buffer2; V(empty2); parend;empt

22、y1=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(full2); V(mutex2); R: While(1) P(full2); P(mutex2); get f

23、rom 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個進程需要的資源數分別為:a1,a2,. an,則占有資源數最多卻剛好形成死鎖的情況是:每個進程都占有比所需資源數少一個的資源數量,而此時剛好資源用光。所以是:(a1-1)+(a2-1)+(an-1)=m,整理得a1+a2+

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

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

26、理完一個顧客,就令計數器減1,RC=0時便知此時無顧客,理發(fā)師可以繼續(xù)睡覺,等待下一批顧客到達。在設信號量MUTEX(初值為1),保證對計數器RC的互斥作用。parbegin 顧客進程: begin P(mutex); rc=rc+1; if rc=1 then V(wakeup); elseP(wait); V(mutex); 理發(fā); end;理發(fā)師進程:begin P(wakeup); repeat 理發(fā); P(mutex); rc=rc-1; if(rc!=0) then V(wait); V(mutex); until rc=0; end;parend; 題略進程數資源總數是否可能死鎖

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

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

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

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

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

32、0個字,而且數組是按行主順序存放,當采用1策略時,賦值順序為:A(1,1),A(2,1),A(100,1),每一次賦值都產生缺頁異常,因此頁故障數為100*100=10000,而采用2策略時,只在第一維產生變化時才產生缺頁故障,因此頁故障數為100。 設有如下訪問串:6,9,2,1,0,3,5,4,3,2,1,0,2,1。取=4,給出用WS與VMIN兩種算法控制該訪問串駐留集的變化情況。 答:用WS方法,有個時間未被引用則將其淘汰;用VMIN方法,若某頁下次訪問的距離大于,則將其淘汰。 如果主存中的某頁正在與外部設備交換信息,那么在頁故障中斷時可以將這一頁淘汰嗎對于這種情況應如何解決(P110

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

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

35、制器的狀態(tài)寄存器,直到發(fā)現I/O操作完成為止。CPU直接控制I/O操作過程,包括測試設備狀態(tài),發(fā)送讀/寫命令與數據。2、中斷驅動方式。CPU向設備控制器發(fā)出命令后,繼續(xù)做其他工作。當設備控制器準備好CPU交換數據時,設備控制器中斷CPU,要求服務。CPU被中斷后,執(zhí)行CPU寄存器和設備控制器之間的數據傳輸,然后恢復被中斷的工作。3、DMA方式:當CPU需要讀/寫數據塊時,它給DMA部件發(fā)命令,然后繼續(xù)執(zhí)行其他的工作。DMA負責此次I/O的完成,DMA部件每次一個字地將整個數據塊直接讀取或寫入主存,而不需經過CPU寄存器。當傳送過程完成后,DMA部件向CPU發(fā)中斷信號。 什么是獨占型設備和分時共

36、享型設備如何保證獨占型設備的獨占使用(P147)答:獨占型設備是指在申請設備時,如果設備空閑,就將其獨占,不再允許其他進程申請使用,一直等到該設備被釋放,才允許被其他進程申請使用。分時共享型設備:設備接受多個I/O請求,并將其放在請求隊列中,不同進程的I/O操作請求以排隊的方式分時地占用設備進行I/O。如何保證獨占使用:對獨占型設備進行獨占申請,即在申請時,如果申請成功,就對該設備進行加鎖操作,直到該I/O完成后,才釋放鎖,從而釋放該設備。 以SPOOLing方式使用設備是如何實現的答:SPOOLing技術是在批處理操作系統(tǒng)時代引入的,即假脫機I/O技術,它主要針對獨占型設備的使用。以打印機為

37、例,首先為每個打印機建立一個打印服務進程,和一個打印隊列。打印服務進程循環(huán)地獲取打印隊列中的表項,對每一個要輸出的文件副本,服務進程從文件副本中讀取數據,再成批地調用寫打印機的系統(tǒng)調用將該文件的數據打印在紙上。 以下的工作各在3個I/O軟件層的哪一層完成 答:涉及到具體的磁道、扇區(qū)、磁頭的計算,這屬于設備驅動與中斷處理層。 屬于緩沖I/O的功能,因此屬于與設備無關的I/O層。 中涉及到設備寄存器的操作,而能操作設備寄存器的只有設備驅動與中斷處理層。 是對設備使用權限的內容,因此屬于與設備無關的I/O層。 用戶請求,他請求系統(tǒng)將二進制整數轉換成ASCII碼再輸出,屬于用戶層I/O。 如何使用緩沖

38、區(qū)實現“預先讀”和“延遲寫”這兩種讀/寫方式的優(yōu)缺點是什么答:預先讀就是:將從設備控制器來的數據先送入系統(tǒng)緩沖區(qū),該數據塊送完后,用戶進程將此數據塊移到用戶進程空間。并且立即請求下一個數據塊。延遲寫就是:當需要將數據寫出時,首先將數據塊從用戶進程空間拷貝到系統(tǒng)緩沖區(qū),這時可繼續(xù)執(zhí)行用戶進程,并可在需要時換出主存。操作系統(tǒng)會安排最終將系統(tǒng)緩沖區(qū)的內容輸出到設備上。優(yōu)點是:減少CPU訪問目標存儲部件的次數。提高了慢速I/O設備和快速CPU交互的速度,提高輸入輸出速度。缺點:預先讀是基于“下一數據塊最終將被使用”這一猜測。因此,當這一猜測失敗時,系統(tǒng)將耗費更多的時間來處理,猜測失敗的代價是很大的。同

39、時,增加了操作系統(tǒng)的復雜度。延遲寫也增加了操作系統(tǒng)的復雜度,同時延遲寫還可能出現數據丟失的情況。 假設對磁盤的請求串為95,180,35,120,10,122,64,68,磁頭初始位置為30,試分別畫出FCFS,SSTF,SCAN,C-SCAN調度算法的磁頭移動軌跡及磁頭移動的磁道數(磁道號:0199)。答:FCFS:First Come First Served, SSTF:Shortest Seek Time First, SCAN:掃描 C-SCAN:單向掃描 在磁盤管理程序中何時進行磁盤調度答:當有多個進程請求讀取磁盤中的數據,而這些數據散布在磁盤的不同位置的時候,應該進行磁盤調度。此時磁盤驅動程序應維持一個磁盤I/O請求隊列,對已有請求和新到來請求進行排隊優(yōu)化,確保相鄰請求其磁道相距最近。 RAID級別0+1有何特點可用于什么應用環(huán)境答:RAID級別01是指RAID級別0和1的結合。RAID級別0提供性能,RAID級別1提供可靠性。特點是性能高、可靠性好、價格高(需要2倍磁盤數目)應用環(huán)境:通常用于性能和可靠性都很重要的環(huán)境中。 一個可以支持隨機訪問的文件應該用什么方式放在輔存中答:一個可以支持隨機訪問的文件應該用索引結構的方式將其放在輔存中。 試述文件控制塊的作用,

溫馨提示

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

評論

0/150

提交評論