計算機操作系統(tǒng)答案湯小丹第三版準確_第1頁
計算機操作系統(tǒng)答案湯小丹第三版準確_第2頁
計算機操作系統(tǒng)答案湯小丹第三版準確_第3頁
計算機操作系統(tǒng)答案湯小丹第三版準確_第4頁
計算機操作系統(tǒng)答案湯小丹第三版準確_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 操作系統(tǒng)引論1. 設計現代OS的主要目標是什么?方便性,有效性,可擴充性和開放性. 2. OS的作用可表現為哪幾個方面?a. OS作為用戶與計算機硬件系統(tǒng)之間的接口;b. OS作為計算機系統(tǒng)資源的管理者;c. OS實現了對計算機資源的抽象. 7. 實現分時系統(tǒng)的關鍵問題是什么?應如何解決?a. 關鍵問題:使用戶能與自己的作業(yè)進行交互,即當用戶在自己的終端上鍵入命令時,系統(tǒng)應能及時接收并及時處理該命令,再將結果返回給用戶。b. 解決方法:-對于及時接收,只需在系統(tǒng)中設置一多路卡,使主機能同時接收用戶從各個終端上輸入的數據;此外,還須為每個終端配置一個緩沖區(qū),用來暫存用戶鍵入的命令(或數據

2、)。-對于及時處理,應使所有的用戶作業(yè)都直接進入內存,并且為每個作業(yè)分配一個時間片,允許作業(yè)只在自己的時間片內運行,這樣在不長的時間內,能使每個作業(yè)都運行一次。12.試在交互性,及時性和可靠性方面,將分時系統(tǒng)與實時系統(tǒng)進行比較.a. 分時系統(tǒng)是一種通用系統(tǒng),主要用于運行終端用戶程序,因而它具有較強的交互能力;而實時系統(tǒng)雖然也有交互能力,但其交互能力不及前。b. 實時信息系統(tǒng)對實用性的要求與分時系統(tǒng)類似,都是以人所能接收的等待時間來確定;而實時控制系統(tǒng)的及時性則是以控制對象所要求的開始截止時間和完成截止時間來確定的,因此實時系統(tǒng)的及時性要高于分時系統(tǒng)的及時性。c. 實時系統(tǒng)對系統(tǒng)的可靠性要求要比

3、分時系統(tǒng)對系統(tǒng)的可靠性要求高。13. OS具有哪幾大特征?它的最基本特征是什么?a. 并發(fā)性、共享性、虛擬性、異步性。b. 其中最基本特征是并發(fā)和共享。(最重要的特征是并發(fā)性)18.是什么原因使操作系統(tǒng)具有異步性特征?在多道程序環(huán)境下允許多個進程并發(fā)執(zhí)行,但由于資源等因素的限制,進程的執(zhí)行通常并非一氣呵成,而是以走走停停的方式運行。內存中的每個進程在何時執(zhí)行,何時暫停,以怎樣的速度向前推進,每道程序總共需要多少時間才能完成,都是不可預知的,因此導致作業(yè)完成的先后次序與進入內存的次序并不完全一致?;蛘哒f,進程是以異步方式運行的。但在有關進程控制及同步機制等的支持下,只要運行環(huán)境相同,作業(yè)經多次運

4、行,都會獲得完全相同的結果,因而進程以異步的方式執(zhí)行是系統(tǒng)所允許的。 第二章 進程管理2. 試畫出下面4條語句的前趨圖:S1S1: a:=x+y; S4S3S2: b:=z+1; S2S3: c:=a-b; S4:w:=c+1; 3. 為什么程序并發(fā)執(zhí)行會產生間斷性特征?程序在并發(fā)執(zhí)行時,由于它們共享系統(tǒng)資源,以及為完成同一項任務而相互合作,致使在這些并發(fā)執(zhí)行的進程之間,形成了相互制約的關系,從而也就使得進程在執(zhí)行期間出現間斷性。4. 程序并發(fā)執(zhí)行時為什么會失去封閉性和可再現性?因為程序并發(fā)執(zhí)行時,是多個程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)是由多個程序來改變,致使程序的運行失去了封閉性

5、。而程序一旦失去了封閉性也會導致其再失去可再現性。5. 在操作系統(tǒng)中為什么要引入進程概念?它會產生什么樣的影響?為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對并發(fā)執(zhí)行的程序加以控制和描述,從而在操作系統(tǒng)中引入了進程概念。影響: 使程序的并發(fā)執(zhí)行得以實行。6. 試從動態(tài)性,并發(fā)性和獨立性上比較進程和程序?a. 動態(tài)性是進程最基本的特性,可表現為由創(chuàng)建而產生,由調度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態(tài)實體。b. 并發(fā)性是進程的重要特征,同時也是OS的重要特征。引入進程的目的正是為了使其程序能和其它建立了進程的程序并發(fā)執(zhí)行,而程

6、序本身是不能并發(fā)執(zhí)行的。c. 獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統(tǒng)中獨立獲得資源和獨立調度的基本單位。而對于未建立任何進程的程序,都不能作為一個獨立的單位來運行。7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a. PCB是進程實體的一部分,是操作系統(tǒng)中最重要的記錄型數據結構。PCB中記錄了操作系統(tǒng)所需的用于描述進程情況及控制進程運行所需的全部信息。因而它的作用是使一個在多道程序環(huán)境下不能獨立運行的程序(含數據),成為一個能獨立運行的基本單位,一個能和其它進程并發(fā)執(zhí)行的進程。b. 在進程的整個生命周期中,系統(tǒng)總是通過其PCB對進程進行控制,系統(tǒng)是根據進程的P

7、CB而不是任何別的什么而感知到該進程的存在的,所以說,PCB是進程存在的唯一標志。8. 試說明進程在三個基本狀態(tài)之間轉換的典型原因.a. 處于就緒狀態(tài)的進程,當進程調度程序為之分配了處理機后,該進程便由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài)。b. 當前進程因發(fā)生某事件而無法執(zhí)行,如訪問已被占用的臨界資源,就會使進程由執(zhí)行狀態(tài)轉變?yōu)樽枞麪顟B(tài)。c. 當前進程因時間片用完而被暫停執(zhí)行,該進程便由執(zhí)行狀態(tài)轉變?yōu)榫途w狀態(tài)。9. 為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質?a. 引入掛起狀態(tài)主要是出于4種需要(即引起掛起的原因): 終端用戶的請求,父進程請求,負荷調節(jié)的需要,操作系統(tǒng)的需要。b. 被掛起的進程是處于靜止狀態(tài),并

8、且不能直接被處理機調度。17. 為什么進程在進入臨界區(qū)之前應先執(zhí)行“進入區(qū)”代碼?而在退出前又要執(zhí)行“退出區(qū)”代碼?為了實現多個進程對臨界資源的互斥訪問,必須在臨界區(qū)之前加一段用于檢查臨界資源是否正在被訪問的代碼,如未被訪問,該進程可進入臨界區(qū)對此臨界資源進行訪問;如正被訪問,則該進程不能進入臨界區(qū)訪問臨界資源。在退出臨界區(qū)后,執(zhí)行恢復訪問標志的代碼為“退出區(qū)”,而在退出前執(zhí)行“退出區(qū)”代碼主要是為了使其它進程能再訪問此臨界資源。18. 同步機構應遵循哪些基本準則?為什么?a. 空閑讓進、忙則等待、有限等待、讓權等待四條準則b. 為實現進程能互斥地進入到自己的臨界區(qū)19.試從物理概念上說明記錄

9、型信號量wait和signal。Wait(S):當S.value>0時,表示目前系統(tǒng)中這類資源還有可用的,執(zhí)行一次wait操作,意味著進程請求一個單位的該類資源,是系統(tǒng)中可供分配的該類資源減少一個,因此描述為S.value:=S.value-1;當S.value<0時,表示該類資源已分配完畢,因此進程應調用block原語,進行自我阻塞,放棄處理機,并插入到信號量鏈表S.L中。 Signal(S):執(zhí)行一次signal操作,意味著釋放一個單位的可用資源,使系統(tǒng)中可供分配的該類資源數增加一個,故執(zhí)行S.value:=S.value+1操作。若加1后S.value0,則表示在該信號量鏈表

10、中,仍有等待該資源的進程被阻塞,因此應調用wakeup原語,將S.L鏈表中的第一個等待進程喚醒。22. 試寫出相應的程序來描述圖2-17所示的前驅圖。 a. Var a, b, c, d, e, f, g, h; semaphore:= 0, 0, 0,1, 0, 0,0, 0;begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wait(c); S4; signal(f

11、); end;begin wait(d); S5; signal(g); end;begin wait(e); S6; signal(h); end;begin wait(f); wait(g); wait(h); S7; end; parend end b. 略23. 在生產者消費者問題中,如果缺少了signal(full)或signal(empty),對執(zhí)行結果將會有何影響?如果缺少了signal(full),那么表明從第一個生產者進程開始就沒有對信號量full值改變,即使緩沖池存放的產品已滿了,但full的值還是0,這樣消費者進程在執(zhí)行wait(full)時會認為緩沖池是空的而取不到產品

12、,那么消費者進程則會一直處于等待狀態(tài)。 如果缺少了signal(empty),例如在生產者進程向n個緩沖區(qū)投滿產品后消費者進程才開始從中取產品,這時empty=0,full=n,那么每當消費者進程取走一個產品時empty并沒有被改變,直到緩沖池中的產品都取走了,empty的值也一直是0,即使目前緩沖池有n個空緩沖區(qū),生產者進程要想再往緩沖池中投放產品會因申請不到空緩沖區(qū)而被阻塞。24. 在生產者消費者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)和signal(full)互換位置,結果會如何?在生產者消費者問題中,如果將兩

13、個wait操作,即wait(full)和wait(mutex)互換位置后,可能引起死鎖??紤]系統(tǒng)中緩沖區(qū)全滿時,若一生產者進程先執(zhí)行了wait(mutex)操作并獲得成功,則當再執(zhí)行wait(empty)操作時,它將因失敗而進入阻塞狀態(tài),它期待消費者進程執(zhí)行signal(empty)來喚醒自己,在此之前,它不可能執(zhí)行signal(mutex)操作,從而使試圖通過執(zhí)行wait(mutex)操作而進入自己的臨界區(qū)的其他生產者和所有消費者進程全部進入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖。若signal(mutex)和signal(full)互換位置后只是影響進程對臨界資源的釋放次序,而不會引起系統(tǒng)死鎖,因

14、此可以互換位置。25. 我們?yōu)槟撑R界資源設置一把鎖W,當W=1時表示關鎖;當W=0時表示鎖已打開,試寫出開鎖和關鎖原語,并利用它們去實現互斥。 整型信號量:lock(W): while W=1 do no-op W:=1;unlock(W): W:=0; 記錄型信號量:lock(W): W:=W+1;if(W>1) then block(W.L)unlock(W): W:=W-1;if(W>0) then wakeup(W.L)例子: Var W:semaphore:=0;beginrepeatlock(W);critical sectionunlock(W);remainder

15、sectionuntil false; end26. 試修改下面生產者消費者問題解法中的錯誤:producer: begin repeatproduce an item in nextp; wait(mutex); wait(full);buffer(in):=nextp;signal(mutex); until false; end consumer:begin repeat wait(mutex); wait(empty); nextc:=buffer(out);out:=out+1;signal(mutex);consume item in nextc; until false; end

16、27. 試利用記錄型信號量寫出一個不會出現死鎖的哲學家進餐問題的算法。 三種解決方法中的任意一種即可(略)。P6228. 在測量控制系統(tǒng)中的數據采集任務時,把所采集的數據送往一單緩沖區(qū);計算任務從該單緩沖區(qū)中取出數據進行計算。試寫出利用信號量機制實現兩任務共享單緩沖區(qū)的同步算法。a.Var mutex, empty, full: semaphore:=1, 1, 0; gather:beginrepeatgather data in nextp;wait(empty);wait(mutex);buffer:=nextp;signal(mutex);signal(full);until fals

17、e;end compute:begin repeatwait(full);wait(mutex);nextc:=buffer;signal(mutex);signal(empty); compute data in nextc;until false; endb.Var empty, full: semaphore:=1, 0; gather:beginrepeatgather data in nextp;wait(empty);buffer:=nextp;signal(full);until false; endcompute:begin repeatwait(full); nextc:=b

18、uffer;signal(empty); compute data in nextc;until false; end33. 試比較進程間的低級通信工具與高級通信工具.用戶用低級通信工具實現進程通信很不方便,因為其效率低,通信對用戶不透明,所有的操作都必須由程序員來實現,而高級通信工具則可彌補這些缺陷,用戶可直接利用操作系統(tǒng)所提供的一組通信命令,高效地傳送大量的數據。36. 為什么要在OS中引入線程?在OS中引入進程的目的,是為了使多個程序能并發(fā)執(zhí)行,以提高資源利用率和系統(tǒng)吞吐量。在OS中再引入線程,則是為了減少程序在并發(fā)執(zhí)行時所付出的時空開銷,使OS具有更好的并發(fā)性。38.試從調度性,并發(fā)性

19、,擁有資源及系統(tǒng)開銷方面對進程和線程進行比較.a. 調度性。在傳統(tǒng)的操作系統(tǒng)中,擁有資源的基本單位和獨立調度、分派的基本單位都是進程,在引入線程的OS中,則把線程作為調度和分派的基本單位,而把進程作為資源擁有的基本單位;b. 并發(fā)性。在引入線程的OS中,不僅進程之間可以并發(fā)執(zhí)行,而且在一個進程中的多個線程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好的并發(fā)性;c. 擁有資源。無論是傳統(tǒng)的操作系統(tǒng),還是引入了線程的操作系統(tǒng),進程始終是擁有資源的一個基本單位,而線程除了擁有一點在運行時必不可少的資源外,本身基本不擁有系統(tǒng)資源,但它可以訪問其隸屬進程的資源;d. 開銷。由于創(chuàng)建或撤銷進程時,系統(tǒng)都要為之分配

20、和回收資源,如內存空間等,進程切換時所要保存和設置的現場信息也要明顯地多于線程,因此,操作系統(tǒng)在創(chuàng)建、撤消和切換進程時所付出的開銷將顯著地大于線程。第三章 處理機調度與死鎖1. 高級調度與低級調度的主要任務是什么?為什么要引入中級調度?高級調度的主要任務:用于決定把外存上處于后備隊列中的哪些作業(yè)調入內存,并為它們創(chuàng)建進程,分配必要的資源,然后,再將新創(chuàng)建的進程插入就緒隊列上,準備執(zhí)行。低級調度的主要任務:用于決定就緒隊列中的哪個進程應獲得處理機,然后再由分派程序執(zhí)行將處理機分配給該進程的具體操作。引入中級調度的主要目的:是為了提高系統(tǒng)資源的利用率和系統(tǒng)吞吐量。10. 試比較FCFS和SPF兩種

21、進程調度算法相同點:兩種調度算法都是既可用于作業(yè)調度,也可用于進程調度;不同點:FCFS調度算法每次調度都是從后備隊列中選擇一個或是多個最先進入該隊列的作業(yè),將它們調入內存,為它們分配資源,創(chuàng)建進程,然后插入到就緒隊列中。該算法有利于長作業(yè)/進程,不利于短作業(yè)/進程。SPF調度算法每次調度都是從后備隊列中選擇一個或若干個估計運行時間最短的作業(yè),將它們調入內存中運行。該算法有利于短作業(yè)/進程,不利于長作業(yè)/進程。15. 按調度方式可將實時調度算法分為哪幾種?按調度方式不同,可分為非搶占調度算法和搶占調度算法兩種。18. 何謂死鎖?產生死鎖的原因和必要條件是什么?a.死鎖是指多個進程因競爭資源而造

22、成的一種僵局,若無外力作用,這些進程都將永遠不能再向前推進;b.產生死鎖的原因有二,一是競爭資源,二是進程推進順序非法;c.必要條件是: 互斥條件,請求和保持條件,不剝奪條件和環(huán)路等待條件。19在解決死鎖問題的幾個方法中,哪種方法最易于實現?哪種方法是資源利用率最高? 解決/處理死鎖的方法有預防死鎖、避免死鎖、檢測和解除死鎖,其中預防死鎖方法最容易實現,但由于所施加的限制條件過于嚴格,會導致系統(tǒng)資源利用率和系統(tǒng)吞吐量降低;而檢測和解除死鎖方法可是系統(tǒng)獲得較好的資源利用率和系統(tǒng)吞吐量。20. 請詳細說明可通過哪些途徑預防死鎖?a.摒棄"請求和保持"條件:系統(tǒng)規(guī)定所有進程開始運

23、行之前,都必須一次性地申請其在整個運行過程所需的全部資源,但在分配資源時,只要有一種資源不能滿足某進程的要求,即使其它所需的各資源都空閑,也不分配給該進程,而讓該進程等待;b.摒棄"不剝奪"條件:系統(tǒng)規(guī)定,進程是逐個地提出對資源的要求的。當一個已經保持了某些資源的進程,再提出新的資源請求而不能立即得到滿足時,必須釋放它已經保持了的所有資源,待以后需要時再重新申請;c.摒棄"環(huán)路等待"條件:系統(tǒng)將所有資源按類型進行線性排序,并賦予不同的序號,且所有進程對資源的請求必須嚴格按序號遞增的次序提出,這樣,在所形成的資源分配圖中,不可能再出現環(huán)路,因而摒棄了&qu

24、ot;環(huán)路等待"條件。22.在銀行家算法中,若出現下述資源分配情:ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P303320652P400140656試問:該狀態(tài)是否安全?若進程P2提出請求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?該狀態(tài)是安全的,因為存在一個安全序列< P0P3P4P1P2>。下表為該時刻的安全序列表。資源情況進程WorkNeedAllocationWork+AllocationFinishP0P3P4P1P21622165419871 9 9 112

25、9 9 1100120652065617502 3 5 600320333001410001 3 5 416541987199 112 9 9 113 12 14 17truetruetruetruetrue若進程P2提出請求Request(1,2,2,2)后,系統(tǒng)不能將資源分配給它,若分配給進程P2,系統(tǒng)還剩的資源情況為(0,4,0,0),此時系統(tǒng)中的資源將無法滿足任何一個進程的資源請求,從而導致系統(tǒng)進入不安全狀態(tài),容易引起死鎖的發(fā)生。第四章 存儲器管理1. 為什么要配置層次式存儲器?這是因為:a.設置多個存儲器可以使存儲器兩端的硬件能并行工作。b.采用多級存儲系統(tǒng),特別是Cache技術,這

26、是一種減輕存儲器帶寬對系統(tǒng)性能影響的最佳結構方案。c.在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。2. 可采用哪幾種方式將程序裝入內存?它們分別適用于何種場合?將程序裝入內存可采用的方式有:絕對裝入方式、重定位裝入方式、動態(tài)運行時裝入方式;絕對裝入方式適用于單道程序環(huán)境中,重定位裝入方式和動態(tài)運行時裝入方式適用于多道程序環(huán)境中。3. 何為靜態(tài)鏈接?何謂裝入時動態(tài)鏈接和運行時動態(tài)鏈接?a.靜態(tài)鏈接是指在程序運行之前,先將各自目標模塊及它們所需的庫函數,鏈接成一個完整的裝配模塊,以后不再拆開的鏈接方式。b.裝入時動態(tài)鏈接是指將用

27、戶源程序編譯后所得到的一組目標模塊,在裝入內存時,采用邊裝入邊鏈接的一種鏈接方式,即在裝入一個目標模塊時,若發(fā)生一個外部模塊調用事件,將引起裝入程序去找相應的外部目標模塊,把它裝入內存中,并修改目標模塊中的相對地址。c.運行時動態(tài)鏈接是將對某些模塊的鏈接推遲到程序執(zhí)行時才進行鏈接,也就是,在執(zhí)行過程中,當發(fā)現一個被調用模塊尚未裝入內存時,立即由OS去找到該模塊并將之裝入內存,把它鏈接到調用者模塊上。4. 在進行程序鏈接時,應完成哪些工作?a.對相對地址進行修改b.變換外部調用符號6. 為什么要引入動態(tài)重定位?如何實現?a.程序在運行過程中經常要在內存中移動位置,為了保證這些被移動了的程序還能正

28、常執(zhí)行,必須對程序和數據的地址加以修改,即重定位。引入重定位的目的就是為了滿足程序的這種需要。b.要在不影響指令執(zhí)行速度的同時實現地址變換,必須有硬件地址變換機構的支持,即須在系統(tǒng)中增設一個重定位寄存器,用它來存放程序在內存中的起始地址。程序在執(zhí)行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。9.分區(qū)存儲管理中常采用哪些分配策略?比較它們的優(yōu)缺點。分區(qū)存儲管理中常采用的分配策略有:首次適應算法、循環(huán)首次適應算法、最佳適應算法、最壞適應算法。a.首次適應算法的優(yōu)缺點:保留了高址部分的大空閑區(qū),有利于后到來的大型作業(yè)的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區(qū),

29、且每次分區(qū)分配查找時都是從低址部分開始,會增加查找時的系統(tǒng)開銷。b.循環(huán)首次適應算法的優(yōu)缺點:使內存中的空閑分區(qū)分布得更為均勻,減少了查找時的系統(tǒng)開銷;缺乏大的空閑分區(qū),從而導致不能裝入大型作業(yè)。c.最佳適應算法的優(yōu)缺點:每次分配給文件的都是最適合該文件大小的分區(qū);內存中留下許多難以利用的小的空閑區(qū)。d.最壞適應算法的優(yōu)缺點:給文件分配分區(qū)后剩下的的空閑區(qū)不至于太小,產生碎片的幾率最小,對中小型文件分配分區(qū)操作有利;使存儲器中缺乏大的空閑區(qū),對大型文件的分區(qū)分配不利。10. 在系統(tǒng)中引入對換后可帶來哪些好處?能將內存中暫時不運行的進程或暫時不用的程序和數據,換到外存上,以騰出足夠的內存空間,把

30、已具備運行條件的進程或進程所需的程序和數據換入內存,從而大大地提高了內存的利用率。12. 在以進程為單位進行對換時,每次是否將整個進程換出?為什么?在以進程為單位進行對換時,并非每次將整個進程換出。這是因為:a.從結構上講,進程是由程序段、數據段和進程控制塊組成的,其中進程控制塊總有部分或全部常駐內存,不被換出。b.程序段和數據段可能正被若干進程共享,此時它們也不能被換出。13. 為實現分頁存儲管理,需要哪些硬件支持?需要有頁表機制、地址變換機構的硬件支持。16. 為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現信息共享和保護?a.對于分頁系統(tǒng),每個頁面是分散存儲的,為了實現信息共享和保護,則頁面之間需

31、要一一對應起來,為此需要建立大量的頁表項;b.而對于分段系統(tǒng),每個段都從0開始編址,并采用一段連續(xù)的地址空間,這樣在實現共享和保護時,只需為所要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應起來即可。17. 分頁和分段有何區(qū)別?a.分頁和分段都采用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;b.對于它們的不同點有三,第一,從功能上看,頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率,即滿足系統(tǒng)管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的

32、大小固定且由系統(tǒng)確定,而段的長度卻不固定,決定于用戶所編寫的程序;第三分頁的作業(yè)地址空間是一維的,而分段的作業(yè)地址空間是二維的。18. 試全面比較連續(xù)分配和離散分配方式。a.連續(xù)分配是指為一個用戶程序分配一個連續(xù)的地址空間,包括單一連續(xù)分配方式和分區(qū)式分配方式,前者將內存分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)供操作系統(tǒng)使用,用戶區(qū)供用戶使用,是最簡單的一種存儲方式,但只能用于單用戶單任務的操作系統(tǒng)中;分區(qū)式分配方式分為固定分區(qū)和動態(tài)分區(qū),固定分區(qū)是最簡單的多道程序的存儲管理方式,由于每個分區(qū)的大小固定,必然會造成存儲空間的浪費;動態(tài)分區(qū)是根據進程的實際需要,動態(tài)地為之分配連續(xù)的內存空間,常用三種分配算法:

33、 首次適應算法,該法容易留下許多難以利用的小空閑分區(qū),加大查找開銷;循環(huán)首次適應算法,該算法能使內存中的空閑分區(qū)分布均勻,但會致使缺少大的空閑分區(qū);最佳適應算法,該算法也易留下許多難以利用的小空閑區(qū);b.離散分配方式基于將一個進程直接分散地分配到許多不相鄰的分區(qū)中的思想,分為分頁式存儲管理,分段存儲管理和段頁式存儲管理. 分頁式存儲管理旨在提高內存利用率,滿足系統(tǒng)管理的需要,分段式存儲管理則旨在滿足用戶(程序員)的需要,在實現共享和保護方面優(yōu)于分頁式存儲管理,而段頁式存儲管理則是將兩者結合起來,取長補短,即具有分段系統(tǒng)便于實現,可共享,易于保護,可動態(tài)鏈接等優(yōu)點,又能像分頁系統(tǒng)那樣很好的解決外

34、部碎片的問題,以及為各個分段可離散分配內存等問題,顯然是一種比較有效的存儲管理方式;c.綜上可見,連續(xù)分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用. 19.虛擬存儲器有哪些特征?其中最本質的特征是什么?特征:離散性、多次性、對換性、虛擬性; 最本質的特征:離散性;最重要的特征:虛擬性。20.實現虛擬存儲器需要哪些硬件支持?a.對于為實現請求分頁存儲管理方式的系統(tǒng),除了需要一臺具有一定容量的內存及外存的計算機外,還需要有頁表機制,缺頁中斷機構以及地址變換機構;b.對于為實現請求分段存儲管理方式的系統(tǒng),除了需要一臺具有一定容量的內存及外存的計算機外,還需要有段表機制,缺段中斷

35、機構以及地址變換機構;21.實現虛擬存儲器需要哪幾個關鍵技術?a.分頁和分段都采用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;25.在請求分頁系統(tǒng)中,通常采用哪種頁面分配方式物理塊分配策略?三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換。26.在一個請求分頁系統(tǒng)中,采用FIFO頁面置換算法時,假如一個作業(yè)的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業(yè)的物理塊數M分別為3和4時,試計算在訪問過程中所發(fā)生的缺頁次數和缺頁率,并比較所得結果。4 3 2 1 4 3 5 4 3 2 1 5M=3M=44441115553334

36、442222233314444555511333344445222233331111222M=3時,采用FIFO頁面置換算法的缺頁次數為9次,缺頁率為75%;M=4時,采用FIFO頁面置換算法的缺頁次數為10次,缺頁率為83%。由此可見,增加分配給作業(yè)的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱為是Belady現象。28. 試說明改進型Clock置換算法的基本原理?;驹恚涸趯⒁粋€頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁盤上;但如果該頁未被修改過,則不必將它寫回磁盤上。在改進型算法中,除需考慮頁面的使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,

37、既要是未使用過的頁面,又要是未被修改過的頁面。15 什么是抖動? 產生抖動的原因是什么?a.抖動(Thrashing)就是指當內存中已無空閑空間而又發(fā)生缺頁中斷時,需要從內存中調出一頁程序或數據送磁盤的對換區(qū)中,如果算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統(tǒng)把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的工作,我們稱這種現象為"抖動"。b.產生抖動的原因是由于CPU的利用率和多道程序度的對立統(tǒng)一矛盾關系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多

38、道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統(tǒng)的調度程序又會為了提高CPU利用率而繼續(xù)提高多道程序度,形成惡性循環(huán),我們稱這時的進程是處于"抖動"狀態(tài)。第五章 設備管理3. 什么是字節(jié)多路通道?什么是數組選擇通道和數組多路通道?a.字節(jié)多路通道含有許多非分配型子通道分別連接在低、中速I/O設備上,子通道按時間片輪轉方式共享主通道,按字節(jié)方式進行數據傳送。當第一個子通道控制其I/O設備完成一個字節(jié)的交換后,便立即騰出字節(jié)多路通道(主通道),讓給第二個子通道使用;當第二個子通道也交換完一個字節(jié)后,又依樣把主通道讓給第三個子通道使用,以此類推。轉輪一周后,重又返

39、回由第一個子通道去使用主通道。b.數組選擇通道只含有一個分配型子通道,一段時間內只能執(zhí)行一道通道程序、控制一臺設備按數組方式進行數據傳送。通道被某臺設備占用后,便一直處于獨占狀態(tài),直至設備數據傳輸完畢釋放該通道,故而通道利用率較低,主要用于連接多臺高速設備。c.數組多路通道是將數組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道分時并行操作的優(yōu)點相結合而形成的一種新通道。其含有多個非分配型子通道分別連接在高、中速I/O設備上,子通道按時間片輪轉方式共享主通道,按數組方式進行數據傳送,因而既具有很高的數據傳輸速率,又能獲得令人滿意的通道利用率。4. 如何解決因通道不足而產生的瓶頸問題?解決因通道不足

40、而產生的瓶頸問題的最有效方法是增加設備到主機間的通路而不是增加通道。換言之,就是把一個設備連接到多個控制器上,而一個控制器又連接到多個通道上。這種多通路方式不僅可以解決該瓶頸問題,而且能夠提高系統(tǒng)的可靠性,也即不會因為個別通道或控制器的故障而使設備與存儲器之間無法建立通路進行數據傳輸。6. 試說明I/O控制發(fā)展的主要推動因素是什么?促使I/O控制不斷發(fā)展的幾個主要因素如下:a.盡量減少CPU對I/O控制的干預,把CPU從繁雜的I/O控制中解脫出來,以便更多地去完成數據處理任務。b.緩和CPU的高速性和設備的低速性之間速度不匹配的矛盾,以提高CPU的利用率和系統(tǒng)的吞吐量。c.提高CPU和I/O設

41、備操作的并行程度,使CPU和I/O設備都處于忙碌狀態(tài),從而提高整個系統(tǒng)的資源利用率和系統(tǒng)吞吐量。7. 有哪幾種I/O控制方式?各適用于何種場合?I/O控制方式:程序I/O方式、中斷驅動I/O控制方式、DMAI/O控制方式、I/O通道控制方式。程序I/O方式適用于早期的計算機系統(tǒng)中,并且是無中斷的計算機系統(tǒng);中斷驅動I/O控制方式是普遍用于現代的計算機系統(tǒng)中;DMAI/O控制方式適用于I/O設備為塊設備時在和主機進行數據交換的一種I/O控制方式;當I/O設備和主機進行數據交換是一組數據塊時通常采用I/O通道控制方式,但此時要求系統(tǒng)必須配置相應的通道及通道控制器。10.在單緩沖情況下,為什么系統(tǒng)對

42、一塊數據的處理時間為max(C, T)+M ??在塊設備輸入時,假定從磁盤把一塊數據輸入到緩沖區(qū)的時間為T;操作系統(tǒng)將緩沖區(qū)數據傳送給用戶區(qū)的時間為M;而CPU對這一塊數據進行計算得時間為C。在單緩沖情況下,由于設備的輸入操作和CPU的處理操作可以并行,所以系統(tǒng)對每一整塊數據的處理時間為max(C, T) + M。11. 為什么在雙緩沖情況下,系統(tǒng)對一塊數據的處理時間為max(C, T)?該方式又稱緩沖對換方式,在設備輸入時,先將數據送入第一緩沖區(qū),裝滿后便轉向第二緩沖區(qū)。此時操作系統(tǒng)可以從第一緩沖區(qū)移出數據,并送入用戶進程。接著由CPU對數據進行計算。在雙緩沖區(qū)中,不僅設備的輸入操作和CPU

43、的處理操作可以并行,設備的輸入操作和數據的傳送操作也可以并行,因此耗時大約為max(C+M,T)??紤]到M是內存中數據塊的“搬家”耗時,非常短暫可以省略,因此近似地認為是:max(C,T)15. 為什么要引入設備獨立性?如何實現設備獨立性?引入設備獨立性,可使應用程序獨立于具體的物理設備,是設備分配具有靈活性。另外容易實現I/O重定向。為了實現設備獨立性,必須在設備驅動程序之上設置一層設備獨立性軟件,用來執(zhí)行所有I/O設備的公用操作,并向用戶層軟件提供統(tǒng)一接口。關鍵是系統(tǒng)中必須設置一張邏輯設備表LUT用來進行邏輯設備到物理設備的映射,其中每個表目中包含了邏輯設備名、物理設備名和設備驅動程序入口

44、地址三項;當應用程序用邏輯設備名請求分配I/O設備時,系統(tǒng)必須為它分配相應的物理設備,并在LUT中建立一個表目,以后進程利用該邏輯設備名請求I/O操作時,便可從LUT中得到物理設備名和驅動程序入口地址。16在考慮到設備的獨立性時,應如何分配獨占設備?在考慮到設備的獨立性時,應按如下步驟來分配獨占設備:(1)進程以邏輯設備名提出I/O請求。(2)根據邏輯設備表相應表項獲得I/O請求的邏輯設備對應類型的物理設備在系統(tǒng)設備表中的指針。(3)從指針所指位置起順序檢索系統(tǒng)設備表,直到找到一個屬于對應I/O請求所用類型、空閑可用且基于設備分配安全性算法驗證為安全分配的設備的設備控制表,將對應設備分配給請求

45、進程;如果未找到安全可用的空閑設備,則把請求進程的進程控制塊掛到相應類型設備的等待隊列上等待喚醒和分配。(4)系統(tǒng)把設備分配給I/O請求進程后,再到該設備的設備控制表中找出與其相連接的控制器的控制器控制表,根據其狀態(tài)字段判斷該控制器是否忙碌,若忙則把請求進程的進程控制塊掛到該控制器的等待隊列上;否則將該控制器分配給進程。(5)系統(tǒng)把控制器分配給I/O請求進程后,再到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,根據其狀態(tài)字段判斷該通道是否忙碌,若忙則把請求進程的進程控制塊掛到該通道的等待隊列上;否則將該通道分配給進程。(6)只有在設備、控制器和通道三者都分配成功時,這次的設備分配才

46、算成功,然后便可啟動設備進行數據傳送。17什么是虛擬設備?其實現所依賴的關鍵技術有哪些?虛擬設備是指通過虛擬技術,可將一臺獨占設備變換成若干臺邏輯設備,供若干個用戶(進程)同時使用。由于多臺邏輯設備實際上并不存在,而只是給用戶的一種感覺,因此被稱為虛擬設備。其實現所依賴的關鍵技術是SPOOLing技術。19在實現后臺打印時,SPOOLING系統(tǒng)應為請求I/O的進程提供哪些服務?在實現后臺打印時,SPOOLing系統(tǒng)應為請求I/O的進程提供以下服務:(1)由輸出進程在輸出井中為之申請一空閑盤塊區(qū),并將要打印的數據送入其中;(2)輸出進程再為用戶進程申請一張空白的用戶打印表,并將用戶的打印要求填入

47、其中,再將該表掛到請求打印隊列上。(3)一旦打印機空閑,輸出進程便從請求打印隊列的隊首取出一張請求打印表,根據表中的要求將要打印的數據從輸出井傳送到內存緩沖區(qū),再由打印機進行打印。第六章 文件管理1. 何謂數據項、記錄和文件?a.數據項是最低級的數據組織形式,可分為基本數據項和組合數據項?;緮祿検怯糜诿枋鲆粋€對象某種屬性的字符集,是數據組織中可以命名的最小邏輯數據單位,即原子數據,又稱為數據元素或字段。組合數據項則由若干個基本數據項構成。b.記錄是一組相關數據項的集合,用于描述一個對象某方面的屬性。c.文件是指有創(chuàng)建者所定義的、具有文件名的一組相關信息的集合提。4. 何謂邏輯文件?何謂物理

48、文件?(何謂文件邏輯結構?何謂文件的物理結構)文件的邏輯結構是指從用戶的觀點出發(fā)所觀察到的文件組織形式,也就是用戶可以直接處理的數據及其結構,它獨立于物理特性,;而文件的物理結構則是指文件在外存上的存儲組織形式,與存儲介質的存儲性能有關。5如何提高對變長記錄順序文件的檢索速度?為了提高對變長記錄順序文件的檢索速度,可為其建立一張索引表,以主文件中每條記錄的長度及指向對應記錄的指針(即該記錄在邏輯地址空間的首址)作為相應每個表項的內容。由于索引表本身是一個定長記錄的順序文件,若將其按記錄鍵排序,則可以實現對主文件的方便快速的直接存取。需要指出的是,如果文件較大,應通過建立分組多級索引以進一步提高

49、檢索效率。8試說明順序文件的結構及其優(yōu)點。順序文件中的記錄可按照兩種順序進行排列,若各記錄按存入時間的先后排列所形成的文件是串結構文件,若各記錄按關鍵字排列所形成的文件是順序結構文件。定長記錄通常采用此種結構的文件。優(yōu)點:當系統(tǒng)對記錄進行批量存取時,順序文件的存取效率是所有邏輯文件中最高的。9在鏈接式文件中常采用哪幾種連接方式?為什么?在鏈接式文件中常采用顯式鏈接方法,由于這種鏈接方式是把用于鏈接文件各個物理塊的指針,顯式地存放在內存的一張鏈表中,而對于查找記錄的過程也是在內存中進行的,因此相對于隱式鏈接方式,在檢索記錄時能有效地調高檢索速度,并能大大減少訪問磁盤的次數,節(jié)省系統(tǒng)開銷。10在MS-DOS中有兩個文件A和B,A占用11,12,16和14四個盤塊;B占用13,18和20三個盤塊。試畫出在文件A和B中個盤塊間的鏈接情況及FAT的情況。FCBAFAT1110111213141516171819201216FCB B18EOF141320EOF12假定一個文件系統(tǒng)的組織方式與MS-DOS相似,在FAT中可有64K個指針,磁盤的盤塊大小為512B,試問該文件系統(tǒng)能否指引一個512MB的磁盤?解:512MB/512B=1M個盤塊,而每個盤塊都應有一個指針來指示,所以應該有1M個指針,因此若有64K個指針則不能指引一個512MB的磁盤。

溫馨提示

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

評論

0/150

提交評論