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

下載本文檔

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

文檔簡介

1、計算機(jī)操作系統(tǒng) 湯小丹(第三版)16章練習(xí)答案第一章 操 作 系統(tǒng) 引論1. 設(shè)計現(xiàn)代 OS 地主要目標(biāo)是什么 ? 方便性 ,有效性,可擴(kuò)充性和開放性 .2. OS 地作用可表現(xiàn)為哪幾個方面 ?a. OS作為用戶與計算機(jī)硬件系統(tǒng)之間地接口;b. OS作為計算機(jī)系統(tǒng)資源地管理者;c. OS 實現(xiàn)了對計算機(jī)資源地抽象 .7. 實現(xiàn)分時系統(tǒng)地關(guān)鍵問題是什么 ?應(yīng)如何解決 ?a. 關(guān)鍵問題:使用戶能與自己地作業(yè)進(jìn)行交互 ,即當(dāng)用戶在自己地終端上鍵入 命令時 ,系統(tǒng)應(yīng)能及時接收并及時處理該命令 ,再將結(jié)果返回給用戶 .b. 解決方法:對于及時接收 ,只需在系統(tǒng)中設(shè)置一多路卡 ,使主機(jī)能同時接收用戶從各

2、個終端上輸入地數(shù)據(jù); 此外,還須為每個終端配置一個緩沖區(qū) ,用來暫存用 戶鍵入地命令(或數(shù)據(jù)) .對于及時處理 ,應(yīng)使所有地用戶作業(yè)都直接進(jìn)入內(nèi)存 ,并且為每個作業(yè)分 配一個時間片 ,允許作業(yè)只在自己地時間片內(nèi)運(yùn)行 ,這樣在不長地時間內(nèi) 能使每個作業(yè)都運(yùn)行一次 .12. 試在交互性 ,及時性和可靠性方面 ,將分時系統(tǒng)與實時系統(tǒng)進(jìn)行比較 .a. 分時系統(tǒng)是一種通用系統(tǒng) ,主要用于運(yùn)行終端用戶程序 ,因而它具有較強(qiáng)地 交互能力;而實時系統(tǒng)雖然也有交互能力 ,但其交互能力不及前 .b. 實時信息系統(tǒng)對實用性地要求與分時系統(tǒng)類似 ,都是以人所能接收地等待 時間來確定;而實時控制系統(tǒng)地及時性則是以控制對

3、象所要求地開始截止 時間和完成截止時間來確定地 ,因此實時系統(tǒng)地及時性要高于分時系統(tǒng)地 及時性.c. 實時系統(tǒng)對系統(tǒng)地可靠性要求要比分時系統(tǒng)對系統(tǒng)地可靠性要求高 .13. OS 具有哪幾大特征 ?它地最基本特征是什么 ?a. 并發(fā)性、共享性、虛擬性、異步性 .b. 其中最基本特征是并發(fā)和共享 .(最重要地特征是并發(fā)性)18. 是什么原因使操作系統(tǒng)具有異步性特征 ?在多道程序環(huán)境下允許多個進(jìn)程并發(fā)執(zhí)行 , 但由于資源等因素地限制 , 進(jìn)程地執(zhí)行通常并非一氣呵成 ,而是以走走停停地方式運(yùn)行 .內(nèi)存中地每個 進(jìn)程在何時執(zhí)行 , 何時暫停 , 以怎樣地速度向前推進(jìn) ,每道程序總共需要多 少時間才能完成

4、 , 都是不可預(yù)知地 , 因此導(dǎo)致作業(yè)完成地先后次序與進(jìn)入內(nèi) 存地次序并不完全一致 .或者說,進(jìn)程是以異步方式運(yùn)行地 .但在有關(guān)進(jìn)程 控制及同步機(jī)制等地支持下 , 只要運(yùn)行環(huán)境相同 , 作業(yè)經(jīng)多次運(yùn)行 , 都會獲 得完全相同地結(jié)果 , 因而進(jìn)程以異步地方式執(zhí)行是系統(tǒng)所允許地 .第二章進(jìn)程管理2試畫出下面4條語句地前趨圖:Si: a:=x+y;S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.3.S3S44.4.5.5.7.7.為什么程序并發(fā)執(zhí)行會產(chǎn)生間斷性特征?程序在并發(fā)執(zhí)行時,由于它們共享系統(tǒng)資源,以及為完成同一項任務(wù)而相 互合作,致使在這些并發(fā)執(zhí)行地進(jìn)程之間,形成了相互

5、制約地關(guān)系,從而也就使 得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性 程序并發(fā)執(zhí)行時為什么會失去封閉性和可再現(xiàn)性?因為程序并發(fā)執(zhí)行時,是多個程序共享系統(tǒng)中地各種資源,因而這些資源 地狀態(tài)是由多個程序來改變,致使程序地運(yùn)行失去了封閉性而程序一旦失去 了封閉性也會導(dǎo)致其再失去可再現(xiàn)性.在操作系統(tǒng)中為什么要引入進(jìn)程概念?它會產(chǎn)生什么樣地影響?為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對并發(fā)執(zhí)行地程序加以 控制和描述,從而在操作系統(tǒng)中引入了進(jìn)程概念 影響:使程序地并發(fā)執(zhí)行得以實行 試從動態(tài)性,并發(fā)性和獨立性上比較進(jìn)程和程序?a. 動態(tài)性是進(jìn)程最基本地特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不 到資源而暫停執(zhí)行,以

6、及由撤銷而消亡,因而進(jìn)程由一定地生命期;而程序只 是一組有序指令地集合,是靜態(tài)實體b. 并發(fā)性是進(jìn)程地重要特征,同時也是OS地重要特征.引入進(jìn)程地目地正是 為了使其程序能和其它建立了進(jìn)程地程序并發(fā)執(zhí)行,而程序本身是不能并 發(fā)執(zhí)行地.c. 獨立性是指進(jìn)程實體是一個能獨立運(yùn)行地基本單位 ,同時也是系統(tǒng)中獨立 獲得資源和獨立調(diào)度地基本單位.而對于未建立任何進(jìn)程地程序,都不能作 為一個獨立地單位來運(yùn)行.試說明PCB地作用?為什么說PCB是進(jìn)程存在地唯一標(biāo)志?a. PCB是進(jìn)程實體地一部分,是操作系統(tǒng)中最重要地記錄型數(shù)據(jù)結(jié)構(gòu).PCB中 記錄了操作系統(tǒng)所需地用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需地全部信息 因

7、而它地作用是使一個在多道程序環(huán)境下不能獨立運(yùn)行地程序(含數(shù)據(jù)),成 為一個能獨立運(yùn)行地基本單位,一個能和其它進(jìn)程并發(fā)執(zhí)行地進(jìn)程.b. 在進(jìn)程地整個生命周期中,系統(tǒng)總是通過其PCB對進(jìn)程進(jìn)行控制,系統(tǒng)是根 據(jù)進(jìn)程地PCB而不是任何別地什么而感知到該進(jìn)程地存在地,所以說,PCB 是進(jìn)程存在地唯一標(biāo)志.試說明進(jìn)程在三個基本狀態(tài)之間轉(zhuǎn)換地典型原因.a. 處于就緒狀態(tài)地進(jìn)程,當(dāng)進(jìn)程調(diào)度程序為之分配了處理機(jī)后,該進(jìn)程便由就 緒狀態(tài)變?yōu)閳?zhí)行狀態(tài).b. 當(dāng)前進(jìn)程因發(fā)生某事件而無法執(zhí)行,如訪問已被占用地臨界資源,就會使進(jìn) 程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài).c. 當(dāng)前進(jìn)程因時間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變

8、為就緒狀 態(tài).9. 為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?a. 引入掛起狀態(tài)主要是出于 4 種需要(即引起掛起地原因) : 終端用戶地請 求,父進(jìn)程請求 ,負(fù)荷調(diào)節(jié)地需要 ,操作系統(tǒng)地需要 .b. 被掛起地進(jìn)程是處于靜止?fàn)顟B(tài) , 并且不能直接被處理機(jī)調(diào)度 .17. 為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行 “進(jìn)入?yún)^(qū)” 代碼?而在退出前又要執(zhí) 行“退出區(qū)”代碼?為了實現(xiàn)多個進(jìn)程對臨界資源地互斥訪問,必須在臨界區(qū)之前加一段用于檢查臨界資源是否正在被訪問地代碼,如未被訪問 ,該進(jìn)程可進(jìn)入臨界區(qū)對此臨界資源進(jìn)行訪問;如正被訪問 ,則該進(jìn)程不能進(jìn)入臨界區(qū)訪問臨界資源 .在退出臨界區(qū)后 ,執(zhí)行恢復(fù)訪問標(biāo)志地代

9、碼為 “退出區(qū)” ,而在退出前執(zhí)行 “退出區(qū)”代碼主要是為了使其它進(jìn)程能再訪問此臨界資源 .18. 同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?a. 空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待四條準(zhǔn)則b. 為實現(xiàn)進(jìn)程能互斥地進(jìn)入到自己地臨界區(qū)19. 試從物理概念上說明記錄型信號量 wait 和 signal.Wait(S):當(dāng)S.value>0時,表示目前系統(tǒng)中這類資源還有可用地,執(zhí)行一次wait 操作,意味著進(jìn)程請求一個單位地該類資源,是系統(tǒng)中可供分配地該類資源減少一個,因此描述為 S.value:=S.value-1;當(dāng)S.value<0 時,表示該類資源已分配完畢 ,因此進(jìn)程應(yīng)調(diào)用 bl

10、ock 原語,進(jìn)行自 我阻塞,放棄處理機(jī),并插入到信號量鏈表S丄中.Signal(S):執(zhí)行一次signal操作,意味著釋放一個單位地可用資源,使系統(tǒng)中 可供分配地該類資源數(shù)增加一個 ,故執(zhí)行 S.value:=S.value+1 操作. 若加1后S.value< 0,則表示在該信號量鏈表中,仍有等待該資源地 進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup原語將S丄鏈表中地第一個等待 進(jìn)程喚醒.22. 試寫出相應(yīng)地程序來描述圖 2-17所示地前驅(qū)圖 .a. Var a, b, c, d, e, f, g, h; semaphore:= 0, 0, 0, 1, 0, 0, 0, 0;beginparb

11、eginbegin 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); end;begin wait(d); S5; signal(g); end;begin wait(e); S6; signal(h); end;begin wait(f); wait(g); wait(h); S7; end;parendendb. 略23. 在生產(chǎn)者一消費者問題中,如果缺少了 sig

12、nal(full咸signal(empty)對執(zhí)行結(jié) 果將會有何影響?如果缺少了 signal(full), 那么表明從第一個生產(chǎn)者進(jìn)程開始就沒有對信號 量 full 值改變,即使緩沖池存放地產(chǎn)品已滿了 ,但 full 地值還是 0,這樣消費者進(jìn) 程在執(zhí)行 wait(full) 時會認(rèn)為緩沖池是空地而取不到產(chǎn)品,那么消費者進(jìn)程則會一直處于等待狀態(tài) .如果缺少了 signal(empty)例如在生產(chǎn)者進(jìn)程向n個緩沖區(qū)投滿產(chǎn)品后消 費者進(jìn)程才開始從中取產(chǎn)品 ,這時 empty=0,full=n, 那么每當(dāng)消費者進(jìn)程取走一 個產(chǎn)品時empty并沒有被改變,直到緩沖池中地產(chǎn)品都取走了 ,empty地值

13、也一 直是0,即使目前緩沖池有n個空緩沖區(qū),生產(chǎn)者進(jìn)程要想再往緩沖池中投放產(chǎn) 品會因申請不到空緩沖區(qū)而被阻塞 .24. 在生產(chǎn)者一消費者問題中,如果將兩個 wait操作即wait(full)和wait(mutex) 互換位置,或者將signal(mutex和signal(full)互換位置,結(jié)果會如何?在生產(chǎn)者一消費者問題中,如果將兩個wait操作,即wait(full)和wait(mutex) 互換位置后 ,可能引起死鎖 .考慮系統(tǒng)中緩沖區(qū)全滿時 ,若一生產(chǎn)者進(jìn)程先執(zhí)行 了 wait(mutex)操作并獲得成功,則當(dāng)再執(zhí)行wait(empty)操作時,它將因失敗而 進(jìn)入阻塞狀態(tài),它期待消費者

14、進(jìn)程執(zhí)行 signal(empty)來喚醒自己,在此之前,它 不可能執(zhí)行signal(mutex)操作,從而使試圖通過執(zhí)行 wait(mutex)操作而進(jìn)入自 己地臨界區(qū)地其他生產(chǎn)者和所有消費者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖 .若signal(mutex)和signal(full)互換位置后只是影響進(jìn)程對臨界資源地釋 放次序,而不會引起系統(tǒng)死鎖 ,因此可以互換位置 .25. 我們?yōu)槟撑R界資源設(shè)置一把鎖W,當(dāng)W=1時表示關(guān)鎖;當(dāng) W=0時表示鎖已打開 ,試寫出開鎖和關(guān)鎖原語 ,并利用它們?nèi)崿F(xiàn)互斥 .整型信號量: lock(W): while W=1 do no-opW:=1;unl

15、ock(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 section unlock(W); remainder section until false;end26. 試修改下面生產(chǎn)者一一消費者問題解法中地錯誤:producer:begin repeatJ Jproduce an item in nextp; wait(mutex);wa

16、it(full); buffer(in):=nextp; , signal(mutex); until false;endwait(mutex); wait(empty); nextc:=buffer(out); out:=out+1; signal(mutex); consume item in nextc; until false;endconsumer:begin repeat27. 試?yán)糜涗浶托盘柫繉懗鲆粋€不會出現(xiàn)死鎖地哲學(xué)家進(jìn)餐問題地算法 . 三種解決方法中地任意一種即可(略) .P6228. 在測量控制系統(tǒng)中地數(shù)據(jù)采集任務(wù)時 ,把所采集地數(shù)據(jù)送往一單緩沖區(qū);計 算任務(wù)從該單緩沖區(qū)

17、中取出數(shù)據(jù)進(jìn)行計算 .試寫出利用信號量機(jī)制實現(xiàn)兩任 務(wù)共享單緩沖區(qū)地同步算法 .a. Var mutex, empty, full: semaphore:=1, 1, 0;gather:begincompute:begin repeatgather data in nextp; wait(empty); wait(mutex); buffer:=nextp; signal(mutex); signal(full);until false;endb. Var empty, full: semaphore:=1, 0; gather:beginrepeatwait(full); wait(mute

18、x); nextc:=buffer; signal(mutex); signal(empty); compute data in nextc; until false;endcompute:beginrepeatgather data in nextp; wait(empty); buffer:=nextp; signal(full);until false;endwait(full); nextc:=buffer; signal(empty); compute data in nextc;until false;endrepeat33. 試比較進(jìn)程間地低級通信工具與高級通信工具 . 用戶用低

19、級通信工具實現(xiàn)進(jìn)程通信很不方便 ,因為其效率低 ,通信對用戶 不透明 ,所有地操作都必須由程序員來實現(xiàn) ,而高級通信工具則可彌補(bǔ)這些缺 陷,用戶可直接利用操作系統(tǒng)所提供地一組通信命令 ,高效地傳送大量地數(shù) 據(jù).36. 為什么要在 OS 中引入線程?在 OS 中引入進(jìn)程地目地 ,是為了使多個程序能并發(fā)執(zhí)行 , 以提高資源利 用率和系統(tǒng)吞吐量 .在 OS 中再引入線程 ,則是為了減少程序在并發(fā)執(zhí)行時所 付出地時空開銷 ,使 OS 具有更好地并發(fā)性 .38. 試從調(diào)度性 ,并發(fā)性 ,擁有資源及系統(tǒng)開銷方面對進(jìn)程和線程進(jìn)行比較 .a. 調(diào)度性 .在傳統(tǒng)地操作系統(tǒng)中 ,擁有資源地基本單位和獨立調(diào)度、分派

20、地基 本單位都是進(jìn)程 ,在引入線程地 OS 中,則把線程作為調(diào)度和分派地基本單 位,而把進(jìn)程作為資源擁有地基本單位;b. 并發(fā)性.在引入線程地OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個進(jìn)程 中地多個線程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好地并發(fā)性;c. 擁有資源 .無論是傳統(tǒng)地操作系統(tǒng) ,還是引入了線程地操作系統(tǒng) ,進(jìn)程始終是 擁有資源地一個基本單位 ,而線程除了擁有一點在運(yùn)行時必不可少地資源 外,本身基本不擁有系統(tǒng)資源 ,但它可以訪問其隸屬進(jìn)程地資源;d. 開銷.由于創(chuàng)建或撤銷進(jìn)程時 ,系統(tǒng)都要為之分配和回收資源 ,如內(nèi)存空間等 ,進(jìn)程切換時所要保存和設(shè)置地現(xiàn)場信息也要明顯地多于線程,因

21、此,操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時所付出地開銷將顯著地大于線程 .第三章處理機(jī)調(diào)度與死鎖1. 高級調(diào)度與低級調(diào)度地主要任務(wù)是什么?為什么要引入中級調(diào)度?高級調(diào)度地主要任務(wù):用于決定把外存上處于后備隊列中地哪些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程,分配必要地資源,然后,再將新 創(chuàng)建地進(jìn)程插入就緒隊列上,準(zhǔn)備執(zhí)行低級調(diào)度地主要任務(wù):用于決定就緒隊列中地哪個進(jìn)程應(yīng)獲得處理機(jī),然后再 由分派程序執(zhí)行將處理機(jī)分配給該進(jìn)程地具體操作 引入中級調(diào)度地主要目地:是為了提高系統(tǒng)資源地利用率和系統(tǒng)吞吐量10試比較FCFS和SPF兩種進(jìn)程調(diào)度算法相同點:兩種調(diào)度算法都是既可用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度;不同點:FCF

22、S調(diào)度算法每次調(diào)度都是從后備隊列中選擇一個或是多個最先 進(jìn)入該隊列地作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源,創(chuàng)建進(jìn)程, 然后插入到就緒隊列中該算法有利于長作業(yè)/進(jìn)程,不利于短作業(yè) /進(jìn)程.SPF調(diào)度算法每次調(diào)度都是從后備隊列中選擇一個或若干個估計 運(yùn)行時間最短地作業(yè),將它們調(diào)入內(nèi)存中運(yùn)行.該算法有利于短作 業(yè)/進(jìn)程,不利于長作業(yè)/進(jìn)程.15. 按調(diào)度方式可將實時調(diào)度算法分為哪幾種?按調(diào)度方式不同,可分為非搶占調(diào)度算法和搶占調(diào)度算法兩種.18. 何謂死鎖?產(chǎn)生死鎖地原因和必要條件是什么?a. 死鎖是指多個進(jìn)程因競爭資源而造成地一種僵局,若無外力作用,這些進(jìn)程 都將永遠(yuǎn)不能再向前推進(jìn);b. 產(chǎn)生死鎖

23、地原因有二,一是競爭資源,二是進(jìn)程推進(jìn)順序非法;c. 必要條件是:互斥條件,請求和保持條件,不剝奪條件和環(huán)路等待條件. 佃在解決死鎖問題地幾個方法中,哪種方法最易于實現(xiàn)?哪種方法是資源利用 率最高?解決/處理死鎖地方法有預(yù)防死鎖、避免死鎖、檢測和解除死鎖,其中預(yù)防死鎖方法最容易實現(xiàn),但由于所施加地限制條件過于嚴(yán)格,會導(dǎo)致系統(tǒng)資源利用率和 系統(tǒng)吞吐量降低;而檢測和解除死鎖方法可是系統(tǒng)獲得較好地資源利用率和系統(tǒng) 吞吐量.20.請詳細(xì)說明可通過哪些途徑預(yù)防死鎖 ?a. 摒棄"請求和保持"條件:系統(tǒng)規(guī)定所有進(jìn)程開始運(yùn)行之前,都必須一次性地申 請其在整個運(yùn)行過程所需地全部資源,但在分

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

25、中,若出現(xiàn)下述資源分配情:ProcessAllocationNeedAvailableP0003200121622Pl10001750P213542356P303320652P400140656試問:該狀態(tài)是否安全? 若進(jìn)程P2提出請求Request(1,2,2,2后,系統(tǒng)能否將資源分配給它?該狀態(tài)是安全地,因為存在一個安全序列< PoP3P4PlP2>.下表為該時刻 地安全序列表、資源情況進(jìn)程WorkNeedAllocationWork+AllocationFinishP01 6 2 20 0 1 20 0 3 21 6 5 4trueP31 6 5 40 6 5 20 3 3

26、31 9 8 7trueP41 9 8 70 6 5 60 0 1 41 9 9 11trueP11 9 9 111 7 5 01 0 0 02 9 9 11trueP22 9 9 112 3 5 61 3 5 43 12 14 仃true若進(jìn)程P2提出請求Request(1,2,2,2后,系統(tǒng)不能將資源分配給它若分 配給進(jìn)程P2,系統(tǒng)還剩地資源情況為(0,4,0,0),此時系統(tǒng)中地資源將無法滿足 任何一個進(jìn)程地資源請求,從而導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),容易引起死鎖地發(fā) 生.第四 章存儲器 管理1. 為什么要配置層次式存儲器?這是因為:a. 設(shè)置多個存儲器可以使存儲器兩端地硬件能并行工作 .b.

27、采用多級存儲系統(tǒng),特別是Cache技術(shù),這是一種減輕存儲器帶寬對系統(tǒng)性 能影響地最佳結(jié)構(gòu)方案 .c. 在微處理機(jī)內(nèi)部設(shè)置各種緩沖存儲器 , 以減輕對存儲器存取地壓力 . 增加 CPU中寄存器地數(shù)量,也可大大緩解對存儲器地壓力.2. 可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場合?將程序裝入內(nèi)存可采用地方式有:絕對裝入方式、重定位裝入方式、動 態(tài)運(yùn)行時裝入方式;絕對裝入方式適用于單道程序環(huán)境中 ,重定位裝入方式和 動態(tài)運(yùn)行時裝入方式適用于多道程序環(huán)境中 .3. 何為靜態(tài)鏈接?何謂裝入時動態(tài)鏈接和運(yùn)行時動態(tài)鏈接?a. 靜態(tài)鏈接是指在程序運(yùn)行之前 , 先將各自目標(biāo)模塊及它們所需地庫函數(shù) ,

28、鏈 接成一個完整地裝配模塊 , 以后不再拆開地鏈接方式 .b. 裝入時動態(tài)鏈接是指將用戶源程序編譯后所得到地一組目標(biāo)模塊 , 在裝入 內(nèi)存時,采用邊裝入邊鏈接地一種鏈接方式 ,即在裝入一個目標(biāo)模塊時 ,若 發(fā)生一個外部模塊調(diào)用事件 , 將引起裝入程序去找相應(yīng)地外部目標(biāo)模塊 , 把 它裝入內(nèi)存中 , 并修改目標(biāo)模塊中地相對地址 .c. 運(yùn)行時動態(tài)鏈接是將對某些模塊地鏈接推遲到程序執(zhí)行時才進(jìn)行鏈接 , 也 就是,在執(zhí)行過程中,當(dāng)發(fā)現(xiàn)一個被調(diào)用模塊尚未裝入內(nèi)存時,立即由OS去 找到該模塊并將之裝入內(nèi)存 , 把它鏈接到調(diào)用者模塊上 .4. 在進(jìn)行程序鏈接時 ,應(yīng)完成哪些工作 ?a. 對相對地址進(jìn)行修改

29、b. 變換外部調(diào)用符號6. 為什么要引入動態(tài)重定位 ?如何實現(xiàn) ?a. 程序在運(yùn)行過程中經(jīng)常要在內(nèi)存中移動位置,為了保證這些被移動了地程序還能正常執(zhí)行 ,必須對程序和數(shù)據(jù)地地址加以修改 ,即重定位 .引入重定位 地目地就是為了滿足程序地這種需要 .b. 要在不影響指令執(zhí)行速度地同時實現(xiàn)地址變換,必須有硬件地址變換機(jī)構(gòu)地支持,即須在系統(tǒng)中增設(shè)一個重定位寄存器 ,用它來存放程序在內(nèi)存中地 起始地址 .程序在執(zhí)行時 ,真正訪問地內(nèi)存地址是相對地址與重定位寄存器 中地地址相加而形成地 .9. 分區(qū)存儲管理中常采用哪些分配策略?比較它們地優(yōu)缺點 . 分區(qū)存儲管理中常采用地分配策略有:首次適應(yīng)算法、循環(huán)首

30、次適應(yīng)算 法、最佳適應(yīng)算法、最壞適應(yīng)算法 .a. 首次適應(yīng)算法地優(yōu)缺點: 保留了高址部分地大空閑區(qū) ,有利于后到來地大型 作業(yè)地分配;低址部分不斷被劃分 ,留下許多難以利用地、 小地空閑區(qū) ,且每 次分區(qū)分配查找時都是從低址部分開始 ,會增加查找時地系統(tǒng)開銷 .b. 循環(huán)首次適應(yīng)算法地優(yōu)缺點: 使內(nèi)存中地空閑分區(qū)分布得更為均勻 ,減少了 查找時地系統(tǒng)開銷;缺乏大地空閑分區(qū) ,從而導(dǎo)致不能裝入大型作業(yè) .c. 最佳適應(yīng)算法地優(yōu)缺點: 每次分配給文件地都是最適合該文件大小地分區(qū); 內(nèi)存中留下許多難以利用地小地空閑區(qū) .d. 最壞適應(yīng)算法地優(yōu)缺點:給文件分配分區(qū)后剩下地地空閑區(qū)不至于太小 , 產(chǎn)生碎

31、片地幾率最小 ,對中小型文件分配分區(qū)操作有利; 使存儲器中缺乏大 地空閑區(qū) ,對大型文件地分區(qū)分配不利 .10. 在系統(tǒng)中引入對換后可帶來哪些好處? 能將內(nèi)存中暫時不運(yùn)行地進(jìn)程或暫時不用地程序和數(shù)據(jù),換到外存上 ,以騰出足夠地內(nèi)存空間 ,把已具備運(yùn)行條件地進(jìn)程或進(jìn)程所需地程序和數(shù)據(jù)換 入內(nèi)存 ,從而大大地提高了內(nèi)存地利用率 .12. 在以進(jìn)程為單位進(jìn)行對換時 ,每次是否將整個進(jìn)程換出?為什么? 在以進(jìn)程為單位進(jìn)行對換時 ,并非每次將整個進(jìn)程換出 .這是因為:a. 從結(jié)構(gòu)上講,進(jìn)程是由程序段、數(shù)據(jù)段和進(jìn)程控制塊組成地,其中進(jìn)程控制 塊總有部分或全部常駐內(nèi)存 ,不被換出 .b. 程序段和數(shù)據(jù)段可能

32、正被若干進(jìn)程共享 , 此時它們也不能被換出 .13. 為實現(xiàn)分頁存儲管理 ,需要哪些硬件支持? 需要有頁表機(jī)制、地址變換機(jī)構(gòu)地硬件支持 .16. 為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)信息共享和保護(hù) ?a. 對于分頁系統(tǒng) ,每個頁面是分散存儲地 ,為了實現(xiàn)信息共享和保護(hù) ,則頁面 之間需要一一對應(yīng)起來 ,為此需要建立大量地頁表項;b. 而對于分段系統(tǒng),每個段都從0開始編址,并采用一段連續(xù)地地址空間,這樣在實現(xiàn)共享和保護(hù)時 ,只需為所要共享和保護(hù)地程序設(shè)置一個段表項,將其中地基址與內(nèi)存地址一一對應(yīng)起來即可 .17. 分頁和分段有何區(qū)別 ?a. 分頁和分段都采用離散分配地方式 ,且都要通過地址映射

33、機(jī)構(gòu)來實現(xiàn)地址 變換,這是它們地共同點;b. 對于它們地不同點有三 ,第一,從功能上看 ,頁是信息地物理單位 ,分頁是為實現(xiàn)離散分配方式 ,以消減內(nèi)存地外零頭 ,提高內(nèi)存地利用率 ,即滿足系統(tǒng) 管理地需要 ,而不是用戶地需要;而段是信息地邏輯單位,它含有一組其意義相對完整地信息 ,目地是為了能更好地滿足用戶地需要;第二頁地大小 固定且由系統(tǒng)確定 ,而段地長度卻不固定 ,決定于用戶所編寫地程序;第三 分頁地作業(yè)地址空間是一維地 ,而分段地作業(yè)地址空間是二維地 .18. 試全面比較連續(xù)分配和離散分配方式 .a. 連續(xù)分配是指為一個用戶程序分配一個連續(xù)地地址空間,包括單一連續(xù)分配方式和分區(qū)式分配方式

34、 ,前者將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū) ,系統(tǒng)區(qū)供操作 系統(tǒng)使用 ,用戶區(qū)供用戶使用 ,是最簡單地一種存儲方式 ,但只能用于單用 戶單任務(wù)地操作系統(tǒng)中;分區(qū)式分配方式分為固定分區(qū)和動態(tài)分區(qū),固定分區(qū)是最簡單地多道程序地存儲管理方式 ,由于每個分區(qū)地大小固定 ,必然 會造成存儲空間地浪費;動態(tài)分區(qū)是根據(jù)進(jìn)程地實際需要 ,動態(tài)地為之分 配連續(xù)地內(nèi)存空間 ,常用三種分配算法 : 首次適應(yīng)算法 ,該法容易留下許多 難以利用地小空閑分區(qū) ,加大查找開銷;循環(huán)首次適應(yīng)算法 ,該算法能使內(nèi) 存中地空閑分區(qū)分布均勻 ,但會致使缺少大地空閑分區(qū);最佳適應(yīng)算法 ,該 算法也易留下許多難以利用地小空閑區(qū);b. 離散分配方

35、式基于將一個進(jìn)程直接分散地分配到許多不相鄰地分區(qū)中地思想,分為分頁式存儲管理 ,分段存儲管理和段頁式存儲管理 . 分頁式存儲 管理旨在提高內(nèi)存利用率 ,滿足系統(tǒng)管理地需要 ,分段式存儲管理則旨在滿 足用戶 (程序員)地需要,在實現(xiàn)共享和保護(hù)方面優(yōu)于分頁式存儲管理,而段 頁式存儲管理則是將兩者結(jié)合起來,取長補(bǔ)短,即具有分段系統(tǒng)便于實現(xiàn), 可共享,易于保護(hù),可動態(tài)鏈接等優(yōu)點,又能像分頁系統(tǒng)那樣很好地解決外 部碎片地問題,以及為各個分段可離散分配內(nèi)存等問題,顯然是一種比較有 效地存儲管理方式;C.綜上可見,連續(xù)分配方式和離散分配方式各有各自地特點,應(yīng)根據(jù)實際情況 加以改進(jìn)和利用.19. 虛擬存儲器有

36、哪些特征?其中最本質(zhì)地特征是什么? 特征:離散性、多次性、對換性、虛擬性;最本質(zhì)地特征:離散性;最重要地特征:虛擬性20. 實現(xiàn)虛擬存儲器需要哪些硬件支持?a. 對于為實現(xiàn)請求分頁存儲管理方式地系統(tǒng),除了需要一臺具有一定容量地 內(nèi)存及外存地計算機(jī)外,還需要有頁表機(jī)制,缺頁中斷機(jī)構(gòu)以及地址變換機(jī) 構(gòu);b. 對于為實現(xiàn)請求分段存儲管理方式地系統(tǒng),除了需要一臺具有一定容量地 內(nèi)存及外存地計算機(jī)外,還需要有段表機(jī)制,缺段中斷機(jī)構(gòu)以及地址變換機(jī) 構(gòu);21. 實現(xiàn)虛擬存儲器需要哪幾個關(guān)鍵技術(shù)?a. 分頁和分段都采用離散分配地方式,且都要通過地址映射機(jī)構(gòu)來實現(xiàn)地址 變換,這是它們地共同點;25. 在請求分頁

37、系統(tǒng)中,通常采用哪種頁面分配方式一一物理塊分配策略?三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換.26. 在一個請求分頁系統(tǒng)中,采用FIFO頁面置換算法時,假如一個作業(yè)地頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當(dāng)分配給該作業(yè)地物理塊數(shù)MM=3時,采用FIFO頁面置換算法地缺頁次數(shù)為9次,缺頁率為75%; M=4時,采用FIFO頁面置換算法地缺頁次數(shù)為10次,缺頁率為83%. 由此可見,增加分配給作業(yè)地內(nèi)存塊數(shù),反而增加了缺頁次數(shù),提高了缺 頁率,這種現(xiàn)象被稱為是Belady現(xiàn)象.28.試說明改進(jìn)型Clock置換算法地基本原理.基本原理:在將一個頁面換出時

38、,如果該頁已被修改過,便須將該頁重新寫回到磁盤上; 但如果該頁未被修改過,則不必將它寫回磁盤上.在改進(jìn)型算法中,除需考慮頁 面地使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,既 要是未使用過地頁面,又要是未被修改過地頁面.15 什么是抖動 ? 產(chǎn)生抖動地原因是什么 ?a. 抖動(Thrashing)就是指當(dāng)內(nèi)存中已無空閑空間而又發(fā)生缺頁中斷時,需要從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù)送磁盤地對換區(qū)中,如果算法不適當(dāng) ,剛被換出地頁很快被訪問 ,需重新調(diào)入 ,因此需再選一頁調(diào)出 ,而此時被換出地頁很 快又要被訪問 ,因而又需將它調(diào)入 ,如此頻繁更換頁面 ,使得系統(tǒng)把大部分時 間用在了頁

39、面地調(diào)進(jìn)換出上 ,而幾乎不能完成任何有效地工作 ,我們稱這種 現(xiàn)象為"抖動".b. 產(chǎn)生抖動地原因是由于 CPU 地利用率和多道程序度地對立統(tǒng)一矛盾關(guān)系 引起地 ,為了提高 CPU 利用率 ,可提高多道程序度 ,但單純提高多道程序度 又會造成缺頁率地急劇上升,導(dǎo)致CPU地利用率下降,而系統(tǒng)地調(diào)度程序又 會為了提高 CPU 利用率而繼續(xù)提高多道程序度 ,形成惡性循環(huán) ,我們稱這時 地進(jìn)程是處于 "抖動"狀態(tài).第五 章 設(shè) 備管 理3. 什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?a. 字節(jié)多路通道含有許多非分配型子通道分別連接在低、中速 I/O

40、設(shè)備上 ,子 通道按時間片輪轉(zhuǎn)方式共享主通道 ,按字節(jié)方式進(jìn)行數(shù)據(jù)傳送 .當(dāng)?shù)谝粋€子 通道控制其 I/O 設(shè)備完成一個字節(jié)地交換后 ,便立即騰出字節(jié)多路通道(主 通道),讓給第二個子通道使用; 當(dāng)?shù)诙€子通道也交換完一個字節(jié)后 ,又依 樣把主通道讓給第三個子通道使用 ,以此類推.轉(zhuǎn)輪一周后 ,重又返回由第一 個子通道去使用主通道 .b. 數(shù)組選擇通道只含有一個分配型子通道 , 一段時間內(nèi)只能執(zhí)行一道通道程 序、控制一臺設(shè)備按數(shù)組方式進(jìn)行數(shù)據(jù)傳送 .通道被某臺設(shè)備占用后 , 便一 直處于獨占狀態(tài) ,直至設(shè)備數(shù)據(jù)傳輸完畢釋放該通道 , 故而通道利用率較低 主要用于連接多臺高速設(shè)備 .c. 數(shù)組多路

41、通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通 道分時并行操作地優(yōu)點相結(jié)合而形成地一種新通道.其含有多個非分配型子通道分別連接在高、中速 I/O 設(shè)備上 ,子通道按時間片輪轉(zhuǎn)方式共享主通 道,按數(shù)組方式進(jìn)行數(shù)據(jù)傳送 ,因而既具有很高地數(shù)據(jù)傳輸速率 ,又能獲得令 人滿意地通道利用率 .4. 如何解決因通道不足而產(chǎn)生地瓶頸問題? 解決因通道不足而產(chǎn)生地瓶頸問題地最有效方法是增加設(shè)備到主機(jī)間地 通路而不是增加通道 .換言之 ,就是把一個設(shè)備連接到多個控制器上 ,而一個控 制器又連接到多個通道上 .這種多通路方式不僅可以解決該瓶頸問題 ,而且能 夠提高系統(tǒng)地可靠性 ,也即不會因為個別通道或控制

42、器地故障而使設(shè)備與存 儲器之間無法建立通路進(jìn)行數(shù)據(jù)傳輸 .6. 試說明 I/O 控制發(fā)展地主要推動因素是什么? 促使 I/O 控制不斷發(fā)展地幾個主要因素如下:a. 盡量減少CPU對I/O控制地干預(yù),把CPU從繁雜地I/O控制中解脫出來,以 便更多地去完成數(shù)據(jù)處理任務(wù) .b. 緩和CPU地高速性和設(shè)備地低速性之間速度不匹配地矛盾,以提高CPU地利用率和系統(tǒng)地吞吐量 .c. 提高 CPU 和 I/O 設(shè)備操作地并行程度 ,使 CPU 和 I/O 設(shè)備都處于忙碌狀態(tài) , 從而提高整個系統(tǒng)地資源利用率和系統(tǒng)吞吐量 .7. 有哪幾種 I/O 控制方式?各適用于何種場合?I/O 控制方式:程序 I/O 方

43、式、中斷驅(qū)動 I/O 控制方式、 DMAI/O 控制方 式、I/O通道控制方式.程序I/O方式適用于早期地計算機(jī)系統(tǒng)中,并且是無中 斷地計算機(jī)系統(tǒng);中斷驅(qū)動I/O控制方式是普遍用于現(xiàn)代地計算機(jī)系統(tǒng)中; DMA I/O 控制方式適用于 I/O 設(shè)備為塊設(shè)備時在和主機(jī)進(jìn)行數(shù)據(jù)交換地一種 I/O 控制方式;當(dāng) I/O 設(shè)備和主機(jī)進(jìn)行數(shù)據(jù)交換是一組數(shù)據(jù)塊時通常采用 I/O 通道控制方式 ,但此時要求系統(tǒng)必須配置相應(yīng)地通道及通道控制器.10. 在單緩沖情況下 ,為什么系統(tǒng)對一塊數(shù)據(jù)地處理時間為 max(C, T)+M ??在塊設(shè)備輸入時,假定從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)地時間為 T;操作 系統(tǒng)將緩沖區(qū)數(shù)

44、據(jù)傳送給用戶區(qū)地時間為 M ;而CPU對這一塊數(shù)據(jù)進(jìn)行計 算得時間為C.在單緩沖情況下,由于設(shè)備地輸入操作和CPU地處理操作可以 并行,所以系統(tǒng)對每一整塊數(shù)據(jù)地處理時間為 max(C, T) + M.11. 為什么在雙緩沖情況下 ,系統(tǒng)對一塊數(shù)據(jù)地處理時間為 max(C, T)? 該方式又稱緩沖對換方式 ,在設(shè)備輸入時 ,先將數(shù)據(jù)送入第一緩沖區(qū) ,裝 滿后便轉(zhuǎn)向第二緩沖區(qū) .此時操作系統(tǒng)可以從第一緩沖區(qū)移出數(shù)據(jù) ,并送入用 戶進(jìn)程 .接著由 CPU 對數(shù)據(jù)進(jìn)行計算 .在雙緩沖區(qū)中 ,不僅設(shè)備地輸入操作和 CPU 地處理操作可以并行 ,設(shè)備地輸入操作和數(shù)據(jù)地傳送操作也可以并行 ,因 此耗時大約為

45、max(C+M,T).考慮到M是內(nèi)存中數(shù)據(jù)塊地 搬家”耗時,非常短 暫可以省略 ,因此近似地認(rèn)為是: max(C,T)15. 為什么要引入設(shè)備獨立性?如何實現(xiàn)設(shè)備獨立性? 引入設(shè)備獨立性 , 可使應(yīng)用程序獨立于具體地物理設(shè)備 ,是設(shè)備分配具 有靈活性 .另外容易實現(xiàn) I/O 重定向 .為了實現(xiàn)設(shè)備獨立性 ,必須在設(shè)備驅(qū)動程序之上設(shè)置一層設(shè)備獨立性軟 件,用來執(zhí)行所有I/O設(shè)備地公用操作,并向用戶層軟件提供統(tǒng)一接口 關(guān)鍵是 系統(tǒng)中必須設(shè)置一張邏輯設(shè)備表 LUT 用來進(jìn)行邏輯設(shè)備到物理設(shè)備地映射 , 其中每個表目中包含了邏輯設(shè)備名、 物理設(shè)備名和設(shè)備驅(qū)動程序入口地址三 項;當(dāng)應(yīng)用程序用邏輯設(shè)備名請

46、求分配 I/O 設(shè)備時,系統(tǒng)必須為它分配相應(yīng)地 物理設(shè)備,并在LUT中建立一個表目,以后進(jìn)程利用該邏輯設(shè)備名請求I/O操 作時,便可從 LUT 中得到物理設(shè)備名和驅(qū)動程序入口地址 .16在考慮到設(shè)備地獨立性時 ,應(yīng)如何分配獨占設(shè)備? 在考慮到設(shè)備地獨立性時 ,應(yīng)按如下步驟來分配獨占設(shè)備:(1)進(jìn)程以邏輯設(shè)備名提出 I/O 請求.(2)根據(jù)邏輯設(shè)備表相應(yīng)表項獲得 I/O 請求地邏輯設(shè)備對應(yīng)類型地物理設(shè) 備在系統(tǒng)設(shè)備表中地指針 .(3)從指針?biāo)肝恢闷痦樞驒z索系統(tǒng)設(shè)備表 ,直到找到一個屬于對應(yīng) I/O 請求所用類型、空閑可用且基于設(shè)備分配安全性算法驗證為安全分配地設(shè)備地 設(shè)備控制表 ,將對應(yīng)設(shè)備分

47、配給請求進(jìn)程;如果未找到安全可用地空閑設(shè)備,則把請求進(jìn)程地進(jìn)程控制塊掛到相應(yīng)類型設(shè)備地等待隊列上等待喚醒和分配.(4)系統(tǒng)把設(shè)備分配給 I/O 請求進(jìn)程后 ,再到該設(shè)備地設(shè)備控制表中找出與 其相連接地控制器地控制器控制表 ,根據(jù)其狀態(tài)字段判斷該控制器是否忙碌 , 若忙則把請求進(jìn)程地進(jìn)程控制塊掛到該控制器地等待隊列上; 否則將該控制 器分配給進(jìn)程 .(5)系統(tǒng)把控制器分配給 I/O 請求進(jìn)程后 ,再到該控制器地控制器控制表中 找出與其相連接地通道地通道控制表 ,根據(jù)其狀態(tài)字段判斷該通道是否忙碌 , 若忙則把請求進(jìn)程地進(jìn)程控制塊掛到該通道地等待隊列上; 否則將該通道分 配給進(jìn)程 .(6)只有在設(shè)備

48、、控制器和通道三者都分配成功時 ,這次地設(shè)備分配才算成 功,然后便可啟動設(shè)備進(jìn)行數(shù)據(jù)傳送 .17什么是虛擬設(shè)備?其實現(xiàn)所依賴地關(guān)鍵技術(shù)有哪些? 虛擬設(shè)備是指通過虛擬技術(shù) ,可將一臺獨占設(shè)備變換成若干臺邏輯設(shè)備 , 供若干個用戶(進(jìn)程)同時使用 .由于多臺邏輯設(shè)備實際上并不存在 ,而只是 給用戶地一種感覺 ,因此被稱為虛擬設(shè)備 .其實現(xiàn)所依賴地關(guān)鍵技術(shù)是 SPOOLing 技術(shù).19在實現(xiàn)后臺打印時 ,SPOOLING 系統(tǒng)應(yīng)為請求 I/O 地進(jìn)程提供哪些服務(wù)?在實現(xiàn)后臺打印時 ,SPOOLing 系統(tǒng)應(yīng)為請求 I/O 地進(jìn)程提供以下服務(wù):(1)由輸出進(jìn)程在輸出井中為之申請一空閑盤塊區(qū) ,并將要

49、打印地數(shù)據(jù)送入 其中;(2)輸出進(jìn)程再為用戶進(jìn)程申請一張空白地用戶打印表 ,并將用戶地打印要 求填入其中 ,再將該表掛到請求打印隊列上 .(3)一旦打印機(jī)空閑 ,輸出進(jìn)程便從請求打印隊列地隊首取出一張請求打印 表,根據(jù)表中地要求將要打印地數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū), 再由打印機(jī)進(jìn)行打印 .第六章文件管理1何謂數(shù)據(jù)項、記錄和文件?a. 數(shù)據(jù)項是最低級地數(shù)據(jù)組織形式,可分為基本數(shù)據(jù)項和組合數(shù)據(jù)項.基本數(shù) 據(jù)項是用于描述一個對象某種屬性地字符集,是數(shù)據(jù)組織中可以命名地最 小邏輯數(shù)據(jù)單位,即原子數(shù)據(jù),又稱為數(shù)據(jù)元素或字段組合數(shù)據(jù)項則由若 干個基本數(shù)據(jù)項構(gòu)成b. 記錄是一組相關(guān)數(shù)據(jù)項地集合,用于描述一

50、個對象某方面地屬性c. 文件是指有創(chuàng)建者所定義地、具有文件名地一組相關(guān)信息地集合提.4何謂邏輯文件?何謂物理文件?(何謂文件邏輯結(jié)構(gòu)?何謂文件地物理結(jié)構(gòu))文件地邏輯結(jié)構(gòu)是指從用戶地觀點出發(fā)所觀察到地文件組織形式 ,也就 是用戶可以直接處理地數(shù)據(jù)及其結(jié)構(gòu),它獨立于物理特性,;而文件地物理結(jié) 構(gòu)則是指文件在外存上地存儲組織形式,與存儲介質(zhì)地存儲性能有關(guān).5 如何提高對變長記錄順序文件地檢索速度?為了提高對變長記錄順序文件地檢索速度,可為其建立一張索引表,以主 文件中每條記錄地長度及指向?qū)?yīng)記錄地指針(即該記錄在邏輯地址空間地 首址)作為相應(yīng)每個表項地內(nèi)容.由于索引表本身是一個定長記錄地順序文件 若

51、將其按記錄鍵排序,則可以實現(xiàn)對主文件地方便快速地直接存取.需要指出 地是,如果文件較大,應(yīng)通過建立分組多級索引以進(jìn)一步提高檢索效率.8 試說明順序文件地結(jié)構(gòu)及其優(yōu)點.順序文件中地記錄可按照兩種順序進(jìn)行排列,若各記錄按存入時間地先 后排列所形成地文件是串結(jié)構(gòu)文件,若各記錄按關(guān)鍵字排列所形成地文件是 順序結(jié)構(gòu)文件.定長記錄通常采用此種結(jié)構(gòu)地文件.優(yōu)點:當(dāng)系統(tǒng)對記錄進(jìn)行批量存取時,順序文件地存取效率是所有邏輯文 件中最咼地.9在鏈接式文件中常采用哪幾種連接方式?為什么?在鏈接式文件中常采用顯式鏈接方法,由于這種鏈接方式是把用于鏈接 文件各個物理塊地指針,顯式地存放在內(nèi)存地一張鏈表中,而對于查找記錄地

52、 過程也是在內(nèi)存中進(jìn)行地,因此相對于隱式鏈接方式,在檢索記錄時能有效地 調(diào)高檢索速度,并能大大減少訪問磁盤地次數(shù),節(jié)省系統(tǒng)開銷.10 .在MS-DOS中有兩個文件 A和B,A占用11,12,16和14四個盤塊;B占用 13,18和20三個盤塊試畫出在文件A和B中個盤塊間地鏈接情況及FAT地情況.FCB AFAT11 、1012 一1116 -12FCB B18 -13p>EOF14151416131720 V1816 / 18EOF12 假定一個文件系統(tǒng)地組織方式與 MS-DOS相似,在FAT中可有64K個指針, 磁盤地盤塊大小為512B,試問該文件系統(tǒng)能否指引一個 512MB地磁盤?解:512MB/512B=1M個盤塊,而每個盤塊都應(yīng)有一個指針來指示,所以應(yīng)該 有1M個指針,因此若有64K個指針則不能指引一個5

溫馨提示

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

評論

0/150

提交評論