關(guān)于分布式系統(tǒng)復(fù)習(xí)題與參考答案
一、 填空題(每題n分,答錯 個扣 分,全錯全扣,共計m分) 1.下面特征分別屬于計算機(jī)網(wǎng)絡(luò)和分布式計算機(jī)系統(tǒng),請加以區(qū)別: 分布式計算機(jī)是指系統(tǒng)內(nèi)部對用戶是完全透明的;系統(tǒng)中的計算機(jī)即合作又自治;系統(tǒng)可以利用多種物理和邏輯資源,可以動態(tài)地給它們分配任務(wù)。 計算機(jī)網(wǎng)絡(luò)是指互連的計算機(jī)是分布在不同地理位置的多臺獨立的“自治計算機(jī)”。 2.點到點通信子網(wǎng)的拓?fù)浣Y(jié)構(gòu)主要有以下幾種:星型、環(huán)型、樹型、網(wǎng)狀型,請根據(jù)其特征填寫相應(yīng)結(jié)構(gòu)。 網(wǎng)狀型 :結(jié)點之間的連接是任意的,沒有規(guī)律。環(huán)型:節(jié)點通過點到點通信線路連接成閉合環(huán)路。星型:節(jié)點通過點到點通信線路與中心結(jié)點相連;樹型:結(jié)點按層次進(jìn)行連接。 3.分布式計算系統(tǒng)可以分為兩個子組,它們是集群計算系統(tǒng)和網(wǎng)格計算系統(tǒng)。 4.分布式事務(wù)處理具有4個特性,原子性:對外部來說,事務(wù)處理是不可見的;一致性:事務(wù)處理不會違反系統(tǒng)的不變性;獨立性:并發(fā)的事務(wù)處理不會相互干擾;持久性:事務(wù)處理一旦提交,所發(fā)生的改變是永久性的。 5.網(wǎng)絡(luò)協(xié)議有三要素組成,時序是對事件實現(xiàn)順序的詳細(xì)說明;語義是指需要發(fā)出何種控制信息,以及要完成的動作與作出的響應(yīng);語法是指用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式 6.根據(jù)組件和連接器的不同,分布式系統(tǒng)體系結(jié)構(gòu)最重要的有4種,它們是:分層體系結(jié)構(gòu)、基于對象的體系結(jié)構(gòu)、以數(shù)據(jù)為中心的體系結(jié)構(gòu)、基于事件的體系結(jié)構(gòu) 7.在客戶-服務(wù)器的體系結(jié)構(gòu)中,應(yīng)用分層通常分為3層,用戶接口層、處理層和數(shù)據(jù)層。 8.有兩種類型的分布式操作系統(tǒng),多處理器操作系統(tǒng)和多計算機(jī)操作系統(tǒng)。 9.軟件自適應(yīng)的基本技術(shù)有3種,一是要點分離、二是計算映像、三是基于組件的設(shè)計。 10.DCE本身是由多個服務(wù)構(gòu)成的,常用的有分布式文件系統(tǒng)、目錄服務(wù)、安全服務(wù)以及分布式時間服務(wù)等。 11.TCP/IP體系結(jié)構(gòu)的傳輸層上定義的兩個傳輸協(xié)議為傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)。 12.Windows NT的結(jié)構(gòu)借用了層次模型和客戶/服務(wù)器兩種模型。 13.常用的進(jìn)程調(diào)度算法有先來先服務(wù)、優(yōu)先數(shù)法和輪轉(zhuǎn)法 14.進(jìn)程的三個基本狀態(tài)是就緒、執(zhí)行、等待(阻塞)。 15.進(jìn)程是 程序 在一個數(shù)據(jù)集合上的 運行過程 ,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個 獨立單位 16.進(jìn)程四個特征是 動態(tài)性, 并發(fā)性, 獨立性 ,異步性。 17.操作系統(tǒng)通??梢苑譃橐韵聨追N類型:批處理系統(tǒng)、分時系統(tǒng)、 實時系統(tǒng) 、 網(wǎng)絡(luò)操作系統(tǒng) 和分布式操作系統(tǒng)。 18.解決死鎖的基本方法包括預(yù)防死鎖, 避免死鎖,死鎖檢測,死鎖恢復(fù)。 19.在引進(jìn)線程的操作系統(tǒng)中,調(diào)度和分派的基本單位是線程,擁有資源的單位是進(jìn)程。 20.在面向流的通信中,為連續(xù)提供支持?jǐn)?shù)據(jù)流的模式有異步傳輸模式、同步傳輸模式和等時傳輸模式三種。 21.在流同步機(jī)制,通常有在數(shù)據(jù)單元層次上進(jìn)行顯式同步和通過高級接口支持的同步兩種。 22.在分布式系統(tǒng)中,掛載外部名稱空間至少需要的信息是:訪問協(xié)議的名稱、服務(wù)器的名稱和外部名稱空間中掛載點的名稱。 23.在名稱空間的實現(xiàn)中,為了有效實現(xiàn)名稱空間,通常把它劃分為邏輯上的三層,其三層指的是全局層、行政層和管理層。 24.在名稱解析的實現(xiàn)中,通常采用兩種方法,一是迭代名稱解析;二是遞歸名稱解析。 25.在邏輯時鐘算法中,Lamport定義了一個稱作“先發(fā)生”的關(guān)系,表達(dá)式a"b表示a在b之前發(fā)生。先發(fā)生關(guān)系是一個傳遞關(guān)系。 26.分布式系統(tǒng)中,通常有4種互斥算法,一是集中式、二是非集中式、三是分布式、四是令牌環(huán)。 27.分布式系統(tǒng)中的選舉算法有兩種,一是欺負(fù)選舉算法;二是環(huán)選舉算法。 28.在以數(shù)據(jù)為中心的一致性模型中,順序一致性是指“任何執(zhí)行結(jié)果都是相同的,所有進(jìn)程對數(shù)據(jù)存儲的讀/寫操作是按某種序列順序執(zhí)行的,并且每個進(jìn)程的操作按照程序所制定的順序出現(xiàn)在這個序列中”。 29.在因果一致性中,所有進(jìn)程必須以相同的順序看到具有潛在因果關(guān)系的寫操作。不同機(jī)器可以以不同的順序看到并發(fā)的寫操作。 30.以客戶為中心的一致性模型中,滿足最終一致性的數(shù)據(jù)存儲具有以下屬性:沒有更新操作時,所有副本逐漸成為相互完全相同的拷貝。 31.以客戶為中心的一致性模型中,一個寫操作總是在同一進(jìn)程執(zhí)行的后續(xù)讀操作之前完成,而不管這個后續(xù)的讀操作發(fā)生在什么位置。 32.在一致性協(xié)議中,基于主備份的協(xié)議比較盛行,它包括遠(yuǎn)程寫協(xié)議和本地寫協(xié)議兩種。 33.在一致性協(xié)議中,復(fù)制的寫協(xié)議包括主動復(fù)制和基于多數(shù)表決的一致性協(xié)議兩種。 34.在容錯性中,故障通常被分為暫時性故障、間歇性故障和持久性故障三大類型。 35.如果系統(tǒng)是容錯的,使用冗余掩蓋故障的方法有信息冗余、時間冗余和物理冗余三種。 36.在可靠的客戶-服務(wù)器通信中,失敗時的RPC系統(tǒng)中發(fā)生客戶不能定位服務(wù)器、請求消息丟失、服務(wù)器崩潰、應(yīng)答消息丟失和客護(hù)端崩潰等5種形式。 37.在原子多播里,消息排序通常有4種不同的排序方法,它們分別是:不排序的多播、FIFO順序的多播、按因果關(guān)系排序多播和全序多播。 38.容錯性的基本要求是從錯誤中恢復(fù),本質(zhì)上有兩種形式的錯誤恢復(fù),一是回退恢復(fù);另一種是前向恢復(fù)。 39.在分布式安全性中,通??紤]計算機(jī)系統(tǒng)受到的安全威脅有竊聽、中斷、修改和偽造等四種。 40.安全策略準(zhǔn)確地描述系統(tǒng)中的實體能夠采取的行為以及禁止采取的行為。 41.安全機(jī)制包括加密、身份認(rèn)證、授權(quán)和審計等四個部分。 42.分布式加密系統(tǒng)通常有三種類型,一是對稱加密系統(tǒng)(DES);二是公鑰加密系統(tǒng)(RSA)、三是散列函數(shù)(MDS)系統(tǒng)。 43.身份認(rèn)證是一種會話密鑰,常用的身份認(rèn)證有基于共享密鑰的身份認(rèn)證、使用密鑰分發(fā)中心的身份認(rèn)證、使用公鑰加密的身份認(rèn)證三種類型。 44.消息的完整性是指保護(hù)消息免受修改;其機(jī)密性確保竊聽者不能截獲和讀取消息。 45.在安全通道中,為了使消息完整性和機(jī)密性。通常采用數(shù)字簽名和會話密鑰的加密算法實現(xiàn)安全通道的數(shù)據(jù)交換。 46.在安全組通信中,要確保機(jī)密性,機(jī)密組通信使用公鑰加密系統(tǒng)可以解決;而安全的復(fù)制服務(wù)器組中共享一個保密簽名的方法。 47.在訪問控制中,要建立主體對對象的訪問權(quán)限,其普通方法是構(gòu)造一個訪問控制矩陣,而訪問控制列表(ACL)和權(quán)能列表來實現(xiàn)。 48.防火墻通常分為兩種不同的類型,一種是數(shù)據(jù)包過濾網(wǎng)關(guān);另一種是應(yīng)用層的網(wǎng)關(guān)。 49.在分布式系統(tǒng)安全管理中,主要分密鑰管理、安全組管理以及授權(quán)管理三大內(nèi)容。 50.在容錯性中,人們定義了一些不同類型的故障,主要的有崩潰性故障、遺漏性故障、定時性故障、響應(yīng)性故障以及隨意性故障等五大類。 二、選擇題(每題n分,共m個題,共計x分) 1.網(wǎng)絡(luò)體系結(jié)構(gòu)可以定義為:( C ) A、一種計算機(jī)網(wǎng)絡(luò)的實現(xiàn) B、執(zhí)行計算機(jī)數(shù)據(jù)處理的軟件結(jié)構(gòu) C、建立和使用通信硬件和軟件的一套規(guī)則和規(guī)范 D、由ISO制定的一個標(biāo)準(zhǔn) 2.在OSI參考模型中,數(shù)據(jù)鏈路層的數(shù)據(jù)服務(wù)單元是:( C ) A、分組 B、報文 C、幀 D、比特序列 3.下面屬于分布式計算系統(tǒng)的是(B C) A、資源管理 B、集群計算 C、網(wǎng)格計算 D、運行應(yīng)用程序 4.目前分布式信息系統(tǒng)按集成可分為(A B) A、事務(wù)處理系統(tǒng) B、企業(yè)應(yīng)用集成 C、網(wǎng)絡(luò)管理 D、資源分配系統(tǒng) 5.現(xiàn)在已認(rèn)可的分布式系統(tǒng)軟件體系結(jié)構(gòu)樣式有(ABCD) A、分層體系結(jié)構(gòu) B、基于對象的體系結(jié)構(gòu) C、以數(shù)據(jù)為中心的體系結(jié)構(gòu) D、基于事件的體系結(jié)構(gòu) 6.兩個旅行社甲和乙為旅客到某航空公司訂飛機(jī)票,形成互斥的資源是( A )。 A. 飛機(jī)票 B.旅行社 C.航空公司 D.旅行社和航空公司 7.DNS屬于( A )層協(xié)議。 A.應(yīng)用層 B.傳輸層 C.互聯(lián)網(wǎng)層 D.網(wǎng)絡(luò)接口層 8.活動目錄是一種( AB )結(jié)構(gòu)的目錄服務(wù)。 A.層次式 B.分布式 C.對等式 D.主次式 9.對于域名:test.com,DNS服務(wù)器查找順序是( B )。 A.先查找test主機(jī),再查找.com域 B.先查找.com域,再查找test主機(jī) C.隨機(jī)查找 D.以上答案皆是 10.SMTP協(xié)議是關(guān)于( A )的協(xié)議。 A.郵件傳輸 B.文件傳輸 C.超文本傳輸 D.網(wǎng)絡(luò)新聞組傳輸 11.POP3協(xié)議是關(guān)于( C )的協(xié)議。 A.超文本傳輸 B.郵件傳輸 C.接收郵件 D.網(wǎng)絡(luò)新聞組傳輸 12.遠(yuǎn)程客戶端登錄終端服務(wù)器必須提供一定的信息,下列有(AC)屬于這種必要的信息。 A.用戶名 B.域 C.服務(wù)器IP地址 D.連接名稱 13.在多播通信中,應(yīng)用層多播樹的質(zhì)量通常以(ABC)不同的尺度來度量。 A.鏈接樹 B. 相對延時補償 C. 樹成本 D. 樹結(jié)構(gòu) 14.以多播流方式傳遞內(nèi)容時只能采用(B)類型的發(fā)布點。 A.單播發(fā)布點 B.廣播發(fā)布點 C.單播發(fā)布點或廣播發(fā)布 D.既不是單播發(fā)布點也非廣播發(fā)布點 15.DNS名稱空間是分層組織的一棵有根樹,標(biāo)識符是有( C )。 A.字母組成 B. 數(shù)字組成 C. 字母和數(shù)字組成 D. 漢字組成 16.IDL編譯器的輸出包括的文件是( ABD )。 A.文件頭 B. 客戶存根 C. 守護(hù)程序 D. 服務(wù)器存根 17.下列屬于流同步的是(C D)。 A.位同步 B. 字同步 C. 離散數(shù)據(jù)流與連續(xù)數(shù)據(jù)流之間同步 D.口型同步 18.實現(xiàn)線程包的基本方法有(AC)。 A.構(gòu)造一個完全在用戶模式下執(zhí)行的線程庫 B. 由進(jìn)程間通信實現(xiàn) C.由內(nèi)核來管理線程并進(jìn)行調(diào)度 D. 由用戶程序來實現(xiàn) 19.下面是多線程服務(wù)器可行的設(shè)計方法是(ACD) A.多線程文件服務(wù)器 B. Web服務(wù) C.單線稱文件服務(wù)器 D. 作為有限狀態(tài)機(jī) 20.與迭代名稱解析比較,遞歸名稱解析的優(yōu)點是(B C)。 A.要求服務(wù)器性能高 B. 緩存結(jié)果更為有效 C.能減少通信開銷 D. 算法簡單 21.名稱用來表示實體,下面屬于實體名稱的是(BCD) A.實體圖 B. 標(biāo)識符 C. 易于理解的名稱 D. 實體地址 22.下面用于定位移動實體的方法是(ABCD) A.使用廣播與多播 B. 使用轉(zhuǎn)發(fā)指針 C.給實體指定一個起始位置 D. 創(chuàng)建一棵分層搜索樹 23.分布式系統(tǒng)的全局狀態(tài)是指( B D )。 A.用于計算的臨時記錄 B. 每個進(jìn)程的本地狀態(tài) C.要發(fā)送的消息 D. 當(dāng)前正在傳輸中的消息 24.面向消息的中間件模型一般提供(ACD)。 A.持久異步通信 B. RPC和RMI C.電子郵件 D. 工作流 25.在分布式系統(tǒng)中,實現(xiàn)事務(wù)的方法是(B C)。 A.創(chuàng)建進(jìn)程 B. 為進(jìn)程分配私有工作空間 C.做寫前日志 D. 創(chuàng)建線程 26.并發(fā)控制的總體思想是( A )。 A.正確調(diào)度相沖突的操作 B. 對事務(wù)進(jìn)行管理 C.進(jìn)行數(shù)據(jù)的更新 D. 有序的通信 27.下面屬于進(jìn)程間同步算法的是(C D)。 A.FIFO算法 B. 基于優(yōu)先級的算法 C.選舉算法 D. 互斥算法 28.嚴(yán)格一致性中存在的問題是(A)。 A.依賴于絕對的全局時間 B. 不依賴于絕對的全局時間 C.依賴于并發(fā)控制算法 D. 不依賴于并發(fā)控制算法 29.下列屬于“以數(shù)據(jù)為中心的一致性模型”是(ACD)。 A.線性化和順序一致性 B. 最終一致性 C.因果一致性 D. FIFO一致性 30.下列屬于“以客戶為中心的一致性模型”是(BCD)。 A.嚴(yán)格一致性 B. 單調(diào)讀一致性 C.寫后讀一致性 D. 讀后寫一致性 31.下面屬于一致性協(xié)議的是(C D)。 A.傳輸協(xié)議 B. 中間件協(xié)議 C.基于主備份的協(xié)議 D. 復(fù)制的寫協(xié)議 32.基于主備份的協(xié)議是指(A B) A.負(fù)責(zé)協(xié)調(diào)X上的遠(yuǎn)程寫操作 B. 負(fù)責(zé)協(xié)調(diào)X上的本地寫操作 C.主動復(fù)制 D. 協(xié)調(diào)操作 33.冗余是獲得容錯性所需的關(guān)鍵技術(shù),下面屬于冗余掩蓋故障的是(BCD)。 A.存儲器冗余 B. 信息冗余 C.時間冗余 D. 物理冗余
34.在可靠多播通信中,解決反饋擁塞的方法是(A B)。 A.無等級的反饋控制 B. 分等級的反饋控制 C.分層的反饋控制 D. 閉環(huán)反饋控制 35.實現(xiàn)可靠原子多播的方法是(B C)。 A.轉(zhuǎn)發(fā)指針 B. 消息排序 C.虛擬同步 D. 指針緩存 36.在分布式系統(tǒng)安全設(shè)計問題中,控制的焦點是(ABC)。 A.防止無效操作的保護(hù) B. 防止未經(jīng)授權(quán)調(diào)用的保護(hù) C.防止未經(jīng)授權(quán)用戶的保護(hù) D. 安全機(jī)制的保護(hù) 37.在分布式系統(tǒng)中,加密和解密的實現(xiàn)是(D)。 A.遞歸算法 B. 安全管理 C.通道管理 D. 以密鑰為參數(shù)的加密算法 38.分布式系統(tǒng)常用的加密系統(tǒng)有(ABC)。 A.對稱加密系統(tǒng)(DES) B. 公鑰加密系統(tǒng)(RSA) C.散列函數(shù)(MDS) D. 授權(quán)加密 39.在分布式系統(tǒng)安全通道的通信中,其安全性歸結(jié)為(B C)。 A.授權(quán)訪問 B. 對通信各方進(jìn)行身份驗證 C.確保消息完整性和機(jī)密性 D. 檢驗權(quán)限 40.在分布式安全訪問控制中,實現(xiàn)訪問控制的方式有(A BC)。 A.構(gòu)造訪問控制矩陣 B. 構(gòu)造保護(hù)域 C.采用防火墻 D. 密鑰管理
三.簡答題(每小題n分,共m分) 1.按照資源共享的觀念定義的計算機(jī)網(wǎng)絡(luò)具備哪幾個主要特征? 答:三個主要特征:1.建立的目的是實現(xiàn)計算機(jī)資源的共享,包括數(shù)據(jù)資源\軟件資源和硬件資源。2.互連的計算機(jī)是分布在不同地理位置的多臺獨立的”自治計算機(jī)”。3.連網(wǎng)的計算機(jī)之間的通信必須遵循共同的網(wǎng)絡(luò)協(xié)議。 2.為什么傳輸層通信服務(wù)常常不適于構(gòu)建分布式應(yīng)用程序? 答:因為它不適合用于支持多層客戶-服務(wù)器交互過程所使用的同步請求-應(yīng)答方式,在可靠傳輸中,造成許多開銷都耗費在連接的管理上。 3.描述一下客戶和服務(wù)器之間使用套接字的無連接通信是如何進(jìn)行的? 答:首先服務(wù)器和客戶端都要創(chuàng)建一個套接字,并遵循UDP協(xié)議,服務(wù)器將其所在的IP地址以及一個端口號綁定到套接字,完成綁定后,服務(wù)器就能接收來自客戶端的UDP數(shù)據(jù)包了。同樣,客戶端在創(chuàng)建套接字后,能夠向服務(wù)器發(fā)送UDP包進(jìn)行通信,通信過程中,服務(wù)器和客戶端之間是不用建立連接的。 4.簡述TCP和UDP協(xié)議在通信中的區(qū)別 TCP是面向連接的可靠的協(xié)議,適用于傳輸大批量的文件,檢查是否正常傳輸。而UDP是面向非連接的不可靠的協(xié)議,適用于傳輸一次性小批量的文件,不對傳輸數(shù)據(jù)報進(jìn)行檢查。 TCP需要先建立連接才能通話;而UDP不需要,實時性要高點。 TCP可以形象比喻為打電話的過程;UDP可以比喻為發(fā)短信的過程。 TCP不能發(fā)送廣播和組播,只能單播;UDP可以廣播和組播。 5.Java RMI對代碼遷移依賴到何種程度? 答:Java RMI時,每一個方法引用傳遞實際上就是執(zhí)行一次代碼的遷移,對于移植性差的進(jìn)程來說,代碼遷移是非常必要的。
6.標(biāo)識符是否可以包含它所引用實體的信息? 答:標(biāo)識符可以包含它所引用實體的信息,但是,這些信息不允許修改,因為那意味著標(biāo)識符被改變。 7.在深度為k的分層定位服務(wù)中,當(dāng)移動實體改變它的位置時,最多需要更新多少條位置記錄? 答:移動實體改變位置會產(chǎn)生刪除操作和插入操作,刪除操作至少需要更新k條位置記錄。同樣,插入操作也需要更新k條位置記錄。最后,刪除與插入更新移動實體位置的記錄共需要2k+1條。 8.要使用Lamport時間戳實現(xiàn)全序多播,是不是每個消息都必須要被嚴(yán)格地確認(rèn)? 答:不需要,任何類型的消息,只要它的時間戳大于所接收到的消息的時間戳,就可以被加入消息隊列,使用Lamport時間戳實現(xiàn)全序多播。 9.許多分布式算法需要使用協(xié)調(diào)進(jìn)程。討論一下,這樣的算法實際上可以在什么程度上被看作為分布式的? 答:在集中式算法中,一般會選擇一個固定的進(jìn)程作為協(xié)調(diào)者,其它的進(jìn)程可以分布在不同的機(jī)器上運行。分布式算法中也同樣可以引入?yún)f(xié)調(diào)進(jìn)程,但是,這個進(jìn)程并不是固定的,它是從作為算法一部分的進(jìn)程中選擇的。因此,使用協(xié)調(diào)進(jìn)程并不會影響算法的分布性。 10.作業(yè)調(diào)度和進(jìn)程調(diào)度有何區(qū)別? 答:作業(yè)調(diào)度與進(jìn)程調(diào)度之間的差別主要是:作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作業(yè)只是具有獲得處理機(jī)的資格,但尚未占有處理機(jī),不能立即在其上實際運行;而進(jìn)程調(diào)度是微觀調(diào)度,動態(tài)地把處理機(jī)實際地分配給所選擇的進(jìn)程,使之真正活動起來。另外,進(jìn)程調(diào)度相當(dāng)頻繁,而作業(yè)調(diào)度執(zhí)行的次數(shù)一般很少。 11.請解釋DNS如何進(jìn)行復(fù)制,以及它實際運行很好的原因。 答:DNS進(jìn)行復(fù)制的基本思想是:域名服務(wù)器可以緩存以前查找過的結(jié)果。由于DNS的名稱到地址的映射很少更改,因此,這些結(jié)果可以緩存很長一段時間。 12.簡述進(jìn)程與程序的聯(lián)系和區(qū)別 答:(1)聯(lián)系:一個進(jìn)程可以涉及到一個或幾個程序的執(zhí)行;一個程序可以對應(yīng)一個或多個進(jìn)程,即同一程序段可以在不同數(shù)據(jù)集合上運行,可構(gòu)成不同的進(jìn)程,例如打印輸出程序段,例如同一高級語言編譯程序與多個用戶源程序。 (2)進(jìn)程和程序的區(qū)別主要體現(xiàn)在: 1)進(jìn)程是動態(tài)的,具有一定的生命周期,而程序是靜態(tài)的; 2)進(jìn)程可并發(fā)執(zhí)行,而沒有創(chuàng)建進(jìn)程的程序是不能執(zhí)行的; 3)進(jìn)程是操作系統(tǒng)中申請和分配資源的基本單位,而沒有創(chuàng)建進(jìn)程的程序是不能申請資源的; 4)進(jìn)程包括程序、數(shù)據(jù)和進(jìn)程控制塊; 5)同一程序的多次執(zhí)行對應(yīng)多個進(jìn)程 13.在下圖中,一個順序一致的存儲器允許6種可能的語句交叉。請列舉出這6種可能的情況。
答:這6種可能的情況是: (1) a=1; if ( b= =0 ); b=1; if ( a= =0 ); (2) a=1; b=1; if ( a= =0 ); if ( b= =0 ); (3) a=1; b=1; if ( b= =0 ); if ( a= =0 ); (4) b=1; if ( a= =0 ); a=1; if ( b= =0 ); (5) b=1; a=1; if ( b= =0 ); if ( a= =0 ); (6) b=1; a=1; if ( a= =0 ); if ( b= =0 ); 14.一個文件被復(fù)制在10個服務(wù)器上,請列出表決算法允許的所有讀團(tuán)體和寫團(tuán)體。 答:下列可能性的讀團(tuán)體和寫團(tuán)體是合法的: (1,10)、(2,9)、(3,8)、(4,7)、(5,6)、(6,5)、(7,4)、(8,3)、(9,2)、(10,1)。 15.原子多播的可擴(kuò)展性重要到哪種程度上? 答:它取決于一組包含多個進(jìn)程的狀態(tài)。如果進(jìn)程為故障容錯進(jìn)行了復(fù)制,擁有少量的副本可能就足夠了,在這種情況下,可擴(kuò)展性幾乎不成問題。如果是由不同進(jìn)程構(gòu)成的組,可擴(kuò)展性就可能成了一個問題。當(dāng)為了性能而復(fù)制時,原子多播自身可能超出負(fù)荷的能力。 16.在兩階段提交協(xié)議中,為什么即使在參與者們選擇一個新的協(xié)調(diào)者的情況下也不會完全消除阻塞? 答:因為選舉結(jié)束后,新的協(xié)調(diào)者也同樣可能會崩潰。在這種情況下,其余的參與者也不能做出最后決定,因為這需要由新當(dāng)選的協(xié)調(diào)者發(fā)起選舉。 17.假設(shè)Alice希望向Bob發(fā)送一條消息m。她沒有使用Bob的公鑰K+B加密m,而是生成了一個會話密鑰KA,B,然后發(fā)送[KA,B(m), K+B(KA,B)]。為什么一般來講,這種方法更好?(提示:考慮性能問題)。 答:會話密鑰有一個短而固定的長度,而消息m可能是任意長度。因此,采用會話密鑰和公鑰結(jié)合加密短消息通常在性能方面優(yōu)于只使用一個公鑰加密的消息。 18.列舉出為密鑰管理使用集中式服務(wù)的一些優(yōu)點和缺點。 答:一個顯著的優(yōu)點是簡單。比如:若有N個客戶在一個集中式的服務(wù)器上共享了1個密鑰,我們就只需要維護(hù)N個密鑰;如果是成對共享密鑰,那我們就需要維護(hù)N(N-1)/2個。而且使用集中式服務(wù)器存儲和維護(hù)都在一個站點上,使存儲和維護(hù)都比較方便。潛在的缺點:首先是服務(wù)器有可能成為性能和可用性的瓶頸。其次,如果服務(wù)器機(jī)密被泄露,就必須建立新的密鑰。 19.一個網(wǎng)絡(luò)中,DNS服務(wù)器應(yīng)該部署在什么地方最合適? 答:要用域名訪問Internet上的服務(wù)器必須先訪問DNS服務(wù)器,經(jīng)過DNS對域名的解析才能連接到相應(yīng)的主機(jī)。所以,在一個網(wǎng)絡(luò)中,DNS服務(wù)器應(yīng)該部署在客戶端可以集中訪問的網(wǎng)絡(luò)位置上。 20.進(jìn)程間同步和互斥的含義是什么? 答:進(jìn)程間同步是并發(fā)進(jìn)程之間存在的相互制約和相互依賴的關(guān)系。 進(jìn)程間互斥是若干進(jìn)程共享一資源時,任何時刻只允許一個進(jìn)程使用。
四.綜合題(本題結(jié)果不是唯一的,每小題n分,共m分) 1.有三個進(jìn)程P1,P2和P3并發(fā)工作。進(jìn)程P1需用資源S3和S1;進(jìn)程P2需用資源S1和S2;進(jìn)程P3需用資源S2和S3。回答: (1)若對資源分配不加限制,會發(fā)生什么情況?為什么? (2)為保證進(jìn)程正確工作,應(yīng)采用怎樣的資源分配策略?為什么?
2.如何設(shè)計一個好的RPC?采用client/server模型與應(yīng)用程序的組件說明開發(fā)過程?
3.如何用Java或其它語言解決線程同步與互斥的問題?(任選擇一種語言)
4.如何用Java或C/C++語言實現(xiàn)多線程?(任選擇一種語言)
5.分布式令牌環(huán)算法存在令牌丟失的問題,如果令牌丟失,會導(dǎo)致算法失敗,請將該算法改進(jìn)一下,使該算法既能檢測到令牌丟失,也能進(jìn)行補救。
6.散列函數(shù)為什么是安全的?散列函數(shù)的基本要求有哪些?常用散列函數(shù)的構(gòu)造方法有哪些?
7.分布式可繁也可以簡,請你組建一個最簡單的分布式系統(tǒng)模型。
8.一個最完備的分布式體系由以下模塊組成。請說明各模塊的功能?
9.設(shè)計一個分布式網(wǎng)絡(luò)管理系統(tǒng)的架構(gòu)與開發(fā)模型。(200字左右) 分布式網(wǎng)絡(luò)管理系統(tǒng)的實現(xiàn)主要有對等式、層次式和混合式三種實現(xiàn)方式。 對等式(P2P)網(wǎng)絡(luò)管理:網(wǎng)管功能被分布到多個管理者上,完成各自域內(nèi)的網(wǎng)絡(luò)邏輯管理(綜合管理),而每個被管設(shè)備都是具有一定自我管理能力的自治單元。 層次式網(wǎng)絡(luò)管理:引入中層管理站MLM(Middle-Level Manager)以減輕頂層管理站MOM(Manager Of Managers)的負(fù)擔(dān),減少網(wǎng)絡(luò)傳輸、消除瓶頸,增加可靠性和擴(kuò)展性,從而提高整個網(wǎng)絡(luò)管理系統(tǒng)的性能。是一種很具生命力的方法。 混合式網(wǎng)絡(luò)管理:它結(jié)合了兩者的優(yōu)點,但當(dāng)網(wǎng)絡(luò)規(guī)模擴(kuò)大時,集成管理站和單元管理站的增多將導(dǎo)致管理關(guān)系復(fù)雜性的非線性增長。 請圍繞分布式管理的主題,選擇一種方式,依次從以下三個方面論述。 (1)結(jié)合你參與或你熟悉網(wǎng)絡(luò)管理架構(gòu)一個簡單的模型; (2)簡要說明數(shù)據(jù)一致性算法; (3)簡述采用的數(shù)據(jù)安全性要求。
10.論分布式共享存儲一致性協(xié)議的關(guān)鍵技術(shù)(200字左右)。
11.論原子多播中的消息排序問題(200字左右)。
12.論分布式軟件可靠性評價(200字左右)。 軟件可靠性評價是軟件可靠性活動的重要組成部分,既可在軟件開發(fā)過程實施,也可針對最終軟件系統(tǒng)實施。軟件可靠性評價的難點在于軟件可靠性模型的選擇和軟件可靠性數(shù)據(jù)的收集與處理。請圍繞“軟件可靠性評價”論題,依次從以下三個方面進(jìn)行論述。 (1)簡要概述你參與實施的或你研究的軟件開發(fā)項目以及你承擔(dān)的主要工作。 (2)說明你在課題研究實施過程中所選擇的軟件可靠性模型,并論述在軟件可靠性模型選擇時應(yīng)該考慮的主要因素。 (3)收集軟件可靠性數(shù)據(jù)時經(jīng)常遇到的問題有哪些?簡述你收集軟件可靠性數(shù)據(jù)時所遇到的具體問題及解決的方法。 13.論軟件的靜態(tài)演化和動態(tài)演化及其應(yīng)用(200字左右)。 軟件演化(Software Evolution)是指軟件在其生命周期內(nèi)的更新行為和過程。演化是一系列貫穿軟件生命周期始終的活動,系統(tǒng)需求改變、功能實現(xiàn)增強、新功能加入、軟件架構(gòu)改變、軟件缺陷修復(fù)、運行環(huán)境改變均要求軟件系統(tǒng)能夠快速適應(yīng)變化,具有較強的演化能力。軟件靜態(tài)演化(Static Evolution)和動態(tài)演化(Dynamic Evolution)是目前軟件演化的兩種重要類型。 請圍繞“軟件的靜態(tài)演化和動態(tài)演化及其應(yīng)用”論題,依次從以下三個方面進(jìn)行論述。 (1)概要敘述你參與管理或開發(fā)的軟件項目以及你在其中所擔(dān)任的主要工作。 (2)請分別對軟件靜態(tài)演化和動態(tài)演化的特點進(jìn)行論述,說明兩種軟件演化類型各自的優(yōu)缺點及其應(yīng)用場合,并舉例說明各自的常見演化技術(shù)手段。 (3)具體闡述你參與管理和開發(fā)的項目中所進(jìn)行的軟件演化活動的特點、演化的類型,以及所采取的對應(yīng)演化技術(shù)手段,說明具體實施過程以及實際應(yīng)用的效果。
|
|