操作系統(tǒng)復(fù)習(xí)題答案_第1頁(yè)
操作系統(tǒng)復(fù)習(xí)題答案_第2頁(yè)
操作系統(tǒng)復(fù)習(xí)題答案_第3頁(yè)
操作系統(tǒng)復(fù)習(xí)題答案_第4頁(yè)
操作系統(tǒng)復(fù)習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、般而言,一條機(jī)器指令能指定的四種不同操作是什么? 處理器-寄存器:數(shù)據(jù)可以從處理器傳送到存儲(chǔ)器,或者從存儲(chǔ)器傳送到處理器。 處理器-I/O :通過(guò)處理器和I/O模塊間的數(shù)據(jù)傳送,數(shù)據(jù)可以輸出到外部設(shè)備,或者從外部設(shè)備輸入 數(shù)據(jù)。 數(shù)據(jù)處理:處理器可以執(zhí)行很多關(guān)于數(shù)據(jù)的算術(shù)操作或邏輯操作。 控制:某些指令可以改變執(zhí)行順序。 1.4什么是中斷? 中斷:其他模塊(I/O ,存儲(chǔ)器)中斷處理器正常處理過(guò)程的機(jī)制。 1.5多中斷的處理方式是什么? 處理多中斷有兩種方法。第一種方法是當(dāng)正在處理一個(gè)中斷時(shí),禁止再發(fā)生中斷。第二種方法是定義 中斷優(yōu)先級(jí),允許高優(yōu)先級(jí)的中斷打斷低優(yōu)先級(jí)的中斷處理器的運(yùn)行。 1.

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

4、程等待I/O的完成來(lái)說(shuō)是不 必要的,可能是由于后續(xù)指令處于相同的進(jìn)程中。否則,此進(jìn)程在中斷之前將被掛起,其他工作將被 執(zhí)行。 直接存儲(chǔ)訪問(wèn):DMA模塊控制主存與I/O模塊間的數(shù)據(jù)交換。處理器向DMA模塊發(fā)送一個(gè)傳送數(shù)據(jù) 塊的請(qǐng)求,(處理器)只有當(dāng)整個(gè)數(shù)據(jù)塊傳送完畢后才會(huì)被中斷。 1.9空間局部性和臨時(shí)局部性間的區(qū)別是什么? 空間局部性是指最近被訪問(wèn)的元素的周圍的元素在不久的將來(lái)可能會(huì)被訪問(wèn)。臨時(shí)局部性(即時(shí)間局 部性)是指最近被訪問(wèn)的元素在不久的將來(lái)可能會(huì)被再次訪問(wèn)。 1.10開發(fā)空間局部性和時(shí)間局部性的策略是什么? 空間局部性的開發(fā)是利用更大的緩沖塊并且在存儲(chǔ)器控制邏輯中加入預(yù)處理機(jī)制。時(shí)間

5、局部性的開發(fā) 是利用在高速緩沖存儲(chǔ)器中保留最近使用的指令及數(shù)據(jù),并且定義緩沖存儲(chǔ)的優(yōu)先級(jí)。 第2章 操作系統(tǒng)概述 2.1操作系統(tǒng)設(shè)計(jì)的三個(gè)目標(biāo)是什么? 方便:操作系統(tǒng)使計(jì)算機(jī)更易于使用。 有效:操作系統(tǒng)允許以更有效的方式使用計(jì)算機(jī)系統(tǒng)資源。 擴(kuò)展的能力:在構(gòu)造操作系統(tǒng)時(shí),應(yīng)該允許在不妨礙服務(wù)的前提下有效地開發(fā)、測(cè)試和引進(jìn)新的系統(tǒng) 功能。 2.2什么是操作系統(tǒng)的內(nèi)核? 內(nèi)核是操作系統(tǒng)最常使用的部分,它存在于主存中并在特權(quán)模式下運(yùn)行,響應(yīng)進(jìn)程調(diào)度和設(shè)備中斷。 2.3什么是多道程序設(shè)計(jì)? 多道程序設(shè)計(jì)是一種處理操作,它在兩個(gè)或多個(gè)程序間交錯(cuò)處理每個(gè)進(jìn)程。 2.4什么是進(jìn)程? 進(jìn)程是一個(gè)正在執(zhí)行的程序

6、,它被操作系統(tǒng)控制和選擇。 2.5操作系統(tǒng)是怎么使用進(jìn)程上下文的? 執(zhí)行上下文又稱為進(jìn)程狀態(tài),是操作系統(tǒng)用來(lái)管理和控制所需的內(nèi)部數(shù)據(jù)。這種內(nèi)部信息和進(jìn)程是分 開的,因?yàn)椴僮飨到y(tǒng)信息不允許被進(jìn)程直接訪問(wèn)。上下文包括操作系統(tǒng)管理進(jìn)程以及處理器正確執(zhí)行 進(jìn)程所需要的所有信息,包括各種處理器寄存器的內(nèi)容,如程序計(jì)數(shù)器和數(shù)據(jù)寄存器。它還包括操作 系統(tǒng)使用的信息,如進(jìn)程優(yōu)先級(jí)以及進(jìn)程是否在等待特定I/O事件的完成。 2.6列出并簡(jiǎn)要介紹操作系統(tǒng)的五種典型存儲(chǔ)管理職責(zé)。 進(jìn)程隔離:操作系統(tǒng)必須保護(hù)獨(dú)立的進(jìn)程,防止互相干涉數(shù)據(jù)和存儲(chǔ)空間。 自動(dòng)分配和管理:程序應(yīng)該根據(jù)需要在存儲(chǔ)層次間動(dòng)態(tài)的分配,分配對(duì)程序員是

7、透明的。因此,程序 員無(wú)需關(guān)心與存儲(chǔ)限制有關(guān)的問(wèn)題,操作系統(tǒng)有效的實(shí)現(xiàn)分配問(wèn)題,可以僅在需要時(shí)才給作業(yè)分配存 儲(chǔ)空間。 2.7解釋實(shí)地址和虛地址的區(qū)別。 虛地址指的是存在于虛擬內(nèi)存中的地址,它有時(shí)候在磁盤中有時(shí)候在主存中。 實(shí)地址指的是主存中的地址。 2.8描述輪循調(diào)度技術(shù)。 輪循調(diào)度是一種調(diào)度算法,所有的進(jìn)程存放在一個(gè)環(huán)形隊(duì)列中并按固定循序依次激活。因?yàn)榈却恍?事件(例如:等待一個(gè)子進(jìn)程或一個(gè) I/O操作)的發(fā)生而不能被處理的進(jìn)程將控制權(quán)交給調(diào)度器。 2.9解釋單體內(nèi)核和微內(nèi)核的區(qū)別。 單體內(nèi)核是一個(gè)提供操作系統(tǒng)應(yīng)該提供的功能的大內(nèi)核,包括調(diào)度、文件系統(tǒng)、網(wǎng)絡(luò)、設(shè)備驅(qū)動(dòng)程序、 存儲(chǔ)管理等。

8、內(nèi)核的所有功能成分都能夠訪問(wèn)它的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和程序。典型情況下,這個(gè)大內(nèi)核是 作為一個(gè)進(jìn)程實(shí)現(xiàn)的,所有元素都共享相同的地址空間。 微內(nèi)核是一個(gè)小的有特權(quán)的操作系統(tǒng)內(nèi)核,只提供包括進(jìn)程調(diào)度、內(nèi)存管理、和進(jìn)程間通信等基本功 能,要依靠其他進(jìn)程擔(dān)當(dāng)起和操作系統(tǒng)內(nèi)核聯(lián)系作用。 2.10什么是多線程? 多線程技術(shù)是指把執(zhí)行一個(gè)應(yīng)用程序的進(jìn)程劃分成可以同時(shí)運(yùn)行的多個(gè)線程。 第3章進(jìn)程描述和控制 3.1什么是指令跟蹤? 指令跟蹤是指為該進(jìn)程而執(zhí)行的指令序列。 3.2通常那些事件會(huì)導(dǎo)致創(chuàng)建一個(gè)進(jìn)程? 新的批處理作業(yè);交互登錄;操作系統(tǒng)因?yàn)樘峁┮豁?xiàng)服務(wù)而創(chuàng)建;由現(xiàn)有的進(jìn)程派生。(表3.1) 3.3對(duì)于圖3.6中

9、的進(jìn)程模型,請(qǐng)簡(jiǎn)單定義每個(gè)狀態(tài)。 運(yùn)行態(tài):該進(jìn)程正在執(zhí)行。就緒態(tài):進(jìn)程做好了準(zhǔn)備,只要有機(jī)會(huì)就開始執(zhí)行。 阻塞態(tài):進(jìn)程在某些事件發(fā)生前不能執(zhí)行,如I/O操作完成。 新建態(tài):剛剛創(chuàng)建的進(jìn)程,操作系統(tǒng)還沒有把它加入到可執(zhí)行進(jìn)程組中。 退出態(tài):操作系統(tǒng)從可執(zhí)行進(jìn)程組中釋放出的進(jìn)程,或者是因?yàn)樗陨硗V沽耍蛘呤且驗(yàn)槟撤N原因 被取消。 3.4搶占一個(gè)進(jìn)程是什么意思? 處理器為了執(zhí)行另外的進(jìn)程而終止當(dāng)前正在執(zhí)行的進(jìn)程,這就叫進(jìn)程搶占。 3.5什么是交換,其目的是什么? 交換是指把主存中某個(gè)進(jìn)程的一部分或者全部?jī)?nèi)容轉(zhuǎn)移到磁盤。當(dāng)主存中沒有處于就緒態(tài)的進(jìn)程時(shí), 操作系統(tǒng)就把一個(gè)阻塞的進(jìn)程換出到磁盤中的掛起隊(duì)

10、列,從而使另一個(gè)進(jìn)程可以進(jìn)入主存執(zhí)行。 3.6為什么圖3.9 (b)中有兩個(gè)阻塞態(tài)? 有兩個(gè)獨(dú)立的概念:進(jìn)程是否在等待一個(gè)事件 (阻塞與否)以及進(jìn)程是否已經(jīng)被換出主存(掛起與否) 為適應(yīng)這種2*2的組合,需要兩個(gè)阻塞態(tài)和兩個(gè)掛起態(tài)。 3.7列出掛起態(tài)進(jìn)程的 4個(gè)特點(diǎn)。 1進(jìn)程不能立即執(zhí)行。 2進(jìn)程可能是或不是正在等待一個(gè)事件。如果是,阻塞條件不依賴于掛起條件,阻塞事件的發(fā)生不會(huì) 使進(jìn)程立即被執(zhí)行。 3為了阻止進(jìn)程執(zhí)行,可以通過(guò)代理把這個(gè)進(jìn)程置于掛起態(tài),代理可以是進(jìn)程自己,也可以是父進(jìn)程 或操作系統(tǒng)。 4. 除非代理顯式地命令系統(tǒng)進(jìn)行狀態(tài)轉(zhuǎn)換,否則進(jìn)程無(wú)法從這個(gè)狀態(tài)中轉(zhuǎn)移。 3.8對(duì)于哪類實(shí)體,

11、操作系統(tǒng)為了管理它而維護(hù)其信息表? 內(nèi)存、I/O、文件和進(jìn)程。 3.9列出進(jìn)程控制塊中的三類信息。 進(jìn)程標(biāo)識(shí),處理器狀態(tài)信息,進(jìn)程控制信息。 3.10為什么需要兩種模式(用戶模式和內(nèi)核模式)? 用戶模式下可以執(zhí)行的指令和訪問(wèn)的內(nèi)存區(qū)域都受到限制。這是為了防止操作系統(tǒng)受到破壞或者修 改。而在內(nèi)核模式下則沒有這些限制,從而使它能夠完成其功能。 3.11操作系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程所執(zhí)行的步驟是什么? 1. 給新進(jìn)程分配一個(gè)唯一的進(jìn)程標(biāo)識(shí)號(hào)。2.給進(jìn)程分配空間。3.初始化進(jìn)程控制塊。4.設(shè)置正確的連接。 5. 創(chuàng)建或擴(kuò)充其他的數(shù)據(jù)結(jié)構(gòu)。 3.12中斷和陷阱有什么區(qū)別? 中斷與當(dāng)前正在運(yùn)行的進(jìn)程無(wú)關(guān)的某些類

12、型的外部事件相關(guān),如完成一次I/O操作。陷阱與當(dāng)前正在 運(yùn)行的進(jìn)程所產(chǎn)生的錯(cuò)誤或異常條件相關(guān),如非法的文件訪問(wèn)。 3.13舉出中斷的三個(gè)例子。 時(shí)鐘終端,I/O終端,內(nèi)存失效。 3.14模式切換和進(jìn)程切換有什么區(qū)別? 發(fā)生模式切換可以不改變當(dāng)前正處于運(yùn)行態(tài)的進(jìn)程的狀態(tài)。發(fā)生進(jìn)程切換時(shí),一個(gè)正在執(zhí)行的進(jìn)程被 中斷,操作系統(tǒng)指定另一個(gè)進(jìn)程為運(yùn)行態(tài)。進(jìn)程切換需要保存更多的狀態(tài)信息。 第4章 線程、對(duì)稱多處理和微內(nèi)核 4.1表3.5列出了在一個(gè)沒有線程的操作系統(tǒng)中進(jìn)程控制塊的基本元素。對(duì)于多線程系統(tǒng),這些元素中那 些可能屬于線程控制塊,那些可能屬于進(jìn)程控制塊? 這對(duì)于不同的系統(tǒng)來(lái)說(shuō)通常是不同的,但一般

13、來(lái)說(shuō),進(jìn)程是資源的所有者,而每個(gè)線程都有它自己的 執(zhí)行狀態(tài)。關(guān)于表 3.5中的每一項(xiàng)的一些結(jié)論如下:進(jìn)程標(biāo)識(shí):進(jìn)程必須被標(biāo)識(shí),而進(jìn)程中的每一個(gè) 線程也必須有自己的ID。處理器狀態(tài)信息:這些信息通常只與進(jìn)程有關(guān)。進(jìn)程控制信息:調(diào)度和狀態(tài) 信息主要處于線程級(jí);數(shù)據(jù)結(jié)構(gòu)在兩級(jí)都可出現(xiàn);進(jìn)程間通信和線程間通信都可以得到支持;特權(quán)在 兩級(jí)都可以存在;存儲(chǔ)管理通常在進(jìn)程級(jí);資源信息通常也在進(jìn)程級(jí)。 4.2請(qǐng)列出線程間的模式切換比進(jìn)程間的模式切換開銷更低的原因。 包含的狀態(tài)信息更少。 4.3在進(jìn)程概念中體現(xiàn)出的兩個(gè)獨(dú)立且無(wú)關(guān)的特點(diǎn)是什么? 資源所有權(quán)和調(diào)度/執(zhí)行。 4.4給出在單用戶多處理系統(tǒng)中使用線程的四

14、個(gè)例子。 前臺(tái)和后臺(tái)操作,異步處理,加速執(zhí)行和模塊化程序結(jié)構(gòu)。 4.5哪些資源通常被一個(gè)進(jìn)程中的所有線程共享? 例如地址空間,文件資源,執(zhí)行特權(quán)等。 4.6列出用戶級(jí)線程優(yōu)于內(nèi)核級(jí)線程的三個(gè)優(yōu)點(diǎn)。 1. 由于所有線程管理數(shù)據(jù)結(jié)構(gòu)都在一個(gè)進(jìn)程的用戶地址空間中,線程切換不需要內(nèi)核模式的特權(quán),因 此,進(jìn)程不需要為了線程管理而切換到內(nèi)核模式,這節(jié)省了在兩種模式間進(jìn)行切換(從用戶模式到內(nèi) 核模式;從內(nèi)核模式返回用戶模式)的開銷。 2. 調(diào)用可以是應(yīng)用程序?qū)S玫?。一個(gè)應(yīng)用程序可能傾向于簡(jiǎn)單的輪詢調(diào)度算法,而另一個(gè)應(yīng)用程序可 能傾向于基于優(yōu)先級(jí)的調(diào)度算法。調(diào)度算法可以去適應(yīng)應(yīng)用程序,而不會(huì)擾亂底層的操作系統(tǒng)

15、調(diào)度器。 3. 用戶級(jí)線程可以在任何操作系統(tǒng)中運(yùn)行,不需要對(duì)底層內(nèi)核進(jìn)行修改以支持用戶級(jí)線程。線程庫(kù)是 一組供所有應(yīng)用程序共享的應(yīng)用級(jí)軟件包。 4.7列出用戶級(jí)線程相對(duì)于內(nèi)核級(jí)線程的兩個(gè)缺點(diǎn)。 1. 在典型的操作系統(tǒng)中,許多系統(tǒng)調(diào)用都會(huì)引起阻塞。因此,當(dāng)用戶級(jí)線程執(zhí)行一個(gè)系統(tǒng)調(diào)用時(shí),不 僅這個(gè)線程會(huì)被阻塞,進(jìn)程中的所有線程都會(huì)被阻塞。 2. 在純粹的用戶級(jí)進(jìn)程策略中,一個(gè)多線程應(yīng)用程序不能利用多處理技術(shù)。內(nèi)核一次只把一個(gè)進(jìn)程分 配給一個(gè)處理器,因此一次進(jìn)程中只能有一個(gè)線程可以執(zhí)行。 4.8 定義 jacketing 。 Jacketing 通過(guò)調(diào)用一個(gè)應(yīng)用級(jí)的 I/O例程來(lái)檢查I/O設(shè)備的狀態(tài)

16、,從而將一個(gè)產(chǎn)生阻塞的系統(tǒng)調(diào)用 轉(zhuǎn)化為一個(gè)不產(chǎn)生阻塞的系統(tǒng)調(diào)用。 4.9簡(jiǎn)單定義圖4.8中列出的各種結(jié)構(gòu)。 SIMD 一個(gè)機(jī)器指令控制許多處理部件步伐一致地同時(shí)執(zhí)行。每個(gè)處理部件都有一個(gè)相關(guān)的數(shù)據(jù)存儲(chǔ) 空間,因此,每條指令由不同的處理器在不同的數(shù)據(jù)集合上執(zhí)行。 MIMD 一組處理器同時(shí)在不同的數(shù)據(jù)集上執(zhí)行不同的指令序列。主/從:操作系統(tǒng)內(nèi)核總是在某個(gè)特 定的處理器上運(yùn)行,其他處理器只用于執(zhí)行用戶程序,還可能執(zhí)行一些操作系統(tǒng)實(shí)用程序。 SMP內(nèi)核可以在任何處理器上執(zhí)行,并且通常是每個(gè)處理器從可用的進(jìn)程或線程池中進(jìn)行各自的調(diào) 度工作。集群:每個(gè)處理器都有一個(gè)專用存儲(chǔ)器,而且每個(gè)處理部件都是一個(gè)獨(dú)立

17、的計(jì)算機(jī)。 4.10列出SMF操作系統(tǒng)的主要設(shè)計(jì)問(wèn)題。 同時(shí)的并發(fā)進(jìn)程或線程,調(diào)度,同步,存儲(chǔ)器管理,可靠性和容錯(cuò)。 4.11給出在典型的單體結(jié)構(gòu)操作系統(tǒng)中可以找到且可能是微內(nèi)核操作系統(tǒng)外部子系統(tǒng)中的服務(wù)和功能。 設(shè)備驅(qū)動(dòng)程序,文件系統(tǒng),虛存管理程序,窗口系統(tǒng)和安全服務(wù)。 4.12列出并簡(jiǎn)單解釋微內(nèi)核設(shè)計(jì)相對(duì)于整體式設(shè)計(jì)的七個(gè)優(yōu)點(diǎn)。 一致接口:進(jìn)程不需要區(qū)分是內(nèi)核級(jí)服務(wù)還是用戶級(jí)服務(wù),因?yàn)樗蟹?wù)都是通過(guò)消息傳遞提供的。 可擴(kuò)展性:允許增加新的服務(wù)以及在同一個(gè)功能區(qū)域中提供多個(gè)服務(wù)。 靈活性:不僅可以在操作系統(tǒng)中增加新功能,還可以刪減現(xiàn)有的功能,以產(chǎn)生一個(gè)更小、更有效的實(shí) 現(xiàn)。 可移植性:所有

18、或者至少大部分處理器專用代碼都在微內(nèi)核中。因此,當(dāng)把系統(tǒng)移植到一個(gè)處理器上 時(shí)只需要很少的變化,而且易于進(jìn)行邏輯上的歸類。 可靠性:小的微內(nèi)核可以被嚴(yán)格地測(cè)試,它使用少量的應(yīng)用程序編程接口(API),這就為內(nèi)核外部的 操作系統(tǒng)服務(wù)產(chǎn)生高質(zhì)量的代碼提供了機(jī)會(huì)。 分布式系統(tǒng)支持:微內(nèi)核通信中消息的方向性決定了它對(duì)分布式系統(tǒng)的支持。 面向?qū)ο蟛僮飨到y(tǒng)環(huán)境:在微內(nèi)核設(shè)計(jì)和操作系統(tǒng)模塊化擴(kuò)展的開發(fā)中都可以借助面向?qū)ο蠓椒ǖ脑?理。 4.13解釋微內(nèi)核操作系統(tǒng)可能存在的性能缺點(diǎn)。 通過(guò)微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費(fèi)的時(shí)間比一次系統(tǒng)調(diào)用的時(shí)間要多。 4.14列出即使在最小的微內(nèi)核操作系統(tǒng)中也可以

19、找到的三個(gè)功能。 低級(jí)存儲(chǔ)器管理,進(jìn)程間通信(IPC)以及I/O和中斷管理。 4.15在微內(nèi)核操作系統(tǒng)中,進(jìn)程或線程間通信的基本形式是什么? 消息。 第5章并發(fā)性:互斥和同步 5.1列出與并發(fā)相關(guān)的四種設(shè)計(jì)問(wèn)題 進(jìn)程間的交互,共享資源之間的競(jìng)爭(zhēng),多個(gè)進(jìn)程的同步問(wèn)題,對(duì)進(jìn)程的處理器時(shí)間分配問(wèn)題 5.2列出并發(fā)的三種上下文 多個(gè)應(yīng)用程序,結(jié)構(gòu)化應(yīng)用程序,操作系統(tǒng)結(jié)構(gòu) 5.3執(zhí)行并發(fā)進(jìn)程的最基本要求是什么? 加強(qiáng)互斥的能力 5.4列出進(jìn)程間的三種互相知道的程度,并簡(jiǎn)單地給出各自的定義。 進(jìn)程間互相不知道對(duì)方:這是一些獨(dú)立的進(jìn)程,他們不會(huì)一起工作。 進(jìn)程間間接知道對(duì)方:這些進(jìn)程并不需要知道對(duì)方的進(jìn)程I

20、D號(hào),但他們共享訪問(wèn)某些對(duì)象,如一個(gè) I/O緩沖區(qū)。 進(jìn)程間直接知道對(duì)方:這些進(jìn)程可以通過(guò)進(jìn)程ID號(hào)互相通信,用于合作完成某些活動(dòng)。 5.5競(jìng)爭(zhēng)進(jìn)程和合作進(jìn)程進(jìn)程間有什么區(qū)別。 競(jìng)爭(zhēng)進(jìn)程需要同時(shí)訪問(wèn)相同的資源,像磁盤,文件或打印機(jī)。合作進(jìn)程要么共享訪問(wèn)一個(gè)共有的資源, 像一個(gè)內(nèi)存訪問(wèn)區(qū),要么就與其他進(jìn)程相互通信,在一些應(yīng)用程序或活動(dòng)上進(jìn)行合作。 5.6列出與競(jìng)爭(zhēng)進(jìn)程相關(guān)的三種控制問(wèn)題,并簡(jiǎn)單地給出各自的定義。 互斥:競(jìng)爭(zhēng)進(jìn)程僅可以訪問(wèn)一個(gè)臨界資源(一次僅有一個(gè)進(jìn)程可以訪問(wèn)臨界資源),并發(fā)機(jī)制必須滿 足一次只有一個(gè)進(jìn)程可以訪問(wèn)臨界資源這個(gè)規(guī)則。 死鎖:如果競(jìng)爭(zhēng)進(jìn)程需要唯一的訪問(wèn)多于一個(gè)資源,并且

21、當(dāng)一個(gè)進(jìn)程控制著一個(gè)進(jìn)程,且在等待另一 個(gè)進(jìn)程,死鎖可能發(fā)生。 饑餓:一組進(jìn)程的一個(gè)可能會(huì)無(wú)限期地拒絕進(jìn)入到一個(gè)需要資源,因?yàn)槠渌?成員組成壟斷這個(gè)資源。 5.7列出對(duì)互斥的要求。 1. 必須強(qiáng)制實(shí)施互斥:在具有關(guān)于相同資源或共享對(duì)象的臨界區(qū)的所有進(jìn)程中,一次只允許一個(gè)進(jìn)程 進(jìn)入臨界區(qū)。 2. 一個(gè)在臨界區(qū)停止的進(jìn)程必須不干涉其他進(jìn)程。 3. 絕不允許出現(xiàn)一個(gè)需要訪問(wèn)臨界區(qū)的進(jìn)程被無(wú)限延遲的情況,即不會(huì)餓死或饑餓。 4. 當(dāng)沒有進(jìn)程在臨界區(qū)中時(shí),任何需要進(jìn)入臨界區(qū)的進(jìn)程必須能夠立即進(jìn)入。 5. 對(duì)相關(guān)進(jìn)程的速度和處理器的數(shù)目沒有任何要求和限制。 6. 一個(gè)進(jìn)程駐留在臨界區(qū)中的時(shí)間是有限的。 5

22、.8在信號(hào)量上可以執(zhí)行什么操作。 1. 一個(gè)信號(hào)量可以初始化成非負(fù)數(shù)。 2. wait操作使信號(hào)量減1,如果值為負(fù)數(shù),那么進(jìn)程執(zhí)行wait就會(huì)受阻。3signal操作使信號(hào)量增加 1,如果小于或等于 0,則被wait操作阻塞的進(jìn)程被解除阻塞。 5.9二元信號(hào)量與一般信號(hào)量有什么區(qū)別。 二元信號(hào)量只能取 0或1,而一般信號(hào)量可以取任何整數(shù)。 5.10強(qiáng)信號(hào)量與弱信號(hào)量有什么區(qū)別。 強(qiáng)信號(hào)量要求在信號(hào)量上等待的進(jìn)程按照先進(jìn)先出的規(guī)則從隊(duì)列中移出。弱信號(hào)量沒有此規(guī)則。 5.11 .什么是管程。 管程是由一個(gè)或多個(gè)過(guò)程,一個(gè)初始化序列和局部數(shù)據(jù)組成的軟件模塊。 5.12對(duì)于消息,有阻塞和無(wú)阻塞有什么區(qū)

23、別? 發(fā)送者和接收者任一方阻塞則消息傳遞需要等待,都無(wú)阻塞則不需等待。 5.13通常與讀者-寫者問(wèn)題相關(guān)聯(lián)的有哪些條件? 1. 任意多的讀進(jìn)程可以同時(shí)讀這個(gè)文件 2. 一次只有一個(gè)寫進(jìn)程可以往文件中寫 3. 如果一個(gè)寫進(jìn)程正在往文件中寫時(shí),則禁止任何讀進(jìn)程讀文件。 第6章 并發(fā)性:死鎖和饑餓 6.1給出可重用資源和可消費(fèi)資源的例子。 可重用資源:處理器,1/O通道,主存和輔存,設(shè)備以及諸如文件,數(shù)據(jù)庫(kù)和信號(hào)量之類的數(shù)據(jù)結(jié) 構(gòu)。 可消費(fèi)資源:中斷,信號(hào),消息和I/O緩沖區(qū)中的信息。 6.2可能發(fā)生死鎖所必須的三個(gè)條件是什么? 互斥,占有且等待,非搶占。 6.3產(chǎn)生死鎖的第4個(gè)條件是什么? 循環(huán)等

24、待。 6.4如何防止占有且等待的條件? 可以要求進(jìn)程一次性地請(qǐng)求所有需要的資源,并且阻塞這個(gè)資源直到所有請(qǐng)求都同時(shí)滿足。 6.5給出防止無(wú)搶占條件的兩種方法。 第一種,如果占有某些資源的一個(gè)進(jìn)程進(jìn)行進(jìn)一步資源請(qǐng)求被拒絕,則該進(jìn)程必須釋放它最初占用的 資源,如果有必要,可再次請(qǐng)求這些資源和另外的資源。 第二種,如果一個(gè)進(jìn)程請(qǐng)求當(dāng)前被另一個(gè)進(jìn)程占有的一個(gè)資源,則操作系統(tǒng)可以搶占另一個(gè)進(jìn)程,要 求它釋放資源。 6.6如何防止循環(huán)等待條件? 可以通過(guò)定義資源類型的線性順序來(lái)預(yù)防。如果一個(gè)進(jìn)程已經(jīng)分配到了R類型的資源,那么它接下來(lái) 請(qǐng)求的資源只能是那些排在R類型之后的資源類型。 6.7死鎖避免,檢測(cè)和預(yù)

25、防之間的區(qū)別是什么? 死鎖預(yù)防是通過(guò)間接地限制三種死鎖必要條件的至少一個(gè)或是直接地限制循環(huán)等待的發(fā)生來(lái)避免死 鎖的出現(xiàn)。死鎖避免允許可能出現(xiàn)的必要條件發(fā)生,但是采取措施確保不會(huì)出現(xiàn)死鎖的情況。而死鎖 檢測(cè)允許資源的自由分配,采取周期性的措施來(lái)發(fā)現(xiàn)并處理可能存在的死鎖情況。 第7章內(nèi)存管理 7.1內(nèi)存管理需要滿足哪些需求? 重定位、保護(hù)、共享、邏輯組織和物理組織。 7.2為什么需要重定位進(jìn)程的能力? 通常情況下,并不能事先知道在某個(gè)程序執(zhí)行期間會(huì)有哪個(gè)程序駐留在主存中。此外還希望通過(guò)提供 一個(gè)巨大的就緒進(jìn)程池,能夠把活動(dòng)進(jìn)程換入和換出主存,以便使處理器的利用率最大化。在這兩種 情況下,進(jìn)程在主存

26、中的確切位置是不可預(yù)知的。 7.3為什么不可能在編譯時(shí)實(shí)施內(nèi)存保護(hù)? 由于程序在主存中的位置是不可預(yù)測(cè)的,因而在編譯時(shí)不可能檢查絕對(duì)地址來(lái)確保保護(hù)。并且,大多 數(shù)程序設(shè)計(jì)語(yǔ)言允許在運(yùn)行時(shí)進(jìn)行地址的動(dòng)態(tài)計(jì)算(例如,通過(guò)計(jì)算數(shù)組下標(biāo)或數(shù)據(jù)結(jié)構(gòu)中的指針) 因此,必須在運(yùn)行時(shí)檢查進(jìn)程產(chǎn)生的所有存儲(chǔ)器訪問(wèn),以便確保它們只訪問(wèn)了分配給該進(jìn)程的存儲(chǔ)空 間。 7.4允許兩個(gè)或多個(gè)進(jìn)程訪問(wèn)進(jìn)程的某一特定區(qū)域的原因是什么? 如果許多進(jìn)程正在執(zhí)行同一程序,則允許每個(gè)進(jìn)程訪問(wèn)該程序的同一個(gè)副本要比讓每個(gè)進(jìn)程有自己?jiǎn)?獨(dú)的副本更有優(yōu)勢(shì)。同樣,合作完成同一任務(wù)的進(jìn)程可能需要共享訪問(wèn)同一個(gè)數(shù)據(jù)結(jié)構(gòu)。 7.5在固定分區(qū)方案中

27、,使用大小不等的分區(qū)有什么好處? 通過(guò)使用大小不等的固定分區(qū): 1.可以在提供很多分區(qū)的同時(shí)提供一到兩個(gè)非常大的分區(qū)。大的分區(qū) 允許將很大的進(jìn)程全部載入主存中。 2.由于小的進(jìn)程可以被放入小的分區(qū)中,從而減少了內(nèi)部碎片。 7.6內(nèi)部碎片和外部碎片有什么區(qū)別? 內(nèi)部碎片是指由于被裝入的數(shù)據(jù)塊小于分區(qū)大小而導(dǎo)致的分區(qū)內(nèi)部所浪費(fèi)的空間。外部碎片是與動(dòng)態(tài) 分區(qū)相關(guān)的一種現(xiàn)象,它是指在所有分區(qū)外的存儲(chǔ)空間會(huì)變成越來(lái)越多的碎片的。 7.7邏輯地址、相對(duì)地址和物理地址間有什么區(qū)別? 邏輯地址是指與當(dāng)前數(shù)據(jù)在內(nèi)存中的物理分配地址無(wú)關(guān)的訪問(wèn)地址,在執(zhí)行對(duì)內(nèi)存的訪問(wèn)之前必須把 它轉(zhuǎn)化成物理地址。相對(duì)地址是邏輯地址

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

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

30、過(guò)。 8.5轉(zhuǎn)移后備緩沖器的目的是什么? 轉(zhuǎn)移后備緩沖器(TLB)是一個(gè)包含最近經(jīng)常被使用過(guò)的頁(yè)表項(xiàng)的高速緩沖存儲(chǔ)器。它的目的是為了 減少?gòu)拇疟P中恢復(fù)一個(gè)頁(yè)表項(xiàng)所需的時(shí)間。 8.6簡(jiǎn)單定義兩種可供選擇的頁(yè)讀取策略。 在請(qǐng)求式分頁(yè)中,只有當(dāng)訪問(wèn)到某頁(yè)中的一個(gè)單元時(shí)才將該頁(yè)取入主存。 在預(yù)約式分頁(yè)中,讀取的并不是頁(yè)錯(cuò)誤請(qǐng)求的頁(yè)。 8.7駐留集管理和頁(yè)替換策略有什么區(qū)別? 駐留集管理主要關(guān)注以下兩個(gè)問(wèn)題:(1)給每個(gè)活動(dòng)進(jìn)程分配多少個(gè)頁(yè)幀。(2)被考慮替換的頁(yè)集是 僅限在引起頁(yè)錯(cuò)誤的進(jìn)程的駐留集中選擇還是在主存中所有的頁(yè)幀中選擇。 頁(yè)替換策略關(guān)注的是以下問(wèn)題:在考慮的頁(yè)集中,哪一個(gè)特殊的頁(yè)應(yīng)該被選擇

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

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

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

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

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

36、隊(duì)列中。一個(gè)短進(jìn)程很快會(huì)執(zhí)行完,不會(huì)在就緒隊(duì)列中降很多級(jí)。一個(gè)長(zhǎng)進(jìn)程會(huì)逐 級(jí)下降。因此,新到的進(jìn)程和短進(jìn)程優(yōu)先于老進(jìn)程和長(zhǎng)進(jìn)程。在每個(gè)隊(duì)列中,除了在優(yōu)先級(jí)最低的隊(duì) 列中,都使用簡(jiǎn)單的 FCFS機(jī)制。一旦一個(gè)進(jìn)程處于優(yōu)先級(jí)最低的隊(duì)列中,它就不可能再降低,但是 會(huì)重復(fù)地返回該隊(duì)列,直到運(yùn)行結(jié)束。 第10章多處理器和實(shí)時(shí)調(diào)度 10.1列出并簡(jiǎn)單定義五種不同級(jí)別的同步粒度。 細(xì)粒度:?jiǎn)沃噶盍髦泄逃械牟⑿校?中等粒度:在一個(gè)單獨(dú)應(yīng)用中的并行處理或多任務(wù)處理; 粗粒度:在多道程序環(huán)境中并發(fā)進(jìn)程的多處理; 非常粗粒度:在網(wǎng)絡(luò)節(jié)點(diǎn)上進(jìn)行分布處理,以形成一個(gè)計(jì)算環(huán)境; 無(wú)約束粒度:多個(gè)無(wú)關(guān)進(jìn)程。 10.2列出并

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

38、S):當(dāng)一個(gè)作業(yè)到達(dá)時(shí),它的所有線程都被連續(xù)地放置在共享隊(duì)列末尾。當(dāng)一個(gè)處 理器變得空閑時(shí),它選擇下一個(gè)就緒線程執(zhí)行,直到完成或阻塞。 最少線程數(shù)優(yōu)先:共享就緒隊(duì)列被組織成一個(gè)優(yōu)先級(jí)隊(duì)列,如果一個(gè)作業(yè)包含的未調(diào)度線程數(shù)目最少, 則給它指定最高的優(yōu)先級(jí)。具有同等優(yōu)先級(jí)的隊(duì)列按作業(yè)到達(dá)的順序排隊(duì)。和FCFS 樣,被調(diào)度的 線程一直運(yùn)行到完成或阻塞。 可搶占的最少線程數(shù)優(yōu)先:最高的的優(yōu)先級(jí)給予包含的未被調(diào)度的線程數(shù)目最少的作業(yè)。剛到達(dá)的作 業(yè)如果包含的線程數(shù)目少于正在執(zhí)行的作業(yè),它將搶占屬于這個(gè)被調(diào)度作業(yè)的線程。 10.硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)有什么區(qū)別? 硬實(shí)時(shí)任務(wù)指必須滿足最后期限的限制,否則會(huì)給

39、系統(tǒng)帶來(lái)不可接受的破壞或者致命的錯(cuò)誤。 軟實(shí)時(shí)任務(wù)也有一個(gè)與之相關(guān)聯(lián)的最后期限,并希望能滿足這個(gè)期限的要求,但是這并不是強(qiáng)制的, 即使超過(guò)了最后期限,調(diào)度和完成這個(gè)任務(wù)仍然是有意義的。 10.5周期性實(shí)時(shí)任務(wù)和非周期性實(shí)時(shí)任務(wù)有什么區(qū)別? 非周期任務(wù)有一個(gè)必須結(jié)束或開始的最后期限,或者有一個(gè)關(guān)于開始時(shí)間和結(jié)束時(shí)間的約束。而對(duì)于 周期任務(wù),這個(gè)要求描述成“每隔周期T 一次”或“每隔T個(gè)單位”。 10.6列出并簡(jiǎn)單定義對(duì)實(shí)時(shí)操作系統(tǒng)的五方面的要求。 可確定性:在某中程度上是指它可以按固定的、預(yù)先確定的時(shí)間或時(shí)間間隔執(zhí)行操作。 可響應(yīng)性:它關(guān)注的是在知道中斷之后操作系統(tǒng)未中斷提供服務(wù)的時(shí)間 用戶控制

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

41、可以使用傳統(tǒng)的優(yōu)先級(jí)驅(qū)動(dòng)的搶占式調(diào)度器。 基于動(dòng)態(tài)規(guī)劃調(diào)度法:在運(yùn)行是動(dòng)態(tài)地確定可行性,而不是在開始運(yùn)行前離線的確定(靜態(tài))。一個(gè) 到達(dá)的任務(wù),只有當(dāng)能夠滿足它的時(shí)間約束時(shí),才可以被接受執(zhí)行??尚行苑治龅慕Y(jié)果是一個(gè)調(diào)度或 規(guī)劃,可用于確定何時(shí)分派這個(gè)任務(wù)。 動(dòng)態(tài)盡力調(diào)度法:不執(zhí)行可行性分析。系統(tǒng)試圖滿足所有的最后期限,并終止任何已經(jīng)開始運(yùn)行但錯(cuò) 過(guò)最后期限的進(jìn)程。 10.8關(guān)于一個(gè)任務(wù)的哪些信息在實(shí)時(shí)調(diào)度是非常有用? 就緒時(shí)間:任務(wù)開始準(zhǔn)備執(zhí)行的時(shí)間。對(duì)于重復(fù)或周期性的任務(wù),這實(shí)際上是一個(gè)事先知道的時(shí)間序 列。而對(duì)于非周期性的任務(wù),或者也事先知道這個(gè)時(shí)間,或者操作系統(tǒng)僅僅知道什么時(shí)候任務(wù)真正就

42、 緒。 啟動(dòng)最后期限:任務(wù)必須開始的時(shí)間。 完成最后期限:任務(wù)必須完成的時(shí)間。典型的實(shí)時(shí)應(yīng)用程序或者有啟動(dòng)最后期限,或者有完成最后期 限,但不會(huì)兩者都存在。 處理時(shí)間:從執(zhí)行任務(wù)直到完成任務(wù)所需的時(shí)間。在某些情況下,可以提供這個(gè)時(shí)間,而在另外一些 情況下,操作系統(tǒng)度量指數(shù)平均值。其他調(diào)度系統(tǒng)沒有使用這個(gè)信息。 資源需求:任務(wù)在執(zhí)行過(guò)程中所需的資源集合(處理器以外的資源)。 優(yōu)先級(jí):度量任務(wù)的相對(duì)重要性。硬實(shí)時(shí)任務(wù)可能具有絕對(duì)的優(yōu)先級(jí),因?yàn)槿绻e(cuò)過(guò)最后期限則會(huì)導(dǎo) 致系統(tǒng)失敗。如果系統(tǒng)無(wú)論如何也要繼續(xù)運(yùn)行,則硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)可以被指定相關(guān)的優(yōu)先級(jí), 以指導(dǎo)調(diào)度器。 子任務(wù)結(jié)構(gòu):一個(gè)任務(wù)可以分

43、解成一個(gè)必須執(zhí)行的子任務(wù)和一個(gè)可選的子任務(wù)。只有必須執(zhí)行的子任 務(wù)擁有硬最后期限。 第11章I/O管理和磁盤調(diào)度 11.1列出并簡(jiǎn)單定義執(zhí)行I/O的三種技術(shù)。 可編程I/O :處理器代表進(jìn)程給I/O模塊發(fā)送給一個(gè)I/O命令,該進(jìn)程進(jìn)入忙等待,等待操作的完成, 然后才可以繼續(xù)執(zhí)行。 中斷驅(qū)動(dòng)I/O :處理器代表進(jìn)程向I/O模塊發(fā)送一個(gè)I/O命令,然后繼續(xù)執(zhí)行后續(xù)指令,當(dāng)I/O模塊 完成工作后,處理器被該模塊中斷。如果該進(jìn)程不需要等待I/O完成,則后續(xù)指令可以仍是該進(jìn)程中 的指令,否則,該進(jìn)程在這個(gè)中斷上被掛起,處理器執(zhí)行其他工作。 直接存儲(chǔ)器訪問(wèn)(DMA: 個(gè)DMA模塊控制主存和I/O模塊之間的

44、數(shù)據(jù)交換。為傳送一塊數(shù)據(jù),處理 器給DMA莫塊發(fā)送請(qǐng)求,只有當(dāng)整個(gè)數(shù)據(jù)塊傳送完成后,處理器才被中斷。 11.2邏輯I/O和設(shè)備I/O有什么區(qū)別? 邏輯I/O :邏輯I/O模塊把設(shè)備當(dāng)作一個(gè)邏輯資源來(lái)處理,它并不關(guān)心實(shí)際控制設(shè)備的細(xì)節(jié)。 邏輯I/O 模塊代表用戶進(jìn)程管理的一般I/O功能,允許它們根據(jù)設(shè)備標(biāo)識(shí)符以及諸如打開、關(guān)閉、讀、寫之類 的簡(jiǎn)單命令與設(shè)備打交道。 設(shè)備I/O :請(qǐng)求的操作和數(shù)據(jù)(緩沖的數(shù)據(jù)、記錄等)被轉(zhuǎn)換成適當(dāng)?shù)腎/O指令序列、通道命令和控 制器命令??梢允褂镁彌_技術(shù),以提高使用率。 11.3面向塊的設(shè)備和面向流的設(shè)備有什么區(qū)別?請(qǐng)舉例說(shuō)明。 面向塊的設(shè)備將信息保存在塊中,塊的

45、大小通常是固定的,傳輸過(guò)程中一次傳送一塊。通??梢酝ㄟ^(guò) 塊號(hào)訪問(wèn)數(shù)據(jù)。磁盤和磁帶都是面向塊的設(shè)備。 面向流的設(shè)備以字節(jié)流的方式輸入輸出數(shù)據(jù),其末使用塊結(jié)構(gòu)。終端、打印機(jī)通信端口、鼠標(biāo)和其他 指示設(shè)備以及大多數(shù)非輔存的其他設(shè)備,都屬于面向流的設(shè)備。 11.4為什么希望用雙緩沖區(qū)而不是單緩沖區(qū)來(lái)提高I/O的性能? (從 雙緩沖允許兩個(gè)操作并行處理,而不是依次處理。 典型的,在一個(gè)進(jìn)程往一個(gè)緩沖區(qū)中傳送數(shù)據(jù) 這個(gè)緩沖區(qū)中取數(shù)據(jù))的同時(shí),操作系統(tǒng)正在清空(或者填充)另一個(gè)緩沖區(qū)。 11.5在磁盤讀或?qū)憰r(shí)有哪些延遲因素? 尋道時(shí)間,旋轉(zhuǎn)延遲,傳送時(shí)間 11.6簡(jiǎn)單定義圖11.7中描述的磁盤調(diào)度策略。 F

46、IFO:按照先來(lái)先服務(wù)的順序處理隊(duì)列中的項(xiàng)目。 SSTF:選擇使磁頭臂從當(dāng)前位置開始移動(dòng)最少的磁盤I/O請(qǐng)求。 SCA N磁頭臂僅僅沿一個(gè)方向移動(dòng),并在途中滿足所有未完成的請(qǐng)求,直到它到達(dá)這個(gè)方向上最后一 個(gè)磁道,或者在這個(gè)方向上沒有其他請(qǐng)求為止。接著反轉(zhuǎn)服務(wù)方向,沿相反方向掃描,同樣按順序完 成所有請(qǐng)求。 C-SCAN 類似于 SCAN 11.7簡(jiǎn)單定義圖7層RAID。 0:非冗余 1:被鏡像;每個(gè)磁盤都有一個(gè)包含相同數(shù)據(jù)的鏡像磁盤。 2 :通過(guò)漢明碼實(shí)現(xiàn)冗余;對(duì)每個(gè)數(shù)據(jù)磁盤中的相應(yīng)都計(jì)算一個(gè)錯(cuò)誤校正碼,并且這個(gè)碼位保存在多 個(gè)奇偶校驗(yàn)磁盤中相應(yīng)的文件。 3 :交錯(cuò)位奇偶校驗(yàn);類似于第二層,

47、不同之處在于RAID3為所有數(shù)據(jù)磁盤中同一位置的位的集合計(jì) 算一個(gè)簡(jiǎn)單的奇偶校驗(yàn)位,而不是錯(cuò)誤校正碼。 4 :交錯(cuò)塊分布奇偶校驗(yàn);對(duì)每個(gè)數(shù)據(jù)磁盤中相應(yīng)的條帶計(jì)算一個(gè)逐位奇偶。 5:交錯(cuò)塊分布奇偶校驗(yàn);類似于第四層,但把奇偶校驗(yàn)條帶分布在所有磁盤中。 6:交錯(cuò)塊雙重分布奇偶校驗(yàn);兩種不同的奇偶校驗(yàn)計(jì)算保存在不同磁盤的不同塊中。 11.8典型的磁盤扇區(qū)大小是多少? 512比特 第12章文件管理 12.1域和記錄有什么不同? 域(field )是基本數(shù)據(jù)單位。一個(gè)域包含一個(gè)值。 記錄(record )是一組相關(guān)的域的集合,它可以看做是應(yīng)用程序的一個(gè)單元。 12.2文件和數(shù)據(jù)庫(kù)有什么不同? 文件(fi

48、le )是一組相似記錄的集合,它被用戶和應(yīng)用程序看做是一個(gè)實(shí)體,并可以通過(guò)名字訪問(wèn)。 數(shù)據(jù)庫(kù)(database )是一組相關(guān)的數(shù)據(jù)集合,它的本質(zhì)特征是數(shù)據(jù)元素間存在著明確的關(guān)系,并且可 供不同的應(yīng)用程序使用。 12.3什么是文件管理系統(tǒng)? 文件管理系統(tǒng)是一組系統(tǒng)軟件,為使用文件的用戶和應(yīng)用程序提供服務(wù)。 12.4選擇文件組織時(shí)的重要原則是什么? 訪問(wèn)快速,易于修改,節(jié)約存儲(chǔ)空間,維護(hù)簡(jiǎn)單,可靠性。 12.5列出并簡(jiǎn)單定義五種文件組織。 堆是最簡(jiǎn)單的文件組織形式。數(shù)據(jù)按它們到達(dá)的順序被采集,每個(gè)記錄由一串?dāng)?shù)據(jù)組成。 順序文件是最常用的文件組織形式。在這類文件中,每個(gè)記錄都使用一種固定的格式。所有

49、記錄都具 有相同的長(zhǎng)度,并且由相同數(shù)目、長(zhǎng)度固定的域按特定的順序組成。由于每個(gè)域的長(zhǎng)度和位置已知, 因此只需要保存各個(gè)域的值,每個(gè)域的域名和長(zhǎng)度是該文件結(jié)構(gòu)的屬性。 索引順序文件保留了順序文件的關(guān)鍵特征:記錄按照關(guān)鍵域的順序組織起來(lái)。但它還增加了兩個(gè)特征: 用于支持隨機(jī)訪問(wèn)的文件索引和溢出文件。索引提供了快速接近目標(biāo)記錄的查找能力。溢出文件類似 于順序文件中使用的日志文件,但是溢出文件中的記錄可以根據(jù)它前面記錄的指針進(jìn)行定位。 索引文件:只能通過(guò)索引來(lái)訪問(wèn)記錄。其結(jié)果是對(duì)記錄的放置位置不再有限制,只要至少有一個(gè)索引 的指針指向這條記錄即可。此外,還可以使用長(zhǎng)度可變的記錄。 直接文件或散列文件:

50、直接文件使用基于關(guān)鍵字的散列。 12.6為什么在索引順序文件中查找一個(gè)記錄的平均搜索時(shí)間小于在順序文件中的平均搜索時(shí)間? 在順序文件中,查找一個(gè)記錄是按順序檢測(cè)每一個(gè)記錄直到有一個(gè)包含符合條件的關(guān)鍵域值的記錄被 找到。索引順序文件提供一個(gè)執(zhí)行最小窮舉搜索的索引結(jié)構(gòu)。 12.7對(duì)目錄執(zhí)行的典型操作有哪些? 搜索,創(chuàng)建文件,刪除文件,顯示目錄,修改目錄。 12.8路徑名和工作目錄有什么關(guān)系? 路徑名是由一系列從根目錄或主目錄向下到各個(gè)分支,最后直到該文件的路徑中的目錄名和最后到達(dá) 的文件名組成。工作目錄是一個(gè)這樣的目錄,它是含有用戶正在使用的當(dāng)前目錄的樹形結(jié)構(gòu)。 12.9可以授予或拒絕的某個(gè)特定用

51、戶對(duì)某個(gè)特定文件的訪問(wèn)權(quán)限通常有哪些? 無(wú)(none),知道(knowledge),執(zhí)行(execution ),讀(reading),追力口( appending),更新(updating ), 改變保護(hù)(changing protection ),刪除(deletion )。 12.10列出并簡(jiǎn)單定義三種組塊方式。 固定組塊(fixed blocking):使用固定長(zhǎng)度的記錄,并且若干條完整的記錄被保存在一個(gè)塊中。在 每個(gè)塊的末尾可能會(huì)有一些未使用的空間,稱為內(nèi)部碎片。 可變長(zhǎng)度跨越式組塊(variable-length spanned blocking):使用長(zhǎng)度可變的記錄,并且緊縮到塊

52、 中,使得塊中沒有未使用空間。因此,某些記錄可能會(huì)跨越兩個(gè)塊,通過(guò)一個(gè)指向后繼塊的指針連接。 可變長(zhǎng)度非跨越式組塊(variable-length unspanned blocking):使用可變長(zhǎng)度的記錄,但并不采 用跨越的方式。如果下一條記錄比塊中剩余的未使用空間大,則無(wú)法使用這一部分,因此在大多數(shù)塊 中都會(huì)有未使用的空間。 12.11列出并簡(jiǎn)單定義三種文件分配方法。 連續(xù)分配是指在創(chuàng)建文件時(shí),給文件分配一組連續(xù)的塊。鏈?zhǔn)椒峙浠趩蝹€(gè)的塊,鏈中的每一塊都包 含指向下一塊的指針。索引分配:每個(gè)文件在文件分配表中有一個(gè)一級(jí)索引,分配給該文件的每個(gè)分 區(qū)在索引中都有一個(gè)表項(xiàng)。 第13章網(wǎng)絡(luò) 13

53、.1網(wǎng)絡(luò)訪問(wèn)層的主要功能是什么? 網(wǎng)絡(luò)層主要關(guān)注在兩個(gè)端系統(tǒng)(服務(wù)器、工作站)之間的數(shù)據(jù)交換,以及端系統(tǒng)間的物理網(wǎng)絡(luò)。 13.2傳輸層的任務(wù)是什么? 傳輸層關(guān)注的是數(shù)據(jù)的可靠性和保證數(shù)據(jù)能正確到達(dá)接收端應(yīng)用程序。 13.3什么是協(xié)議? 協(xié)議是定義了用來(lái)管理兩個(gè)單元間進(jìn)行數(shù)據(jù)交換的一系列規(guī)則的集合。 13.4什么是協(xié)議體系結(jié)構(gòu)? 這是一種實(shí)現(xiàn)通信功能的軟件結(jié)構(gòu)。典型地,協(xié)議結(jié)構(gòu)包含了一個(gè)分層化的協(xié)議集,并且每個(gè)層中有 一個(gè)或多個(gè)協(xié)議。 13.5 什么是 TCP/IP ? 傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP )是兩個(gè)最初為網(wǎng)際互連提供低層支持而設(shè)計(jì)的協(xié)議。TCP/IP協(xié) 也被廣泛應(yīng)用于涉及由美

54、國(guó)防衛(wèi)部門和因特爾團(tuán)體發(fā)展的比較廣泛的協(xié)議集。 13.6使用套接字接口的目的是什么? 套接字接口是一個(gè)能夠編寫程序的API,從而利用 TCP/IP協(xié)議程序建立一個(gè)用戶端和服務(wù)器之間的 通信。 第14章分布式處理、客戶/服務(wù)器和集群 14.1什么是客戶/服務(wù)器計(jì)算? 客戶/服務(wù)器計(jì)算是一個(gè)網(wǎng)絡(luò)環(huán)境,在這個(gè)網(wǎng)絡(luò)環(huán)境中包含著客戶機(jī)和服務(wù)器,并由服務(wù)器來(lái)響應(yīng)客 戶機(jī)的請(qǐng)求。 14.2客戶/服務(wù)器計(jì)算與任何其他形式的分布式數(shù)據(jù)處理的區(qū)別是什么? 1、在用戶的本地系統(tǒng)上為該用戶提供界面友好的應(yīng)用程序,這樣做可使系統(tǒng)具有更高的可靠性。這 使得用戶可以在很大程度上控制對(duì)計(jì)算機(jī)的使用方式和時(shí)間,并使得部門級(jí)管理

55、者具有響應(yīng)本地需求 的能力。 2、盡管應(yīng)用是分散開的,但仍然強(qiáng)調(diào)公司數(shù)據(jù)庫(kù)的集中以及很多網(wǎng)絡(luò)管理和使用功能的集中。這使 公司的管理者能夠?qū)τ?jì)算信息系統(tǒng)的投資總額進(jìn)行總體控制,并提供互操作,以使多系統(tǒng)能夠配合起 來(lái)。同時(shí),減少了各部門和單位在維護(hù)這些復(fù)雜的計(jì)算機(jī)設(shè)施時(shí)的開銷,使他們能夠選擇他們需要的 各種類型的機(jī)器和接口來(lái)訪問(wèn)那些數(shù)據(jù)和信息。 3、對(duì)于用戶組織和廠商來(lái)說(shuō),他們有一個(gè)共同的承諾事項(xiàng),即使系統(tǒng)開放和模塊化。這意味著用戶 在選擇產(chǎn)品和混和使用來(lái)自眾多廠商的設(shè)備時(shí)具有很多選擇。 4、網(wǎng)絡(luò)互聯(lián)是操作的基礎(chǔ),網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全在組織和操作信息系統(tǒng)中具有很高的優(yōu)先權(quán)。 14.3像TCP/IP這

56、樣的通信結(jié)構(gòu)在客戶/服務(wù)器計(jì)算環(huán)境中的作用是什么? 它是使客戶端和服務(wù)器能夠協(xié)同工作的通信軟件。 14.4討論將應(yīng)用程序定位在客戶上、服務(wù)器上或分開定位在客戶和服務(wù)器上的基本原理。 基于服務(wù)器的處理:這種配置的基本原理是用戶工作站最適宜于提供良好的用戶界面,并且數(shù)據(jù)庫(kù)和 應(yīng)用程序很容易在中心系統(tǒng)上維護(hù)。盡管用戶獲得了良好界面的好處,但是,這種配置類型并不總能 有效提高處理效率或系統(tǒng)支持的實(shí)際商業(yè)功能上有本質(zhì)的改變。基于客戶的處理:它使用戶能夠使用 適應(yīng)本地需要的應(yīng)用。合作處理:這種配置類型可以比其他客戶/服務(wù)器方式為用戶提供更高的生產(chǎn) 效率和更高的網(wǎng)絡(luò)效率。 14.5什么是胖客戶和瘦客戶,兩種

57、方法在基本原理上的差別是什么? 胖客戶:這是基于客戶的處理,而大部分的軟件都集中在客戶端。胖客戶模型的主要優(yōu)點(diǎn)是它充分利 用了桌面功能,分擔(dān)了服務(wù)器上的應(yīng)用處理并使它們更加有效,不容易產(chǎn)生瓶頸。 瘦客戶:這是基于服務(wù)器的處理,而大部分的軟件都集中在服務(wù)器。這種方式更近似地模擬了傳統(tǒng)的 以主機(jī)為中心的方式,常常是使將公司范圍的應(yīng)用程序從大型機(jī)環(huán)境遷移到分布式環(huán)境的途徑。 14.6給出將pros和cons用于胖客戶和瘦客戶策略的建議。 胖客戶:胖客戶模型的主要優(yōu)點(diǎn)是它充分利用了桌面功能,分擔(dān)了服務(wù)器上的應(yīng)用處理并使它們更加 有效,不容易產(chǎn)生瓶頸。新增加的功能很快就超出了桌面機(jī)器的處理能力,迫使公司

58、進(jìn)行升級(jí)。如果 模型擴(kuò)充超出了部門的界限,合并了很多用戶,則公司必須安裝高容量局域網(wǎng)來(lái)支持在瘦服務(wù)器和胖 客戶之間進(jìn)行大量的傳輸。最后,維護(hù)、升級(jí)或替換分布于數(shù)十臺(tái)或數(shù)百臺(tái)桌面機(jī)的應(yīng)用程序?qū)⒆兊?非常困難。瘦客戶:這種方式更近似地模擬了傳統(tǒng)的以主機(jī)為中心的方式,常常是使將公司范圍的應(yīng) 用程序從大型機(jī)環(huán)境遷移到分布式環(huán)境的途徑。但是它不能提供和胖客戶策略一樣的靈活性。 14.7解釋三層客戶/服務(wù)器體系結(jié)構(gòu)的基本原理。 中間層機(jī)器基本上是位于用戶客戶和很多后端數(shù)據(jù)庫(kù)服務(wù)器之間的網(wǎng)關(guān)。中間層機(jī)器能夠轉(zhuǎn)換協(xié)議, 將對(duì)一種類型的數(shù)據(jù)庫(kù)查詢映像為另一種類型數(shù)據(jù)庫(kù)的查詢。另外,中間層機(jī)器能夠融合來(lái)自不同數(shù)

59、據(jù)源的結(jié)果。最后,中間層機(jī)器因介于兩個(gè)層次之間而可以充當(dāng)桌面應(yīng)用程序和后端應(yīng)用程序之間的 網(wǎng)關(guān)。 14.8什么是中間件? 中間件是在上層應(yīng)用程序和下層通信軟件和操作系統(tǒng)之間使用標(biāo)準(zhǔn)的編程接口和協(xié)議。它提供統(tǒng)一的 方式和方法來(lái)跨越各種平臺(tái)訪問(wèn)系統(tǒng)資源。 14.9既然具有像TCP/IP這樣的標(biāo)準(zhǔn),為什么還需要中間件? TCP/IP不提供API和中間層協(xié)定來(lái)支持應(yīng)用于不同的硬件和操作系統(tǒng)的多種應(yīng)用程序平臺(tái)。 14.10列出消息傳遞的阻塞原語(yǔ)和無(wú)阻塞原語(yǔ)的優(yōu)缺點(diǎn)。 無(wú)阻塞原語(yǔ)為進(jìn)程提供了對(duì)消息傳遞機(jī)制高效而靈活的使用,這種方法的缺點(diǎn)是難于測(cè)試和調(diào)試使用 這些原語(yǔ)的程序。問(wèn)題的不可再現(xiàn)性與時(shí)間順序相關(guān)性

60、往往導(dǎo)致產(chǎn)生很多奇怪而麻煩的問(wèn)題。阻塞原 語(yǔ)有與無(wú)阻塞原語(yǔ)相反的優(yōu)缺點(diǎn)。 14.11列出遠(yuǎn)程過(guò)程調(diào)用的非永久性和永久性綁定的優(yōu)缺點(diǎn)。 非永久綁定:因?yàn)檫B接需要維持兩端的狀態(tài)信息,因此需要消耗資源,非永久綁定類型用于保存這些 資源。另一方面,建立連接所帶來(lái)的開銷使非永久綁定對(duì)同一個(gè)調(diào)用者頻繁調(diào)用遠(yuǎn)程過(guò)程的情況不太 適用。 永久綁定:對(duì)于對(duì)遠(yuǎn)程過(guò)程進(jìn)行多次重復(fù)調(diào)用的應(yīng)用程序,永久綁定保持著邏輯連接,并支持使用同 一連接進(jìn)行一系列的調(diào)用和返回。 14.12列出同步遠(yuǎn)程過(guò)程調(diào)用和異步遠(yuǎn)程過(guò)程調(diào)用的優(yōu)缺點(diǎn)。 同步遠(yuǎn)程過(guò)程調(diào)用易于理解和編程,因?yàn)樗男袨槭强梢灶A(yù)期的。然而,它未能發(fā)揮分布式應(yīng)用中固 有的全

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論