2016新編《操作系統(tǒng)精髓與設(shè)計原理·第五版》復(fù)習(xí)題及答案_第1頁
2016新編《操作系統(tǒng)精髓與設(shè)計原理·第五版》復(fù)習(xí)題及答案_第2頁
2016新編《操作系統(tǒng)精髓與設(shè)計原理·第五版》復(fù)習(xí)題及答案_第3頁
2016新編《操作系統(tǒng)精髓與設(shè)計原理·第五版》復(fù)習(xí)題及答案_第4頁
2016新編《操作系統(tǒng)精髓與設(shè)計原理·第五版》復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 計算機系統(tǒng)概述1.1 列出并簡要地定義計算機的四個主要組成部分。主存儲器,存儲數(shù)據(jù)和程序;算術(shù)邏輯單元,能處理二進制數(shù)據(jù);控制單元,解讀存儲器中的指令并且使他們得到執(zhí)行;輸入/輸出設(shè)備,由控制單元管理。1.2 定義處理器寄存器的兩種主要類別。用戶可見寄存器:優(yōu)先使用這些寄存器,可以使機器語言或者匯編語言的程序員減少對主存儲器的訪問次數(shù)。對高級語言而言,由優(yōu)化編譯器負責(zé)決定把哪些變量應(yīng)該分配給主存儲器。一些高級語言,如c語言,允許程序言建議編譯器把哪些變量保存在寄存器中。控制和狀態(tài)寄存器:用以控制處理器的操作,且主要被具有特權(quán)的操作系統(tǒng)例程使用,以控制程序的執(zhí)行。1.3 一般而言,一條機

2、器指令能指定的四種不同操作是什么?處理器寄存器:數(shù)據(jù)可以從處理器傳送到存儲器,或者從存儲器傳送到處理器。處理器i/o:通過處理器和i/o模塊間的數(shù)據(jù)傳送,數(shù)據(jù)可以輸出到外部設(shè)備,或者從外部設(shè)備輸入數(shù)據(jù)。數(shù)據(jù)處理:處理器可以執(zhí)行很多關(guān)于數(shù)據(jù)的算術(shù)操作或邏輯操作??刂疲耗承┲噶羁梢愿淖儓?zhí)行順序。1.4 什么是中斷?中斷:其他模塊(i/o,存儲器)中斷處理器正常處理過程的機制。1.5 多中斷的處理方式是什么?處理多中斷有兩種方法。第一種方法是當(dāng)正在處理一個中斷時,禁止再發(fā)生中斷。第二種方法是定義中斷優(yōu)先級,允許高優(yōu)先級的中斷打斷低優(yōu)先級的中斷處理器的運行。1.6 內(nèi)存層次的各個元素間的特征是什么?存

3、儲器的三個重要特性是:價格,容量和訪問時間。1.7 什么是高速緩沖存儲器?高速緩沖存儲器是比主存小而快的存儲器,用以協(xié)調(diào)主存跟處理器,作為最近儲存地址的緩沖區(qū)。1.8 列出并簡要地定義i/o操作的三種技術(shù)??删幊蘨/o:當(dāng)處理器正在執(zhí)行程序并遇到與i/o相關(guān)的指令時,它給相應(yīng)的i/o模塊發(fā)布命令(用以執(zhí)行這個指令);在進一步的動作之前,處理器處于繁忙的等待中,直到該操作已經(jīng)完成。中斷驅(qū)動i/o:當(dāng)處理器正在執(zhí)行程序并遇到與i/o相關(guān)的指令時,它給相應(yīng)的i/o模塊發(fā)布命令,并繼續(xù)執(zhí)行后續(xù)指令,直到后者完成,它將被i/o模塊中斷。如果它對于進程等待i/o的完成來說是不必要的,可能是由于后續(xù)指令處于

4、相同的進程中。否則,此進程在中斷之前將被掛起,其他工作將被執(zhí)行。直接存儲訪問:dma模塊控制主存與i/o模塊間的數(shù)據(jù)交換。處理器向dma模塊發(fā)送一個傳送數(shù)據(jù)塊的請求,(處理器)只有當(dāng)整個數(shù)據(jù)塊傳送完畢后才會被中斷。1.9 空間局部性和臨時局部性間的區(qū)別是什么?空間局部性是指最近被訪問的元素的周圍的元素在不久的將來可能會被訪問。臨時局部性(即時間局部性)是指最近被訪問的元素在不久的將來可能會被再次訪問。1.10 開發(fā)空間局部性和時間局部性的策略是什么?空間局部性的開發(fā)是利用更大的緩沖塊并且在存儲器控制邏輯中加入預(yù)處理機制。時間局部性的開發(fā)是利用在高速緩沖存儲器中保留最近使用的指令及數(shù)據(jù),并且定義

5、緩沖存儲的優(yōu)先級。第2章 操作系統(tǒng)概述2.1 操作系統(tǒng)設(shè)計的三個目標(biāo)是什么?方便:操作系統(tǒng)使計算機更易于使用。有效:操作系統(tǒng)允許以更有效的方式使用計算機系統(tǒng)資源。擴展的能力:在構(gòu)造操作系統(tǒng)時,應(yīng)該允許在不妨礙服務(wù)的前提下有效地開發(fā)、測試和引進新的系統(tǒng)功能。2.2 什么是操作系統(tǒng)的內(nèi)核?內(nèi)核是操作系統(tǒng)最常使用的部分,它存在于主存中并在特權(quán)模式下運行,響應(yīng)進程調(diào)度和設(shè)備中斷。2.3 什么是多道程序設(shè)計?多道程序設(shè)計是一種處理操作,它在兩個或多個程序間交錯處理每個進程。2.4 什么是進程?進程是一個正在執(zhí)行的程序,它被操作系統(tǒng)控制和選擇。2.5 操作系統(tǒng)是怎么使用進程上下文的?執(zhí)行上下文又稱為進程狀

6、態(tài),是操作系統(tǒng)用來管理和控制所需的內(nèi)部數(shù)據(jù)。這種內(nèi)部信息和進程是分開的,因為操作系統(tǒng)信息不允許被進程直接訪問。上下文包括操作系統(tǒng)管理進程以及處理器正確執(zhí)行進程所需要的所有信息,包括各種處理器寄存器的內(nèi)容,如程序計數(shù)器和數(shù)據(jù)寄存器。它還包括操作系統(tǒng)使用的信息,如進程優(yōu)先級以及進程是否在等待特定i/o事件的完成。2.6 列出并簡要介紹操作系統(tǒng)的五種典型存儲管理職責(zé)。進程隔離:操作系統(tǒng)必須保護獨立的進程,防止互相干涉數(shù)據(jù)和存儲空間。自動分配和管理:程序應(yīng)該根據(jù)需要在存儲層次間動態(tài)的分配,分配對程序員是透明的。因此,程序員無需關(guān)心與存儲限制有關(guān)的問題,操作系統(tǒng)有效的實現(xiàn)分配問題,可以僅在需要時才給作業(yè)

7、分配存儲空間。2.7 解釋實地址和虛地址的區(qū)別。虛地址指的是存在于虛擬內(nèi)存中的地址,它有時候在磁盤中有時候在主存中。實地址指的是主存中的地址。2.8 描述輪循調(diào)度技術(shù)。輪循調(diào)度是一種調(diào)度算法,所有的進程存放在一個環(huán)形隊列中并按固定循序依次激活。因為等待一些事件(例如:等待一個子進程或一個i/o操作)的發(fā)生而不能被處理的進程將控制權(quán)交給調(diào)度器。2.9 解釋單體內(nèi)核和微內(nèi)核的區(qū)別。單體內(nèi)核是一個提供操作系統(tǒng)應(yīng)該提供的功能的大內(nèi)核,包括調(diào)度、文件系統(tǒng)、網(wǎng)絡(luò)、設(shè)備驅(qū)動程序、存儲管理等。內(nèi)核的所有功能成分都能夠訪問它的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和程序。典型情況下,這個大內(nèi)核是作為一個進程實現(xiàn)的,所有元素都共享相同的地

8、址空間。微內(nèi)核是一個小的有特權(quán)的操作系統(tǒng)內(nèi)核,只提供包括進程調(diào)度、內(nèi)存管理、和進程間通信等基本功能,要依靠其他進程擔(dān)當(dāng)起和操作系統(tǒng)內(nèi)核聯(lián)系作用。2.10 什么是多線程?多線程技術(shù)是指把執(zhí)行一個應(yīng)用程序的進程劃分成可以同時運行的多個線程。第3章 進程描述和控制3.1什么是指令跟蹤?指令跟蹤是指為該進程而執(zhí)行的指令序列。3.2通常那些事件會導(dǎo)致創(chuàng)建一個進程?新的批處理作業(yè);交互登錄;操作系統(tǒng)因為提供一項服務(wù)而創(chuàng)建;由現(xiàn)有的進程派生。(表3.1)3.3對于圖3.6中的進程模型,請簡單定義每個狀態(tài)。運行態(tài):該進程正在執(zhí)行。就緒態(tài):進程做好了準(zhǔn)備,只要有機會就開始執(zhí)行。阻塞態(tài):進程在某些事件發(fā)生前不能執(zhí)

9、行,如i/o操作完成。新建態(tài):剛剛創(chuàng)建的進程,操作系統(tǒng)還沒有把它加入到可執(zhí)行進程組中。退出態(tài):操作系統(tǒng)從可執(zhí)行進程組中釋放出的進程,或者是因為它自身停止了,或者是因為某種原因被取消。3.4搶占一個進程是什么意思?處理器為了執(zhí)行另外的進程而終止當(dāng)前正在執(zhí)行的進程,這就叫進程搶占。3.5什么是交換,其目的是什么?交換是指把主存中某個進程的一部分或者全部內(nèi)容轉(zhuǎn)移到磁盤。當(dāng)主存中沒有處于就緒態(tài)的進程時,操作系統(tǒng)就把一個阻塞的進程換出到磁盤中的掛起隊列,從而使另一個進程可以進入主存執(zhí)行。3.6為什么圖3.9(b)中有兩個阻塞態(tài)?有兩個獨立的概念:進程是否在等待一個事件(阻塞與否)以及進程是否已經(jīng)被換出主

10、存(掛起與否)。為適應(yīng)這種2*2的組合,需要兩個阻塞態(tài)和兩個掛起態(tài)。3.7列出掛起態(tài)進程的4個特點。1.進程不能立即執(zhí)行。2.進程可能是或不是正在等待一個事件。如果是,阻塞條件不依賴于掛起條件,阻塞事件的發(fā)生不會使進程立即被執(zhí)行。3.為了阻止進程執(zhí)行,可以通過代理把這個進程置于掛起態(tài),代理可以是進程自己,也可以是父進程或操作系統(tǒng)。4.除非代理顯式地命令系統(tǒng)進行狀態(tài)轉(zhuǎn)換,否則進程無法從這個狀態(tài)中轉(zhuǎn)移。3.8對于哪類實體,操作系統(tǒng)為了管理它而維護其信息表?內(nèi)存、i/o、文件和進程。3.9列出進程控制塊中的三類信息。進程標(biāo)識,處理器狀態(tài)信息,進程控制信息。3.10為什么需要兩種模式(用戶模式和內(nèi)核模

11、式)?用戶模式下可以執(zhí)行的指令和訪問的內(nèi)存區(qū)域都受到限制。這是為了防止操作系統(tǒng)受到破壞或者修改。而在內(nèi)核模式下則沒有這些限制,從而使它能夠完成其功能。3.11操作系統(tǒng)創(chuàng)建一個新進程所執(zhí)行的步驟是什么?1.給新進程分配一個唯一的進程標(biāo)識號。2.給進程分配空間。3.初始化進程控制塊。4.設(shè)置正確的連接。5.創(chuàng)建或擴充其他的數(shù)據(jù)結(jié)構(gòu)。3.12中斷和陷阱有什么區(qū)別?中斷與當(dāng)前正在運行的進程無關(guān)的某些類型的外部事件相關(guān),如完成一次i/o操作。陷阱與當(dāng)前正在運行的進程所產(chǎn)生的錯誤或異常條件相關(guān),如非法的文件訪問。3.13舉出中斷的三個例子。時鐘終端,i/o終端,內(nèi)存失效。3.14模式切換和進程切換有什么區(qū)

12、別?發(fā)生模式切換可以不改變當(dāng)前正處于運行態(tài)的進程的狀態(tài)。發(fā)生進程切換時,一個正在執(zhí)行的進程被中斷,操作系統(tǒng)指定另一個進程為運行態(tài)。進程切換需要保存更多的狀態(tài)信息。第4章 線程、對稱多處理和微內(nèi)核4.1表3.5列出了在一個沒有線程的操作系統(tǒng)中進程控制塊的基本元素。對于多線程系統(tǒng),這些元素中那些可能屬于線程控制塊,那些可能屬于進程控制塊?這對于不同的系統(tǒng)來說通常是不同的,但一般來說,進程是資源的所有者,而每個線程都有它自己的執(zhí)行狀態(tài)。關(guān)于表3.5中的每一項的一些結(jié)論如下:進程標(biāo)識:進程必須被標(biāo)識,而進程中的每一個線程也必須有自己的id。處理器狀態(tài)信息:這些信息通常只與進程有關(guān)。進程控制信息:調(diào)度和

13、狀態(tài)信息主要處于線程級;數(shù)據(jù)結(jié)構(gòu)在兩級都可出現(xiàn);進程間通信和線程間通信都可以得到支持;特權(quán)在兩級都可以存在;存儲管理通常在進程級;資源信息通常也在進程級。4.2請列出線程間的模式切換比進程間的模式切換開銷更低的原因。包含的狀態(tài)信息更少。4.3在進程概念中體現(xiàn)出的兩個獨立且無關(guān)的特點是什么?資源所有權(quán)和調(diào)度/執(zhí)行。4.4給出在單用戶多處理系統(tǒng)中使用線程的四個例子。前臺和后臺操作,異步處理,加速執(zhí)行和模塊化程序結(jié)構(gòu)。4.5哪些資源通常被一個進程中的所有線程共享?例如地址空間,文件資源,執(zhí)行特權(quán)等。4.6列出用戶級線程優(yōu)于內(nèi)核級線程的三個優(yōu)點。1.由于所有線程管理數(shù)據(jù)結(jié)構(gòu)都在一個進程的用戶地址空間中

14、,線程切換不需要內(nèi)核模式的特權(quán),因此,進程不需要為了線程管理而切換到內(nèi)核模式,這節(jié)省了在兩種模式間進行切換(從用戶模式到內(nèi)核模式;從內(nèi)核模式返回用戶模式)的開銷。2.調(diào)用可以是應(yīng)用程序?qū)S玫?。一個應(yīng)用程序可能傾向于簡單的輪詢調(diào)度算法,而另一個應(yīng)用程序可能傾向于基于優(yōu)先級的調(diào)度算法。調(diào)度算法可以去適應(yīng)應(yīng)用程序,而不會擾亂底層的操作系統(tǒng)調(diào)度器。3.用戶級線程可以在任何操作系統(tǒng)中運行,不需要對底層內(nèi)核進行修改以支持用戶級線程。線程庫是一組供所有應(yīng)用程序共享的應(yīng)用級軟件包。4.7列出用戶級線程相對于內(nèi)核級線程的兩個缺點。1.在典型的操作系統(tǒng)中,許多系統(tǒng)調(diào)用都會引起阻塞。因此,當(dāng)用戶級線程執(zhí)行一個系統(tǒng)調(diào)

15、用時,不僅這個線程會被阻塞,進程中的所有線程都會被阻塞。2.在純粹的用戶級進程策略中,一個多線程應(yīng)用程序不能利用多處理技術(shù)。內(nèi)核一次只把一個進程分配給一個處理器,因此一次進程中只能有一個線程可以執(zhí)行。4.8定義jacketing。jacketing通過調(diào)用一個應(yīng)用級的i/o例程來檢查i/o設(shè)備的狀態(tài),從而將一個產(chǎn)生阻塞的系統(tǒng)調(diào)用轉(zhuǎn)化為一個不產(chǎn)生阻塞的系統(tǒng)調(diào)用。4.9簡單定義圖4.8中列出的各種結(jié)構(gòu)。simd:一個機器指令控制許多處理部件步伐一致地同時執(zhí)行。每個處理部件都有一個相關(guān)的數(shù)據(jù)存儲空間,因此,每條指令由不同的處理器在不同的數(shù)據(jù)集合上執(zhí)行。mimd:一組處理器同時在不同的數(shù)據(jù)集上執(zhí)行不同

16、的指令序列。主/從:操作系統(tǒng)內(nèi)核總是在某個特定的處理器上運行,其他處理器只用于執(zhí)行用戶程序,還可能執(zhí)行一些操作系統(tǒng)實用程序。smp:內(nèi)核可以在任何處理器上執(zhí)行,并且通常是每個處理器從可用的進程或線程池中進行各自的調(diào)度工作。集群:每個處理器都有一個專用存儲器,而且每個處理部件都是一個獨立的計算機。4.10 列出smp操作系統(tǒng)的主要設(shè)計問題。同時的并發(fā)進程或線程,調(diào)度,同步,存儲器管理,可靠性和容錯。4.11 給出在典型的單體結(jié)構(gòu)操作系統(tǒng)中可以找到且可能是微內(nèi)核操作系統(tǒng)外部子系統(tǒng)中的服務(wù)和功能。設(shè)備驅(qū)動程序,文件系統(tǒng),虛存管理程序,窗口系統(tǒng)和安全服務(wù)。4.12 列出并簡單解釋微內(nèi)核設(shè)計相對于整體式

17、設(shè)計的七個優(yōu)點。一致接口:進程不需要區(qū)分是內(nèi)核級服務(wù)還是用戶級服務(wù),因為所有服務(wù)都是通過消息傳遞提供的??蓴U展性:允許增加新的服務(wù)以及在同一個功能區(qū)域中提供多個服務(wù)。靈活性:不僅可以在操作系統(tǒng)中增加新功能,還可以刪減現(xiàn)有的功能,以產(chǎn)生一個更小、更有效的實現(xiàn)??梢浦残裕核谢蛘咧辽俅蟛糠痔幚砥鲗S么a都在微內(nèi)核中。因此,當(dāng)把系統(tǒng)移植到一個處理器上時只需要很少的變化,而且易于進行邏輯上的歸類??煽啃裕盒〉奈?nèi)核可以被嚴格地測試,它使用少量的應(yīng)用程序編程接口(api),這就為內(nèi)核外部的操作系統(tǒng)服務(wù)產(chǎn)生高質(zhì)量的代碼提供了機會。分布式系統(tǒng)支持:微內(nèi)核通信中消息的方向性決定了它對分布式系統(tǒng)的支持。面向?qū)ο?/p>

18、操作系統(tǒng)環(huán)境:在微內(nèi)核設(shè)計和操作系統(tǒng)模塊化擴展的開發(fā)中都可以借助面向?qū)ο蠓椒ǖ脑怼?.13 解釋微內(nèi)核操作系統(tǒng)可能存在的性能缺點。通過微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費的時間比一次系統(tǒng)調(diào)用的時間要多。4.14 列出即使在最小的微內(nèi)核操作系統(tǒng)中也可以找到的三個功能。低級存儲器管理,進程間通信(ipc)以及i/o和中斷管理。4.15 在微內(nèi)核操作系統(tǒng)中,進程或線程間通信的基本形式是什么?消息。第5章 并發(fā)性:互斥和同步5.1 列出與并發(fā)相關(guān)的四種設(shè)計問題進程間的交互,共享資源之間的競爭,多個進程的同步問題,對進程的處理器時間分配問題5.2 列出并發(fā)的三種上下文多個應(yīng)用程序,結(jié)構(gòu)化應(yīng)用程序

19、,操作系統(tǒng)結(jié)構(gòu)5.3 執(zhí)行并發(fā)進程的最基本要求是什么?加強互斥的能力5.4 列出進程間的三種互相知道的程度,并簡單地給出各自的定義。進程間互相不知道對方:這是一些獨立的進程,他們不會一起工作。進程間間接知道對方:這些進程并不需要知道對方的進程id號,但他們共享訪問某些對象,如一個i/o緩沖區(qū)。進程間直接知道對方:這些進程可以通過進程id號互相通信,用于合作完成某些活動。5.5 競爭進程和合作進程進程間有什么區(qū)別。競爭進程需要同時訪問相同的資源,像磁盤,文件或打印機。合作進程要么共享訪問一個共有的資源,像一個內(nèi)存訪問區(qū),要么就與其他進程相互通信,在一些應(yīng)用程序或活動上進行合作。5.6 列出與競爭

20、進程相關(guān)的三種控制問題,并簡單地給出各自的定義?;コ猓焊偁庍M程僅可以訪問一個臨界資源(一次僅有一個進程可以訪問臨界資源),并發(fā)機制必須滿足一次只有一個進程可以訪問臨界資源這個規(guī)則。死鎖:如果競爭進程需要唯一的訪問多于一個資源,并且當(dāng)一個進程控制著一個進程,且在等待另一個進程,死鎖可能發(fā)生。饑餓:一組進程的一個可能會無限期地拒絕進入到一個需要資源,因為其他成員組成壟斷這個資源。5.7 列出對互斥的要求。1.必須強制實施互斥:在具有關(guān)于相同資源或共享對象的臨界區(qū)的所有進程中,一次只允許一個進程進入臨界區(qū)。2.一個在臨界區(qū)停止的進程必須不干涉其他進程。3.絕不允許出現(xiàn)一個需要訪問臨界區(qū)的進程被無限延

21、遲的情況,即不會餓死或饑餓。4.當(dāng)沒有進程在臨界區(qū)中時,任何需要進入臨界區(qū)的進程必須能夠立即進入。5.對相關(guān)進程的速度和處理器的數(shù)目沒有任何要求和限制。6.一個進程駐留在臨界區(qū)中的時間是有限的。5.8 在信號量上可以執(zhí)行什么操作。1.一個信號量可以初始化成非負數(shù)。2.wait操作使信號量減1,如果值為負數(shù),那么進程執(zhí)行wait就會受阻。3signal操作使信號量增加1,如果小于或等于0,則被wait操作阻塞的進程被解除阻塞。5.9 二元信號量與一般信號量有什么區(qū)別。二元信號量只能取0或1,而一般信號量可以取任何整數(shù)。5.10 強信號量與弱信號量有什么區(qū)別。強信號量要求在信號量上等待的進程按照先

22、進先出的規(guī)則從隊列中移出。弱信號量沒有此規(guī)則。5.11 .什么是管程。管程是由一個或多個過程,一個初始化序列和局部數(shù)據(jù)組成的軟件模塊。5.12 對于消息,有阻塞和無阻塞有什么區(qū)別?發(fā)送者和接收者任一方阻塞則消息傳遞需要等待,都無阻塞則不需等待。5.13 通常與讀者-寫者問題相關(guān)聯(lián)的有哪些條件?1.任意多的讀進程可以同時讀這個文件2.一次只有一個寫進程可以往文件中寫3.如果一個寫進程正在往文件中寫時,則禁止任何讀進程讀文件。第6章 并發(fā)性:死鎖和饑餓6.1 給出可重用資源和可消費資源的例子??芍赜觅Y源:處理器,/通道,主存和輔存,設(shè)備以及諸如文件,數(shù)據(jù)庫和信號量之類的數(shù)據(jù)結(jié)構(gòu)??上M資源:中斷,

23、信號,消息和/緩沖區(qū)中的信息。6.2 可能發(fā)生死鎖所必須的三個條件是什么?互斥,占有且等待,非搶占。6.3 產(chǎn)生死鎖的第個條件是什么?循環(huán)等待。6.4 如何防止占有且等待的條件?可以要求進程一次性地請求所有需要的資源,并且阻塞這個資源直到所有請求都同時滿足。6.5 給出防止無搶占條件的兩種方法。第一種,如果占有某些資源的一個進程進行進一步資源請求被拒絕,則該進程必須釋放它最初占用的資源,如果有必要,可再次請求這些資源和另外的資源。第二種,如果一個進程請求當(dāng)前被另一個進程占有的一個資源,則操作系統(tǒng)可以搶占另一個進程,要求它釋放資源。6.6 如何防止循環(huán)等待條件?可以通過定義資源類型的線性順序來預(yù)

24、防。如果一個進程已經(jīng)分配到了類型的資源,那么它接下來請求的資源只能是那些排在類型之后的資源類型。6.7 死鎖避免,檢測和預(yù)防之間的區(qū)別是什么?死鎖預(yù)防是通過間接地限制三種死鎖必要條件的至少一個或是直接地限制循環(huán)等待的發(fā)生來避免死鎖的出現(xiàn)。死鎖避免允許可能出現(xiàn)的必要條件發(fā)生,但是采取措施確保不會出現(xiàn)死鎖的情況。而死鎖檢測允許資源的自由分配,采取周期性的措施來發(fā)現(xiàn)并處理可能存在的死鎖情況。第7章 內(nèi)存管理7.1 內(nèi)存管理需要滿足哪些需求?重定位、保護、共享、邏輯組織和物理組織。7.2 為什么需要重定位進程的能力?通常情況下,并不能事先知道在某個程序執(zhí)行期間會有哪個程序駐留在主存中。此外還希望通過提

25、供一個巨大的就緒進程池,能夠把活動進程換入和換出主存,以便使處理器的利用率最大化。在這兩種情況下,進程在主存中的確切位置是不可預(yù)知的。7.3 為什么不可能在編譯時實施內(nèi)存保護?由于程序在主存中的位置是不可預(yù)測的,因而在編譯時不可能檢查絕對地址來確保保護。并且,大多數(shù)程序設(shè)計語言允許在運行時進行地址的動態(tài)計算(例如,通過計算數(shù)組下標(biāo)或數(shù)據(jù)結(jié)構(gòu)中的指針)。因此,必須在運行時檢查進程產(chǎn)生的所有存儲器訪問,以便確保它們只訪問了分配給該進程的存儲空間。7.4 允許兩個或多個進程訪問進程的某一特定區(qū)域的原因是什么?如果許多進程正在執(zhí)行同一程序,則允許每個進程訪問該程序的同一個副本要比讓每個進程有自己單獨的

26、副本更有優(yōu)勢。同樣,合作完成同一任務(wù)的進程可能需要共享訪問同一個數(shù)據(jù)結(jié)構(gòu)。7.5 在固定分區(qū)方案中,使用大小不等的分區(qū)有什么好處?通過使用大小不等的固定分區(qū):1.可以在提供很多分區(qū)的同時提供一到兩個非常大的分區(qū)。大的分區(qū)允許將很大的進程全部載入主存中。2.由于小的進程可以被放入小的分區(qū)中,從而減少了內(nèi)部碎片。7.6 內(nèi)部碎片和外部碎片有什么區(qū)別?內(nèi)部碎片是指由于被裝入的數(shù)據(jù)塊小于分區(qū)大小而導(dǎo)致的分區(qū)內(nèi)部所浪費的空間。外部碎片是與動態(tài)分區(qū)相關(guān)的一種現(xiàn)象,它是指在所有分區(qū)外的存儲空間會變成越來越多的碎片的。7.7 邏輯地址、相對地址和物理地址間有什么區(qū)別?邏輯地址是指與當(dāng)前數(shù)據(jù)在內(nèi)存中的物理分配地

27、址無關(guān)的訪問地址,在執(zhí)行對內(nèi)存的訪問之前必須把它轉(zhuǎn)化成物理地址。相對地址是邏輯地址的一個特例,是相對于某些已知點(通常是程序的開始處)的存儲單元。物理地址或絕對地址是數(shù)據(jù)在主存中的實際位置。7.8 頁和幀之間有什么區(qū)別?在分頁系統(tǒng)中,進程和磁盤上存儲的數(shù)據(jù)被分成大小固定相等的小塊,叫做頁。而主存被分成了同樣大小的小塊,叫做幀。一頁恰好可以被裝入一幀中。7.9 頁和段之間有什么區(qū)別?分段是細分用戶程序的另一種可選方案。采用分段技術(shù),程序和相關(guān)的數(shù)據(jù)被劃分成一組段。盡管有一個最大段長度,但并不需要所有的程序的所有段的長度都相等。第8章 虛擬內(nèi)存8.1 簡單分頁與虛擬分頁有什么區(qū)別?簡單分頁:一個程

28、序中的所有的頁都必須在主存儲器中程序才能正常運行,除非使用覆蓋技術(shù)。擬內(nèi)存分頁:不是程序的每一頁都必須在主存儲器的幀中來使程序運行,頁在需要的時候進行讀取。8.2 解釋什么是抖動。虛擬內(nèi)存結(jié)構(gòu)的震動現(xiàn)象,在這個過程中處理器大部分的時間都用于交換塊,而不是執(zhí)行指令。8.3 為什么在使用虛擬內(nèi)存時,局部性原理是至關(guān)重要的?可以根據(jù)局部性原理設(shè)計算法來避免抖動??偟膩碚f,局部性原理允許算法預(yù)測哪一個當(dāng)前頁在最近的未來是最少可能被使用的,并由此就決定候選的替換出的頁。8.4 哪些元素是頁表項中可以找到的元素?簡單定義每個元素。幀號:用來表示主存中的頁來按順序排列的號碼。存在位(p):表示這一頁是否當(dāng)前

29、在主存中。修改位(m):表示這一頁在放進主存后是否被修改過。8.5 轉(zhuǎn)移后備緩沖器的目的是什么?轉(zhuǎn)移后備緩沖器(tlb)是一個包含最近經(jīng)常被使用過的頁表項的高速緩沖存儲器。它的目的是為了減少從磁盤中恢復(fù)一個頁表項所需的時間。8.6 簡單定義兩種可供選擇的頁讀取策略。在請求式分頁中,只有當(dāng)訪問到某頁中的一個單元時才將該頁取入主存。在預(yù)約式分頁中,讀取的并不是頁錯誤請求的頁。8.7 駐留集管理和頁替換策略有什么區(qū)別?駐留集管理主要關(guān)注以下兩個問題:(1)給每個活動進程分配多少個頁幀。(2)被考慮替換的頁集是僅限在引起頁錯誤的進程的駐留集中選擇還是在主存中所有的頁幀中選擇。頁替換策略關(guān)注的是以下問題

30、:在考慮的頁集中,哪一個特殊的頁應(yīng)該被選擇替換。8.8 fifo和clock頁替換算法有什么區(qū)別?時鐘算法與fifo算法很接近,除了在時鐘算法中,任何一個使用位為一的頁被忽略。8.9 頁緩沖實現(xiàn)的是什么?(1)被替換出駐留集的頁不久又被訪問到時,仍在主存中,減少了一次磁盤讀寫。(2)被修改的頁以簇的方式被寫回,而不是一次只寫一個,這就大大減少了i/o操作的數(shù)目,從而減少了磁盤訪問的時間。8.10 為什么不可能把全局替換策略和固定分配策略組合起來?固定分配策略要求分配給一個進程的幀的數(shù)目是確定的,當(dāng)一個進程中取入一個新的頁時,這個進程駐留頁集中的一頁必須被替換出來(保持分配的幀的數(shù)目不變),這是

31、一種局部替換策略。8.11 駐留集和工作集有什么區(qū)別?一個進程的駐留集是指當(dāng)前在主存中的這個進程的頁的個數(shù)。一個進程的工作集是指這個進程最近被使用過的頁的個數(shù)。8.12 請求式清除和預(yù)約式清除有什么區(qū)別?在請求式清除中,只有當(dāng)一頁被選擇用于替換時才被寫回輔存;在預(yù)約式清除中,將這些被修改的多個頁在需要用到它們所占據(jù)的頁幀之前成批的寫回輔存。第9章 單處理器調(diào)度9.1 簡要描述三種類型的處理器調(diào)度。長程調(diào)度:決定加入到待執(zhí)行的進程池中;中程調(diào)度:決定加入到部分或全部在主存中的進程集合中;短程調(diào)度:決定哪一個可用進程將被處理器執(zhí)行。9.2 在交互式操作系統(tǒng)中,通常最重要的性能要求是什么?反應(yīng)時間9

32、.3 周轉(zhuǎn)時間和響應(yīng)時間有什么區(qū)別?周轉(zhuǎn)時間是一個要求花費在系統(tǒng)上的包括等待時間和服務(wù)時間的總的時間。響應(yīng)時間對一個交互進程,這是指從提交一個請求到開始接受響應(yīng)之間的時間間隔。通常進程在處理該請求的同時,就開始給用戶產(chǎn)生一些輸出。9.4 對進程調(diào)度,較小的優(yōu)先級值表示較低的優(yōu)先級還是較高的優(yōu)先級?在unix和許多其他系統(tǒng)中,大的優(yōu)先級值表示低優(yōu)先級進程。許多系統(tǒng),比如windows,剛好相反,大數(shù)值表示高優(yōu)先級。9.5 搶占式和非搶占式調(diào)度有什么區(qū)別?非搶占:在這種情況下,一旦進程處于運行態(tài),他就不斷執(zhí)行直到終止,或者為等待i/o或請求某些操作系統(tǒng)服務(wù)而阻塞自己。搶占:當(dāng)前正在運行的進程可能被

33、操作系統(tǒng)中斷,并轉(zhuǎn)移到就緒態(tài)。關(guān)于搶占的決策可能是在一個新進程到達時,或者在一個中斷發(fā)生后把一個被阻塞的進程置為就緒態(tài)時,或者基于周期性的時間中斷。9.6 簡單定義fcfs調(diào)度。當(dāng)每個進程就緒后,它加入就緒隊列。當(dāng)當(dāng)前正在運行的進程停止執(zhí)行時,選擇在就緒隊列中存在時間最長的進程運行。9.7 簡單定義輪轉(zhuǎn)調(diào)度以一個周期性間隔產(chǎn)生時鐘中斷,當(dāng)中斷產(chǎn)生時,當(dāng)前正在運行的的進程被置于就緒隊列中,然后基于fcfs策略選擇下一個就緒作業(yè)運行。9.8 簡單定義最短進程優(yōu)先調(diào)度。這是一個非搶占的策略,其原則是下一次選擇所需處理時間最短的進程。9.9 簡單定義最短剩余時間調(diào)度。最短剩余時間是針對spn增加了搶占

34、機制的版本。在這種情況下,調(diào)度器總是選擇預(yù)期剩余時間最短的進程。當(dāng)一個新進程加入到就緒隊列時,他可能比當(dāng)前運行的進程具有更短的剩余時間,因此,只有新進程就緒,調(diào)度器就可能搶占當(dāng)前正在運行的進程。9.10 簡單定義最高響應(yīng)比優(yōu)先調(diào)度。在當(dāng)前進程完成或被阻塞時,選擇r值最大的就緒進程。r=(w+s)/s,w等待處理器的時間,s期待的服務(wù)時間。9.1 1簡單定義反饋調(diào)度。調(diào)度基于搶占原則并且使用動態(tài)優(yōu)先級機制。當(dāng)一個進程第一次進入系統(tǒng)時,它被放置在rq0。當(dāng)它第一次被搶占后并返回就緒狀態(tài)時,它被防止在rq1。在隨后的時間里,每當(dāng)它被搶占時,它被降級到下一個低優(yōu)先級隊列中。一個短進程很快會執(zhí)行完,不會

35、在就緒隊列中降很多級。一個長進程會逐級下降。因此,新到的進程和短進程優(yōu)先于老進程和長進程。在每個隊列中,除了在優(yōu)先級最低的隊列中,都使用簡單的fcfs機制。一旦一個進程處于優(yōu)先級最低的隊列中,它就不可能再降低,但是會重復(fù)地返回該隊列,直到運行結(jié)束。第10章 多處理器和實時調(diào)度10.1 列出并簡單定義五種不同級別的同步粒度。細粒度:單指令流中固有的并行;中等粒度:在一個單獨應(yīng)用中的并行處理或多任務(wù)處理;粗粒度:在多道程序環(huán)境中并發(fā)進程的多處理;非常粗粒度:在網(wǎng)絡(luò)節(jié)點上進行分布處理,以形成一個計算環(huán)境;無約束粒度:多個無關(guān)進程。10.2 列出并簡單定義線程調(diào)度的四種技術(shù)。加載共享:進程不是分配到一

36、個特定的處理器,而是維護一個就緒進程的全局隊列,每個處理器只要空閑就從隊列中選擇一個線程。這里使用術(shù)語加載共享來區(qū)分這種策略和加載平衡方案,加載平衡是基于一種比較永久的分配方案分配工作的。組調(diào)度:一組相關(guān)的線程基于一對一的原則,同時調(diào)度到一組處理器上運行。專用處理器分配:在程序執(zhí)行過程中,每個程序被分配給一組處理器,處理器的數(shù)目與程序中的線程的數(shù)目相等。當(dāng)程序終止是,處理器返回到總的處理器池中,可供分配給另一個程序。動態(tài)調(diào)度:在執(zhí)行期間,進程中線程的數(shù)目可以改變。10.3 列出并簡單定義三種版本的負載分配。先來先服務(wù)(fcfs):當(dāng)一個作業(yè)到達時,它的所有線程都被連續(xù)地放置在共享隊列末尾。當(dāng)一

37、個處理器變得空閑時,它選擇下一個就緒線程執(zhí)行,直到完成或阻塞。最少線程數(shù)優(yōu)先:共享就緒隊列被組織成一個優(yōu)先級隊列,如果一個作業(yè)包含的未調(diào)度線程數(shù)目最少,則給它指定最高的優(yōu)先級。具有同等優(yōu)先級的隊列按作業(yè)到達的順序排隊。和fcfs一樣,被調(diào)度的線程一直運行到完成或阻塞。可搶占的最少線程數(shù)優(yōu)先:最高的的優(yōu)先級給予包含的未被調(diào)度的線程數(shù)目最少的作業(yè)。剛到達的作業(yè)如果包含的線程數(shù)目少于正在執(zhí)行的作業(yè),它將搶占屬于這個被調(diào)度作業(yè)的線程。10. 硬實時任務(wù)和軟實時任務(wù)有什么區(qū)別?硬實時任務(wù)指必須滿足最后期限的限制,否則會給系統(tǒng)帶來不可接受的破壞或者致命的錯誤。軟實時任務(wù)也有一個與之相關(guān)聯(lián)的最后期限,并希望

38、能滿足這個期限的要求,但是這并不是強制的,即使超過了最后期限,調(diào)度和完成這個任務(wù)仍然是有意義的。10.5 周期性實時任務(wù)和非周期性實時任務(wù)有什么區(qū)別?非周期任務(wù)有一個必須結(jié)束或開始的最后期限,或者有一個關(guān)于開始時間和結(jié)束時間的約束。而對于周期任務(wù),這個要求描述成“每隔周期t一次”或“每隔t個單位”。10.6 列出并簡單定義對實時操作系統(tǒng)的五方面的要求??纱_定性:在某中程度上是指它可以按固定的、預(yù)先確定的時間或時間間隔執(zhí)行操作??身憫?yīng)性:它關(guān)注的是在知道中斷之后操作系統(tǒng)未中斷提供服務(wù)的時間用戶控制:用戶應(yīng)該能夠區(qū)分硬實時任務(wù)和軟實時任務(wù),并且在每一類中確定相對優(yōu)先級。實時系統(tǒng)還允許用戶指定一些特

39、性,例如使用分頁還是進程交換、哪一個進程必須常駐主存、使用何種磁盤算法、不同的優(yōu)先級的進程各有哪些權(quán)限等。可靠性 :可靠性必須提供這樣一種方式,以繼續(xù)滿足實時最后期限。故障弱化操作:故障弱化操作指系統(tǒng)在故障時盡可能多的保存其性能和數(shù)據(jù)的能力。10.7 列出并簡單定義四類實時調(diào)度算法。靜態(tài)表驅(qū)動法:執(zhí)行關(guān)于可行調(diào)度的靜態(tài)分析。分析的結(jié)果是一個調(diào)度,它用于確定在運行時一個任務(wù)何時必須開始執(zhí)行。靜態(tài)優(yōu)先級驅(qū)動搶占法:同樣,執(zhí)行一個靜態(tài)分析,但是沒有制定調(diào)度,而且用于給任務(wù)指定優(yōu)先級,使得可以使用傳統(tǒng)的優(yōu)先級驅(qū)動的搶占式調(diào)度器?;趧討B(tài)規(guī)劃調(diào)度法:在運行是動態(tài)地確定可行性,而不是在開始運行前離線的確定

40、(靜態(tài))。一個到達的任務(wù),只有當(dāng)能夠滿足它的時間約束時,才可以被接受執(zhí)行。可行性分析的結(jié)果是一個調(diào)度或規(guī)劃,可用于確定何時分派這個任務(wù)。動態(tài)盡力調(diào)度法:不執(zhí)行可行性分析。系統(tǒng)試圖滿足所有的最后期限,并終止任何已經(jīng)開始運行但錯過最后期限的進程。10.8 關(guān)于一個任務(wù)的哪些信息在實時調(diào)度是非常有用?就緒時間:任務(wù)開始準(zhǔn)備執(zhí)行的時間。對于重復(fù)或周期性的任務(wù),這實際上是一個事先知道的時間序列。而對于非周期性的任務(wù),或者也事先知道這個時間,或者操作系統(tǒng)僅僅知道什么時候任務(wù)真正就緒。啟動最后期限:任務(wù)必須開始的時間。完成最后期限:任務(wù)必須完成的時間。典型的實時應(yīng)用程序或者有啟動最后期限,或者有完成最后期限

41、,但不會兩者都存在。處理時間:從執(zhí)行任務(wù)直到完成任務(wù)所需的時間。在某些情況下,可以提供這個時間,而在另外一些情況下,操作系統(tǒng)度量指數(shù)平均值。其他調(diào)度系統(tǒng)沒有使用這個信息。資源需求:任務(wù)在執(zhí)行過程中所需的資源集合(處理器以外的資源)。優(yōu)先級:度量任務(wù)的相對重要性。硬實時任務(wù)可能具有絕對的優(yōu)先級,因為如果錯過最后期限則會導(dǎo)致系統(tǒng)失敗。如果系統(tǒng)無論如何也要繼續(xù)運行,則硬實時任務(wù)和軟實時任務(wù)可以被指定相關(guān)的優(yōu)先級,以指導(dǎo)調(diào)度器。子任務(wù)結(jié)構(gòu):一個任務(wù)可以分解成一個必須執(zhí)行的子任務(wù)和一個可選的子任務(wù)。只有必須執(zhí)行的子任務(wù)擁有硬最后期限。第11章 i/o管理和磁盤調(diào)度11.1 列出并簡單定義執(zhí)行i/o的三種

42、技術(shù)??删幊蘨/o:處理器代表進程給i/o模塊發(fā)送給一個i/o命令,該進程進入忙等待,等待操作的完成,然后才可以繼續(xù)執(zhí)行。中斷驅(qū)動i/o:處理器代表進程向i/o模塊發(fā)送一個i/o命令,然后繼續(xù)執(zhí)行后續(xù)指令,當(dāng)i/o模塊完成工作后,處理器被該模塊中斷。如果該進程不需要等待i/o完成,則后續(xù)指令可以仍是該進程中的指令,否則,該進程在這個中斷上被掛起,處理器執(zhí)行其他工作。直接存儲器訪問(dma):一個dma模塊控制主存和i/o模塊之間的數(shù)據(jù)交換。為傳送一塊數(shù)據(jù),處理器給dma模塊發(fā)送請求,只有當(dāng)整個數(shù)據(jù)塊傳送完成后,處理器才被中斷。11.2 邏輯i/o和設(shè)備i/o有什么區(qū)別?邏輯i/o:邏輯i/o模

43、塊把設(shè)備當(dāng)作一個邏輯資源來處理,它并不關(guān)心實際控制設(shè)備的細節(jié)。邏輯i/o模塊代表用戶進程管理的一般i/o功能,允許它們根據(jù)設(shè)備標(biāo)識符以及諸如打開、關(guān)閉、讀、寫之類的簡單命令與設(shè)備打交道。設(shè)備i/o:請求的操作和數(shù)據(jù)(緩沖的數(shù)據(jù)、記錄等)被轉(zhuǎn)換成適當(dāng)?shù)膇/o指令序列、通道命令和控制器命令。可以使用緩沖技術(shù),以提高使用率。11.3 面向塊的設(shè)備和面向流的設(shè)備有什么區(qū)別?請舉例說明。面向塊的設(shè)備將信息保存在塊中,塊的大小通常是固定的,傳輸過程中一次傳送一塊。通??梢酝ㄟ^塊號訪問數(shù)據(jù)。磁盤和磁帶都是面向塊的設(shè)備。面向流的設(shè)備以字節(jié)流的方式輸入輸出數(shù)據(jù),其末使用塊結(jié)構(gòu)。終端、打印機通信端口、鼠標(biāo)和其他指

44、示設(shè)備以及大多數(shù)非輔存的其他設(shè)備,都屬于面向流的設(shè)備。11.4 為什么希望用雙緩沖區(qū)而不是單緩沖區(qū)來提高i/o的性能?雙緩沖允許兩個操作并行處理,而不是依次處理。典型的,在一個進程往一個緩沖區(qū)中傳送數(shù)據(jù)(從這個緩沖區(qū)中取數(shù)據(jù))的同時,操作系統(tǒng)正在清空(或者填充)另一個緩沖區(qū)。11.5 在磁盤讀或?qū)憰r有哪些延遲因素?尋道時間,旋轉(zhuǎn)延遲,傳送時間11.6 簡單定義圖11.7中描述的磁盤調(diào)度策略。fifo:按照先來先服務(wù)的順序處理隊列中的項目。sstf:選擇使磁頭臂從當(dāng)前位置開始移動最少的磁盤i/o請求。scan:磁頭臂僅僅沿一個方向移動,并在途中滿足所有未完成的請求,直到它到達這個方向上最后一個磁

45、道,或者在這個方向上沒有其他請求為止。接著反轉(zhuǎn)服務(wù)方向,沿相反方向掃描,同樣按順序完成所有請求。c-scan:類似于scan,11.7 簡單定義圖7層raid。0:非冗余1:被鏡像;每個磁盤都有一個包含相同數(shù)據(jù)的鏡像磁盤。2:通過漢明碼實現(xiàn)冗余;對每個數(shù)據(jù)磁盤中的相應(yīng)都計算一個錯誤校正碼,并且這個碼位保存在多個奇偶校驗磁盤中相應(yīng)的文件。3:交錯位奇偶校驗;類似于第二層,不同之處在于raid3為所有數(shù)據(jù)磁盤中同一位置的位的集合計算一個簡單的奇偶校驗位,而不是錯誤校正碼。4:交錯塊分布奇偶校驗;對每個數(shù)據(jù)磁盤中相應(yīng)的條帶計算一個逐位奇偶。5:交錯塊分布奇偶校驗;類似于第四層,但把奇偶校驗條帶分布在

46、所有磁盤中。6:交錯塊雙重分布奇偶校驗;兩種不同的奇偶校驗計算保存在不同磁盤的不同塊中。11.8 典型的磁盤扇區(qū)大小是多少?512比特第12章 文件管理12.1 域和記錄有什么不同?域(field)是基本數(shù)據(jù)單位。一個域包含一個值。記錄(record)是一組相關(guān)的域的集合 ,它可以看做是應(yīng)用程序的一個單元。12.2 文件和數(shù)據(jù)庫有什么不同?文件(file)是一組相似記錄的集合,它被用戶和應(yīng)用程序看做是一個實體,并可以通過名字訪問。數(shù)據(jù)庫(database)是一組相關(guān)的數(shù)據(jù)集合,它的本質(zhì)特征是數(shù)據(jù)元素間存在著明確的關(guān)系,并且可供不同的應(yīng)用程序使用。12.3 什么是文件管理系統(tǒng)?文件管理系統(tǒng)是一組

47、系統(tǒng)軟件,為使用文件的用戶和應(yīng)用程序提供服務(wù)。12.4 選擇文件組織時的重要原則是什么?訪問快速,易于修改,節(jié)約存儲空間,維護簡單,可靠性。12.5 列出并簡單定義五種文件組織。堆是最簡單的文件組織形式。數(shù)據(jù)按它們到達的順序被采集,每個記錄由一串?dāng)?shù)據(jù)組成。順序文件是最常用的文件組織形式。在這類文件中,每個記錄都使用一種固定的格式。所有記錄都具有相同的長度,并且由相同數(shù)目、長度固定的域按特定的順序組成。由于每個域的長度和位置已知,因此只需要保存各個域的值,每個域的域名和長度是該文件結(jié)構(gòu)的屬性。索引順序文件保留了順序文件的關(guān)鍵特征:記錄按照關(guān)鍵域的順序組織起來。但它還增加了兩個特征:用于支持隨機訪

48、問的文件索引和溢出文件。索引提供了快速接近目標(biāo)記錄的查找能力。溢出文件類似于順序文件中使用的日志文件,但是溢出文件中的記錄可以根據(jù)它前面記錄的指針進行定位。索引文件:只能通過索引來訪問記錄。其結(jié)果是對記錄的放置位置不再有限制,只要至少有一個索引的指針指向這條記錄即可。此外,還可以使用長度可變的記錄。直接文件或散列文件:直接文件使用基于關(guān)鍵字的散列。12.6 為什么在索引順序文件中查找一個記錄的平均搜索時間小于在順序文件中的平均搜索時間?在順序文件中,查找一個記錄是按順序檢測每一個記錄直到有一個包含符合條件的關(guān)鍵域值的記錄被找到。索引順序文件提供一個執(zhí)行最小窮舉搜索的索引結(jié)構(gòu)。12.7 對目錄執(zhí)

49、行的典型操作有哪些?搜索,創(chuàng)建文件,刪除文件,顯示目錄,修改目錄。12.8 路徑名和工作目錄有什么關(guān)系?路徑名是由一系列從根目錄或主目錄向下到各個分支,最后直到該文件的路徑中的目錄名和最后到達的文件名組成。工作目錄是一個這樣的目錄,它是含有用戶正在使用的當(dāng)前目錄的樹形結(jié)構(gòu)。12.9 可以授予或拒絕的某個特定用戶對某個特定文件的訪問權(quán)限通常有哪些?無(none),知道(knowledge),執(zhí)行(execution),讀(reading),追加(appending),更新(updating),改變保護(changing protection),刪除(deletion)。12.10 列出并簡單定義

50、三種組塊方式。固定組塊(fixed blocking):使用固定長度的記錄,并且若干條完整的記錄被保存在一個塊中。在每個塊的末尾可能會有一些未使用的空間,稱為內(nèi)部碎片。可變長度跨越式組塊(variable-length spanned blocking):使用長度可變的記錄,并且緊縮到塊中,使得塊中沒有未使用空間。因此,某些記錄可能會跨越兩個塊,通過一個指向后繼塊的指針連接??勺冮L度非跨越式組塊(variable-length unspanned blocking):使用可變長度的記錄,但并不采用跨越的方式。如果下一條記錄比塊中剩余的未使用空間大,則無法使用這一部分,因此在大多數(shù)塊中都會有未使

51、用的空間。12.11 列出并簡單定義三種文件分配方法。連續(xù)分配是指在創(chuàng)建文件時,給文件分配一組連續(xù)的塊。鏈?zhǔn)椒峙浠趩蝹€的塊,鏈中的每一塊都包含指向下一塊的指針。索引分配:每個文件在文件分配表中有一個一級索引,分配給該文件的每個分區(qū)在索引中都有一個表項。第13章 網(wǎng) 絡(luò)13.1 網(wǎng)絡(luò)訪問層的主要功能是什么?網(wǎng)絡(luò)層主要關(guān)注在兩個端系統(tǒng)(服務(wù)器、工作站)之間的數(shù)據(jù)交換,以及端系統(tǒng)間的物理網(wǎng)絡(luò)。13.2 傳輸層的任務(wù)是什么?傳輸層關(guān)注的是數(shù)據(jù)的可靠性和保證數(shù)據(jù)能正確到達接收端應(yīng)用程序。13.3 什么是協(xié)議?協(xié)議是定義了用來管理兩個單元間進行數(shù)據(jù)交換的一系列規(guī)則的集合。13.4 什么是協(xié)議體系結(jié)構(gòu)?這

52、是一種實現(xiàn)通信功能的軟件結(jié)構(gòu)。典型地,協(xié)議結(jié)構(gòu)包含了一個分層化的協(xié)議集,并且每個層中有一個或多個協(xié)議。13.5 什么是tcp/ip?傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(tcp/ip)是兩個最初為網(wǎng)際互連提供低層支持而設(shè)計的協(xié)議。tcp/ip協(xié)也被廣泛應(yīng)用于涉及由美國防衛(wèi)部門和因特爾團體發(fā)展的比較廣泛的協(xié)議集。13.6 使用套接字接口的目的是什么?套接字接口是一個能夠編寫程序的api,從而利用tcp/ip 協(xié)議程序建立一個用戶端和服務(wù)器之間的通信。第14章 分布式處理、客戶/服務(wù)器和集群14.1 什么是客戶/服務(wù)器計算?客戶/服務(wù)器計算是一個網(wǎng)絡(luò)環(huán)境,在這個網(wǎng)絡(luò)環(huán)境中包含著客戶機和服務(wù)器,并由服務(wù)器來響應(yīng)

53、客戶機的請求。14.2 客戶/服務(wù)器計算與任何其他形式的分布式數(shù)據(jù)處理的區(qū)別是什么?1、在用戶的本地系統(tǒng)上為該用戶提供界面友好的應(yīng)用程序,這樣做可使系統(tǒng)具有更高的可靠性。這使得用戶可以在很大程度上控制對計算機的使用方式和時間,并使得部門級管理者具有響應(yīng)本地需求的能力。2、盡管應(yīng)用是分散開的,但仍然強調(diào)公司數(shù)據(jù)庫的集中以及很多網(wǎng)絡(luò)管理和使用功能的集中。這使公司的管理者能夠?qū)τ嬎阈畔⑾到y(tǒng)的投資總額進行總體控制,并提供互操作,以使多系統(tǒng)能夠配合起來。同時,減少了各部門和單位在維護這些復(fù)雜的計算機設(shè)施時的開銷,使他們能夠選擇他們需要的各種類型的機器和接口來訪問那些數(shù)據(jù)和信息。3、對于用戶組織和廠商來說

54、,他們有一個共同的承諾事項,即使系統(tǒng)開放和模塊化。這意味著用戶在選擇產(chǎn)品和混和使用來自眾多廠商的設(shè)備時具有很多選擇。4、網(wǎng)絡(luò)互聯(lián)是操作的基礎(chǔ),網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全在組織和操作信息系統(tǒng)中具有很高的優(yōu)先權(quán)。14.3 像tcp/ip這樣的通信結(jié)構(gòu)在客戶/服務(wù)器計算環(huán)境中的作用是什么?它是使客戶端和服務(wù)器能夠協(xié)同工作的通信軟件。14.4 討論將應(yīng)用程序定位在客戶上、服務(wù)器上或分開定位在客戶和服務(wù)器上的基本原理?;诜?wù)器的處理:這種配置的基本原理是用戶工作站最適宜于提供良好的用戶界面,并且數(shù)據(jù)庫和應(yīng)用程序很容易在中心系統(tǒng)上維護。盡管用戶獲得了良好界面的好處,但是,這種配置類型并不總能有效提高處理效率或系

55、統(tǒng)支持的實際商業(yè)功能上有本質(zhì)的改變?;诳蛻舻奶幚恚核褂脩裟軌蚴褂眠m應(yīng)本地需要的應(yīng)用。合作處理:這種配置類型可以比其他客戶/服務(wù)器方式為用戶提供更高的生產(chǎn)效率和更高的網(wǎng)絡(luò)效率。14.5 什么是胖客戶和瘦客戶,兩種方法在基本原理上的差別是什么?胖客戶:這是基于客戶的處理,而大部分的軟件都集中在客戶端。胖客戶模型的主要優(yōu)點是它充分利用了桌面功能,分擔(dān)了服務(wù)器上的應(yīng)用處理并使它們更加有效,不容易產(chǎn)生瓶頸。瘦客戶:這是基于服務(wù)器的處理,而大部分的軟件都集中在服務(wù)器。這種方式更近似地模擬了傳統(tǒng)的以主機為中心的方式,常常是使將公司范圍的應(yīng)用程序從大型機環(huán)境遷移到分布式環(huán)境的途徑。14.6 給出將pros

56、和cons用于胖客戶和瘦客戶策略的建議。胖客戶:胖客戶模型的主要優(yōu)點是它充分利用了桌面功能,分擔(dān)了服務(wù)器上的應(yīng)用處理并使它們更加有效,不容易產(chǎn)生瓶頸。新增加的功能很快就超出了桌面機器的處理能力,迫使公司進行升級。如果模型擴充超出了部門的界限,合并了很多用戶,則公司必須安裝高容量局域網(wǎng)來支持在瘦服務(wù)器和胖客戶之間進行大量的傳輸。最后,維護、升級或替換分布于數(shù)十臺或數(shù)百臺桌面機的應(yīng)用程序?qū)⒆兊梅浅@щy。瘦客戶:這種方式更近似地模擬了傳統(tǒng)的以主機為中心的方式,常常是使將公司范圍的應(yīng)用程序從大型機環(huán)境遷移到分布式環(huán)境的途徑。但是它不能提供和胖客戶策略一樣的靈活性。14.7 解釋三層客戶/服務(wù)器體系結(jié)構(gòu)

57、的基本原理。中間層機器基本上是位于用戶客戶和很多后端數(shù)據(jù)庫服務(wù)器之間的網(wǎng)關(guān)。中間層機器能夠轉(zhuǎn)換協(xié)議,將對一種類型的數(shù)據(jù)庫查詢映像為另一種類型數(shù)據(jù)庫的查詢。另外,中間層機器能夠融合來自不同數(shù)據(jù)源的結(jié)果。最后,中間層機器因介于兩個層次之間而可以充當(dāng)桌面應(yīng)用程序和后端應(yīng)用程序之間的網(wǎng)關(guān)。14.8 什么是中間件?中間件是在上層應(yīng)用程序和下層通信軟件和操作系統(tǒng)之間使用標(biāo)準(zhǔn)的編程接口和協(xié)議。它提供統(tǒng)一的方式和方法來跨越各種平臺訪問系統(tǒng)資源。14.9 既然具有像tcp/ip這樣的標(biāo)準(zhǔn),為什么還需要中間件?tcp/ip不提供api和中間層協(xié)定來支持應(yīng)用于不同的硬件和操作系統(tǒng)的多種應(yīng)用程序平臺。14.10 列出消息傳遞的阻塞原語和無阻塞原語的優(yōu)缺點。無阻塞原語為進程提供了對消息傳遞機制

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論