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

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于分布式系統(tǒng)復(fù)習(xí)題與參考答案填空題(每小題n分,答錯(cuò)個(gè)扣分,全錯(cuò)全扣,共計(jì)m分)1.訪問透明性是指對(duì)不一樣數(shù)據(jù)表示形式以及資源訪問方式隱藏。而位置透明是用戶無法判別資源在系統(tǒng)中物理位置。2.遷移透明性是指分布式系統(tǒng)中資源移動(dòng)不會(huì)影響該資源訪問方式。而復(fù)制透明是指對(duì)同一個(gè)資源存在多個(gè)副本隱藏。3.一個(gè)開放分布式系統(tǒng)就是依照一系列準(zhǔn)則來提供服務(wù),這些準(zhǔn)則描述了所提供服務(wù)語法和語義。4.集群計(jì)算系統(tǒng)一個(gè)突出特征是它同構(gòu)性;它提供了最大程度分布式透明性。可用于單個(gè)程序在多臺(tái)計(jì)算機(jī)上并行地運(yùn)行。5.網(wǎng)格計(jì)算系統(tǒng)具備高度異構(gòu)性:其硬件、操作系統(tǒng)、網(wǎng)絡(luò)、管理域和安全策略等都不盡相同。6.網(wǎng)格計(jì)算系統(tǒng)一個(gè)關(guān)鍵問題是怎樣把來自不一樣計(jì)算機(jī)組織資源集中起來,使一組人或機(jī)構(gòu)進(jìn)行協(xié)調(diào)工作。7.分布式事務(wù)處理四個(gè)特征是:原子性、一致性、獨(dú)立性和持久性。8.分布式普適系統(tǒng)應(yīng)用程序需求歸納為三種,它們是:接收上下文改變、促使自主合成、認(rèn)可共享為默認(rèn)行為。9.分布式系統(tǒng)體系結(jié)構(gòu)樣式很多,其最主要有:分層體系結(jié)構(gòu);基于對(duì)象體系結(jié)構(gòu)、以數(shù)據(jù)為中心體系結(jié)構(gòu)以及基于事件體系結(jié)構(gòu)等四類。10.客戶/服務(wù)器結(jié)構(gòu)應(yīng)用程序通常劃分為三層,它們是:用戶接口層、處理層和數(shù)據(jù)層。11.在結(jié)構(gòu)化點(diǎn)對(duì)點(diǎn)體系結(jié)構(gòu)中覆蓋網(wǎng)絡(luò)是用一個(gè)確定性過程來組成,這個(gè)使用最多進(jìn)程是經(jīng)過一個(gè)分布式哈希表來組織進(jìn)程。12.超級(jí)對(duì)等體通常是維護(hù)一個(gè)索引或充當(dāng)一個(gè)代理程序結(jié)點(diǎn)。13.分布式軟件體系結(jié)構(gòu)主要分集中式、非集中式和各種混合形式三大類。其非集中式體系結(jié)構(gòu)又分為結(jié)構(gòu)化點(diǎn)對(duì)點(diǎn)、非結(jié)構(gòu)化點(diǎn)對(duì)點(diǎn)、超級(jí)對(duì)等體三種。14.實(shí)現(xiàn)軟件自適應(yīng)基本技術(shù)分為關(guān)鍵點(diǎn)分離、計(jì)算映像和基于組件設(shè)計(jì)三種類型。15.分布式自主系統(tǒng)指是自我管理、自我恢復(fù)、自我配置和自我優(yōu)化等各種自適應(yīng)性。16.一個(gè)線程獨(dú)立地執(zhí)行它自己程序代碼。線程系統(tǒng)通常只維護(hù)用來讓多個(gè)線程共享CPU所必需最少許信息。17.有兩種實(shí)現(xiàn)線程線程包基本方法:一是能夠結(jié)構(gòu)一個(gè)完全在用戶模式下執(zhí)行線程;二是由內(nèi)核來掌管線程并進(jìn)行調(diào)度。18.分布式系統(tǒng)中多線程通常有:多線程用戶和多線程服務(wù)器兩大類型。而以分發(fā)器/工作者模型組織起來多線程服務(wù)器是最為流行一個(gè)。19.虛擬化可采取兩種方法,一是構(gòu)建一個(gè)運(yùn)行時(shí)系統(tǒng),提供一套抽象指令集來執(zhí)行程序。二是提供虛擬機(jī)監(jiān)視器。20.在服務(wù)器組織結(jié)構(gòu)中,迭代服務(wù)器是自己處理請(qǐng)求,將響應(yīng)返回給客戶;而并發(fā)服務(wù)器將請(qǐng)求傳遞給某個(gè)獨(dú)立線程或其余進(jìn)程來處理。21.服務(wù)器集群在邏輯上由三層組成,第一層是邏輯交換機(jī);第二層是應(yīng)用/計(jì)算服務(wù);第三層是文件/數(shù)據(jù)庫系統(tǒng)。22.在代碼遷移框架結(jié)構(gòu)中,進(jìn)程包含三個(gè)段,它們是代碼段、資源段和執(zhí)行段三個(gè)段。23.進(jìn)程對(duì)資源綁定有三種類型:一是按標(biāo)識(shí)符綁定;二是按值綁定;三是按類型綁定。而三種類型資源對(duì)機(jī)器綁定是未連接資源、附著連接資源和緊固連接資源。24.中間件是一個(gè)應(yīng)用程序,它在邏輯上位于應(yīng)用層中,但在其中包含有多個(gè)通用協(xié)議,這些協(xié)議代表各自所在層,獨(dú)立于其余愈加尤其應(yīng)用。25.在RPC操作中,客戶存根功效是將得到參數(shù)打包成消息,然后將消息發(fā)送給服務(wù)器存根。26.全部DCE底層編程模型都是客戶-服務(wù)器模型。而DCE本身一部分是由分布式文件服務(wù)、目錄服務(wù)、安全服務(wù)以及分布式時(shí)間服務(wù)等組成。27.IDL編譯器輸出包含三個(gè)文件,它們是頭文件、客戶存根和服務(wù)器存根。28.在面向消息通信中,通常分為面向消息瞬時(shí)通信和持久通信兩種機(jī)制。29.在面向消息瞬時(shí)通信中,通常采取套接字接口和消息傳遞接口。30.在面向持久通信中,消息隊(duì)列系統(tǒng)為持久異步通信提供多個(gè)支持。它提供消息中介存放能力。31.在消息隊(duì)列系統(tǒng)中,隊(duì)列由隊(duì)列管理器來管理,它與發(fā)送或接收消息應(yīng)用程序直接交互。32.在消息隊(duì)列系統(tǒng)中,轉(zhuǎn)換是由隊(duì)列網(wǎng)絡(luò)中特定結(jié)點(diǎn)完成,這些結(jié)點(diǎn)稱為消息轉(zhuǎn)換器。33.在面向流通信中,數(shù)據(jù)流傳輸模式有異步傳輸模式、同時(shí)傳輸模式和等時(shí)傳輸模式等三種。34.在流與服務(wù)質(zhì)量(QOS)描述中,服務(wù)質(zhì)量特征指是數(shù)據(jù)傳輸所要求比特率、創(chuàng)建會(huì)話最大延時(shí)、端到端最大延時(shí)、最大延時(shí)抖動(dòng)以及最大往返延時(shí)等。35.流同時(shí)有兩種類型,一個(gè)是在離散數(shù)據(jù)流與連續(xù)數(shù)據(jù)流之間保持同時(shí);另一個(gè)是連續(xù)數(shù)據(jù)流之間同時(shí)。36.在流同時(shí)機(jī)制中,需要研究?jī)蓚€(gè)問題是:一個(gè)是兩個(gè)流同時(shí)基本機(jī)制;二是在網(wǎng)絡(luò)環(huán)境下這些機(jī)制分布式版本。37.應(yīng)用層多播基本思想是結(jié)點(diǎn)組織成一個(gè)覆蓋網(wǎng)絡(luò),然后用它來傳輸信息給其組員。一個(gè)主要原因是網(wǎng)絡(luò)路由器不在組組員中。38.在覆蓋網(wǎng)絡(luò)構(gòu)建時(shí),主要有兩種方法,一個(gè)是結(jié)點(diǎn)本身直接組織成樹;另一個(gè)是結(jié)點(diǎn)組織成一個(gè)網(wǎng)狀網(wǎng)絡(luò)。39.應(yīng)用層多播樹質(zhì)量通常以三種不一樣尺度來度量,一是鏈接樹;二是相對(duì)延時(shí)賠償;三是樹成本。40.在基于gossip數(shù)據(jù)通信中,通常采取感染協(xié)議傳輸信息。一個(gè)流行傳輸模型是anti-entropy。41.分布式系統(tǒng)中,有三種不一樣命名系統(tǒng),它分別是無層次命名;結(jié)構(gòu)化命名和基于屬性命名。42.在無層次命名中,通常有廣播和多播、轉(zhuǎn)發(fā)指針、基于宿主位置、分布式散列表、分層結(jié)構(gòu)等方法實(shí)現(xiàn)實(shí)體定位。43.基于屬性命名系統(tǒng)實(shí)現(xiàn)方式有兩種。一個(gè)是分層實(shí)現(xiàn),使得目錄項(xiàng)集合形成了分層目錄信息樹。而另一個(gè)是非集中式實(shí)現(xiàn),它是采取映射到分布式散列表方式。44.GPS使用了29顆衛(wèi)星,每個(gè)衛(wèi)星使用4個(gè)原子時(shí)鐘,這些時(shí)鐘由地面上特定基站進(jìn)行校準(zhǔn)。45.一次將全部消息以相同次序傳送給每個(gè)接收多播操作稱為全序多播。Lamport時(shí)間戳能夠用于以完全分布式方式實(shí)現(xiàn)。46.向量時(shí)鐘能捕捉因果關(guān)系。創(chuàng)建向量時(shí)鐘是讓每個(gè)進(jìn)程Pi維護(hù)一個(gè)向量VCi來完成。47.互斥集中式算法優(yōu)點(diǎn)是易于實(shí)現(xiàn)、很公平、確保了次序一致性。而缺點(diǎn)是協(xié)作者是單個(gè)故障點(diǎn),假如它瓦解了,整個(gè)系統(tǒng)可能癱瘓。48.分布式互斥算法優(yōu)點(diǎn)是不會(huì)發(fā)生死鎖與餓死現(xiàn)象,也不存在單個(gè)故障點(diǎn)。其缺點(diǎn)是單個(gè)故障點(diǎn)被n個(gè)故障點(diǎn)所代替,所以故障率高;要求更多網(wǎng)絡(luò)流量。49.分布式系統(tǒng)中互斥算法有四種類型,一是集中式算法、二是非集中式算法、三是分布式算法、四是令牌環(huán)算法。50.分布式系統(tǒng)中,傳統(tǒng)選舉算法有兩種,一是欺負(fù)選舉算法;二是環(huán)選舉算法。51.網(wǎng)絡(luò)協(xié)議有三要素組成,時(shí)序是對(duì)事件實(shí)現(xiàn)次序詳細(xì)說明;語義是指需要發(fā)出何種控制信息以及要完成動(dòng)作與作出響應(yīng);語法是指用戶數(shù)據(jù)與控制信息結(jié)構(gòu)與格式。52.高速緩存相關(guān)性協(xié)議設(shè)計(jì)與實(shí)現(xiàn)是基于兩種策略:一是相關(guān)性檢測(cè)策略;二是相關(guān)性實(shí)施策略。53.令牌環(huán)算法每次進(jìn)/出需要消息數(shù)是1~∞;進(jìn)入前延遲是0~n-1;但存在令牌丟失和進(jìn)程瓦解問題。54.在開發(fā)持久一致性協(xié)議中,有三種限定偏差:它們是限定復(fù)制數(shù)字偏差、限定復(fù)制新舊程度偏差和限定次序偏差。55.軟件自適應(yīng)基本技術(shù)有3種,一是關(guān)鍵點(diǎn)分離、二是計(jì)算映像、三是基于組件設(shè)計(jì)。56.TCP/IP體系結(jié)構(gòu)傳輸層上定義兩個(gè)傳輸協(xié)議為傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。57.慣用進(jìn)程調(diào)度算法有先來先服務(wù)、優(yōu)先數(shù)法和輪轉(zhuǎn)法58.進(jìn)程三個(gè)基本狀態(tài)是就緒、執(zhí)行、等候(阻塞)。59.進(jìn)程是程序

在一個(gè)數(shù)據(jù)集合上

運(yùn)行過程

,是系統(tǒng)進(jìn)行資源分配和調(diào)度一個(gè)

獨(dú)立單位

60.進(jìn)程通常四個(gè)特征是動(dòng)態(tài)性,并發(fā)性,獨(dú)立性,異步性。61.處理死鎖基本方法包含預(yù)防死鎖,防止死鎖,死鎖檢測(cè),死鎖恢復(fù)。62.在引進(jìn)線程操作系統(tǒng)中,調(diào)度和分配基本單位是線程,擁有資源單位是進(jìn)程。63.在分布式系統(tǒng)中,掛載外部名稱空間最少需要信息是:訪問協(xié)議名稱、服務(wù)器名稱和外部名稱空間中掛載點(diǎn)名稱。64.在名稱空間實(shí)現(xiàn)中,為了有效實(shí)現(xiàn)名稱空間,通常把它劃分為邏輯上三層,其三層指是全局層、行政層和管理層。65.在名稱解析實(shí)現(xiàn)中,通常采取兩種方法,一是迭代名稱解析;二是遞歸名稱解析。66.在邏輯時(shí)鐘算法中,Lamport定義了一個(gè)稱作“先發(fā)生”關(guān)系,表示式ab表示a在b之前發(fā)生。先發(fā)生關(guān)系是一個(gè)傳遞關(guān)系。67.在以數(shù)據(jù)為中心一致性模型中,次序一致性是指“任何執(zhí)行結(jié)果都是相同,全部進(jìn)程對(duì)數(shù)據(jù)存放讀/寫操作是按某種序列次序執(zhí)行,而且每個(gè)進(jìn)程操作按照程序所制訂次序出現(xiàn)在這個(gè)序列中”。68.在因果一致性中,全部進(jìn)程必須以相同次序看到具備潛在因果關(guān)系寫操作。不一樣機(jī)器能夠以不一樣次序看到并發(fā)寫操作。69.以客戶為中心一致性模型中,滿足最終一致性數(shù)據(jù)存放具備以下屬性:沒有更新操作時(shí),全部副本逐步成為相互完全相同拷貝。70.以客戶為中心一致性模型中,一個(gè)寫操作總是在同一進(jìn)程執(zhí)行后續(xù)讀操作之前完成,而不論這個(gè)后續(xù)讀操作發(fā)生在什么位置。71.在一致性協(xié)議中,基于主備份協(xié)議比較盛行,它包含遠(yuǎn)程寫協(xié)議和當(dāng)?shù)貙憛f(xié)議兩種。72.在一致性協(xié)議中,復(fù)制寫協(xié)議包含主動(dòng)復(fù)制和基于多數(shù)表決一致性協(xié)議兩種。73.在容錯(cuò)性中,故障通常被分為暫時(shí)性故障、間歇性故障和持久性故障三大類型。74.假如系統(tǒng)是容錯(cuò),使用冗余掩蓋故障方法有信息冗余、時(shí)間冗余和物理冗余三種。75.在可靠客戶-服務(wù)器通信中,失敗時(shí)RPC系統(tǒng)中發(fā)生客戶不能定位服務(wù)器、請(qǐng)求消息丟失、服務(wù)器瓦解、應(yīng)答消息丟失和客護(hù)端瓦解等5種形式。76.在原子多播里,消息排序通常有4種不一樣排序方法,它們分別是:不排序多播、FIFO次序多播、按因果關(guān)系排序多播和全序多播。77.容錯(cuò)性基本要求是從錯(cuò)誤中恢復(fù),本質(zhì)上有兩種形式錯(cuò)誤恢復(fù),一是回退恢復(fù);另一個(gè)是前向恢復(fù)。78.在分布式安全性中,通常考慮計(jì)算機(jī)系統(tǒng)受到安全威脅有竊聽、中止、修改和偽造等四種。79.安全策略準(zhǔn)確地描述系統(tǒng)中實(shí)體能夠采取行為以及禁止采取行為。80.安全機(jī)制包含加密、身份認(rèn)證、授權(quán)和審計(jì)等四個(gè)部分。81.分布式加密系統(tǒng)通常有三種類型,一是對(duì)稱加密系統(tǒng)(DES);二是公鑰加密系統(tǒng)(RSA)、三是散列函數(shù)(MDS)系統(tǒng)。82.身份認(rèn)證是一個(gè)會(huì)話密鑰,慣用身份認(rèn)證有基于共享密鑰身份認(rèn)證、使用密鑰分發(fā)中心身份認(rèn)證、使用公鑰加密身份認(rèn)證三種類型。83.消息完整性是指保護(hù)消息免受修改;其機(jī)密性確保竊聽者不能截獲和讀取消息。84.在安全通道中,為了使消息完整性和機(jī)密性。通常采取數(shù)字署名和會(huì)話密鑰加密算法實(shí)現(xiàn)安全通道數(shù)據(jù)交換。85.在安全組通信中,要確保機(jī)密性,機(jī)密組通信使用公鑰加密系統(tǒng)能夠處理;而安全復(fù)制服務(wù)器組中共享一個(gè)保密署名方法。86.在訪問控制中,要建立主體對(duì)對(duì)象訪問權(quán)限,其普通方法是結(jié)構(gòu)一個(gè)訪問控制矩陣,而訪問控制列表(ACL)和權(quán)能列表來實(shí)現(xiàn)。87.防火墻通常分為兩種不一樣類型,一個(gè)是數(shù)據(jù)包過濾網(wǎng)關(guān);另一個(gè)是應(yīng)用層網(wǎng)關(guān)。88.在分布式系統(tǒng)安全管理中,主要分密鑰管理、安全組管理以及授權(quán)管理三大內(nèi)容。89.在容錯(cuò)性中,人們定義了一些不一樣類型故障,主要有瓦解性故障、遺漏性故障、定時(shí)性故障、響應(yīng)性故障以及隨意性故障等五大類。90.在容錯(cuò)性中,消息日志基本思想是:假如消息傳輸能夠重放,那就能夠抵達(dá)一個(gè)全局一致狀態(tài)而不需要從穩(wěn)定存放中恢復(fù)該狀態(tài)。1.下面特征分別屬于計(jì)算機(jī)網(wǎng)絡(luò)和分布式計(jì)算機(jī)系統(tǒng),請(qǐng)加以區(qū)分:分布式計(jì)算機(jī)是指系統(tǒng)內(nèi)部對(duì)用戶是完全透明;系統(tǒng)中計(jì)算機(jī)即合作又自治;系統(tǒng)能夠利用多個(gè)物理和邏輯資源,能夠動(dòng)態(tài)地給它們分配任務(wù)。計(jì)算機(jī)網(wǎng)絡(luò)是指互連計(jì)算機(jī)是分布在不一樣地理位置多臺(tái)獨(dú)立“自治計(jì)算機(jī)”。2.點(diǎn)到點(diǎn)通信子網(wǎng)拓?fù)浣Y(jié)構(gòu)主要有以下幾個(gè):星型、環(huán)型、樹型、網(wǎng)狀型,請(qǐng)依照其特征填寫對(duì)應(yīng)結(jié)構(gòu)。網(wǎng)狀型:結(jié)點(diǎn)之間連接是任意,沒有規(guī)律。環(huán)型:節(jié)點(diǎn)經(jīng)過點(diǎn)到點(diǎn)通信線路連接成閉合環(huán)路。星型:節(jié)點(diǎn)經(jīng)過點(diǎn)到點(diǎn)通信線路與中心結(jié)點(diǎn)相連;樹型:結(jié)點(diǎn)按層次進(jìn)行連接。3.分布式計(jì)算系統(tǒng)能夠分為兩個(gè)子組,它們是集群計(jì)算系統(tǒng)和網(wǎng)格計(jì)算系統(tǒng)。4.分布式事務(wù)處理具備4個(gè)特征,原子性:對(duì)外部來說,事務(wù)處理是不可見;一致性:事務(wù)處理不會(huì)違反系統(tǒng)不變性;獨(dú)立性:并發(fā)事務(wù)處理不會(huì)相互干擾;持久性:事務(wù)處理一旦提交,所發(fā)生改變是永久性。5.網(wǎng)絡(luò)協(xié)議有三要素組成,時(shí)序是對(duì)事件實(shí)現(xiàn)次序詳細(xì)說明;語義是指需要發(fā)出何種控制信息,以及要完成動(dòng)作與作出響應(yīng);語法是指用戶數(shù)據(jù)與控制信息結(jié)構(gòu)與格式6.依照組件和連接器不一樣,分布式系統(tǒng)體系結(jié)構(gòu)最主要有4種,它們是:分層體系結(jié)構(gòu)、基于對(duì)象體系結(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ì)算機(jī)操作系統(tǒng)。9.軟件自適應(yīng)基本技術(shù)有3種,一是關(guān)鍵點(diǎn)分離、二是計(jì)算映像、三是基于組件設(shè)計(jì)。10.DCE本身是由多個(gè)服務(wù)組成,慣用有分布式文件系統(tǒng)、目錄服務(wù)、安全服務(wù)以及分布式時(shí)間服務(wù)等。11.TCP/IP體系結(jié)構(gòu)傳輸層上定義兩個(gè)傳輸協(xié)議為傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。12.WindowsNT結(jié)構(gòu)借用了層次模型和客戶/服務(wù)器兩種模型。13.慣用進(jìn)程調(diào)度算法有先來先服務(wù)、優(yōu)先數(shù)法和輪轉(zhuǎn)法14.進(jìn)程三個(gè)基本狀態(tài)是就緒、執(zhí)行、等候(阻塞)。15.進(jìn)程是程序

在一個(gè)數(shù)據(jù)集合上

運(yùn)行過程

,是系統(tǒng)進(jìn)行資源分配和調(diào)度一個(gè)

獨(dú)立單位

16.進(jìn)程四個(gè)特征是動(dòng)態(tài)性,并發(fā)性,獨(dú)立性,異步性。17.操作系統(tǒng)通常能夠分為以下幾個(gè)類型:批處理系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。18.處理死鎖基本方法包含預(yù)防死鎖,防止死鎖,死鎖檢測(cè),死鎖恢復(fù)。19.在引進(jìn)線程操作系統(tǒng)中,調(diào)度和分配基本單位是線程,擁有資源單位是進(jìn)程。20.在面向流通信中,為連續(xù)提供支持?jǐn)?shù)據(jù)流模式有異步傳輸模式、同時(shí)傳輸模式和等時(shí)傳輸模式三種。21.在流同時(shí)機(jī)制,通常有在數(shù)據(jù)單元層次上進(jìn)行顯式同時(shí)和經(jīng)過高級(jí)接口支持同時(shí)兩種。22.在分布式系統(tǒng)中,掛載外部名稱空間最少需要信息是:訪問協(xié)議名稱、服務(wù)器名稱和外部名稱空間中掛載點(diǎn)名稱。23.在名稱空間實(shí)現(xiàn)中,為了有效實(shí)現(xiàn)名稱空間,通常把它劃分為邏輯上三層,其三層指是全局層、行政層和管理層。24.在名稱解析實(shí)現(xiàn)中,通常采取兩種方法,一是迭代名稱解析;二是遞歸名稱解析。25.在邏輯時(shí)鐘算法中,Lamport定義了一個(gè)稱作“先發(fā)生”關(guān)系,表示式ab表示a在b之前發(fā)生。先發(fā)生關(guān)系是一個(gè)傳遞關(guān)系。26.分布式系統(tǒng)中,通常有4種互斥算法,一是集中式、二是非集中式、三是分布式、四是令牌環(huán)。27.分布式系統(tǒng)中選舉算法有兩種,一是欺負(fù)選舉算法;二是環(huán)選舉算法。28.在以數(shù)據(jù)為中心一致性模型中,次序一致性是指“任何執(zhí)行結(jié)果都是相同,全部進(jìn)程對(duì)數(shù)據(jù)存放讀/寫操作是按某種序列次序執(zhí)行,而且每個(gè)進(jìn)程操作按照程序所制訂次序出現(xiàn)在這個(gè)序列中”。29.在因果一致性中,全部進(jìn)程必須以相同次序看到具備潛在因果關(guān)系寫操作。不一樣機(jī)器能夠以不一樣次序看到并發(fā)寫操作。30.以客戶為中心一致性模型中,滿足最終一致性數(shù)據(jù)存放具備以下屬性:沒有更新操作時(shí),全部副本逐步成為相互完全相同拷貝。31.以客戶為中心一致性模型中,一個(gè)寫操作總是在同一進(jìn)程執(zhí)行后續(xù)讀操作之前完成,而不論這個(gè)后續(xù)讀操作發(fā)生在什么位置。32.在一致性協(xié)議中,基于主備份協(xié)議比較盛行,它包含遠(yuǎn)程寫協(xié)議和當(dāng)?shù)貙憛f(xié)議兩種。33.在一致性協(xié)議中,復(fù)制寫協(xié)議包含主動(dòng)復(fù)制和基于多數(shù)表決一致性協(xié)議兩種。34.在容錯(cuò)性中,故障通常被分為暫時(shí)性故障、間歇性故障和持久性故障三大類型。35.假如系統(tǒng)是容錯(cuò),使用冗余掩蓋故障方法有信息冗余、時(shí)間冗余和物理冗余三種。36.在可靠客戶-服務(wù)器通信中,失敗時(shí)RPC系統(tǒng)中發(fā)生客戶不能定位服務(wù)器、請(qǐng)求消息丟失、服務(wù)器瓦解、應(yīng)答消息丟失和客護(hù)端瓦解等5種形式。37.在原子多播里,消息排序通常有4種不一樣排序方法,它們分別是:不排序多播、FIFO次序多播、按因果關(guān)系排序多播和全序多播。38.容錯(cuò)性基本要求是從錯(cuò)誤中恢復(fù),本質(zhì)上有兩種形式錯(cuò)誤恢復(fù),一是回退恢復(fù);另一個(gè)是前向恢復(fù)。39.在分布式安全性中,通常考慮計(jì)算機(jī)系統(tǒng)受到安全威脅有竊聽、中止、修改和偽造等四種。40.安全策略準(zhǔn)確地描述系統(tǒng)中實(shí)體能夠采取行為以及禁止采取行為。41.安全機(jī)制包含加密、身份認(rèn)證、授權(quán)和審計(jì)等四個(gè)部分。42.分布式加密系統(tǒng)通常有三種類型,一是對(duì)稱加密系統(tǒng)(DES);二是公鑰加密系統(tǒng)(RSA)、三是散列函數(shù)(MDS)系統(tǒng)。43.身份認(rèn)證是一個(gè)會(huì)話密鑰,慣用身份認(rèn)證有基于共享密鑰身份認(rèn)證、使用密鑰分發(fā)中心身份認(rèn)證、使用公鑰加密身份認(rèn)證三種類型。44.消息完整性是指保護(hù)消息免受修改;其機(jī)密性確保竊聽者不能截獲和讀取消息。45.在安全通道中,為了使消息完整性和機(jī)密性。通常采取數(shù)字署名和會(huì)話密鑰加密算法實(shí)現(xiàn)安全通道數(shù)據(jù)交換。46.在安全組通信中,要確保機(jī)密性,機(jī)密組通信使用公鑰加密系統(tǒng)能夠處理;而安全復(fù)制服務(wù)器組中共享一個(gè)保密署名方法。47.在訪問控制中,要建立主體對(duì)對(duì)象訪問權(quán)限,其普通方法是結(jié)構(gòu)一個(gè)訪問控制矩陣,而訪問控制列表(ACL)和權(quán)能列表來實(shí)現(xiàn)。48.防火墻通常分為兩種不一樣類型,一個(gè)是數(shù)據(jù)包過濾網(wǎng)關(guān);另一個(gè)是應(yīng)用層網(wǎng)關(guān)。49.在分布式系統(tǒng)安全管理中,主要分密鑰管理、安全組管理以及授權(quán)管理三大內(nèi)容。50.在容錯(cuò)性中,人們定義了一些不一樣類型故障,主要有瓦解性故障、遺漏性故障、定時(shí)性故障、響應(yīng)性故障以及隨意性故障等五大類。二、選擇題(每小題n分,共m個(gè)題,共計(jì)x分)1.分布式系統(tǒng)中擴(kuò)展技術(shù)通常有:(AB)。A.隱藏通信等候時(shí)間B.復(fù)制技術(shù)C.互操作性D.可移植性2.下面屬于分布式混合體系結(jié)構(gòu)是:(CD)A.點(diǎn)對(duì)點(diǎn)體系結(jié)構(gòu)B.超級(jí)對(duì)等體C.邊界服務(wù)器系統(tǒng)D.協(xié)作分布式系統(tǒng)3.下面形成份布式反饋控制循環(huán)元素是:(ACD)A.尺度預(yù)測(cè)組件B.循環(huán)體C.反饋分析組件D.調(diào)整方法組件4.在分布式虛擬機(jī)體系結(jié)構(gòu)中,虛擬化通常采取方式是:(CD)。A.系統(tǒng)調(diào)用B.系統(tǒng)移植C.構(gòu)建進(jìn)程虛擬機(jī)D.虛擬機(jī)監(jiān)視器5.進(jìn)行代碼遷移理由是:(AB)。A.提升系統(tǒng)整體性能B.提升靈活性C.提升安全性D.提升存放能力6.在遷移與當(dāng)?shù)刭Y源關(guān)系中,進(jìn)程對(duì)資源綁定有:(BCD)。A.緊固連接綁定B.按標(biāo)識(shí)符綁定C.按值綁定D.按類型綁定7.在遷移與當(dāng)?shù)刭Y源關(guān)系中,資源對(duì)機(jī)器綁定有:(ABC)。A.未連接資源B.附著連接資源C.緊固連接資源D.按類型資源8.在DEC中,IDL中頭文件包含(ACD)。A.唯一標(biāo)識(shí)符B.調(diào)用語義C.類型定義D.常量定義與函數(shù)原型9.在面向消息持久通信中,消息隊(duì)列系統(tǒng)中基本接口有:(AB)。A.putB.getC.M_bsendD.socket10.在流同時(shí)中,同時(shí)機(jī)制需要搞清楚問題是:(CD)。A.控制接口B.MPEG流C.兩個(gè)流同時(shí)基本機(jī)制D.在網(wǎng)絡(luò)下機(jī)制版本11.網(wǎng)絡(luò)體系結(jié)構(gòu)能夠定義為:(C)A、一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)B、執(zhí)行計(jì)算機(jī)數(shù)據(jù)處理軟件結(jié)構(gòu)C、建立和使用通信硬件和軟件一套規(guī)則和規(guī)范D、由ISO制訂一個(gè)標(biāo)準(zhǔn)12.在OSI參考模型中,數(shù)據(jù)鏈路層數(shù)據(jù)服務(wù)單元是:(C)A、分組B、報(bào)文C、幀D、比特序列13.下面屬于分布式計(jì)算系統(tǒng)是(BC)A、資源管理B、集群計(jì)算C、網(wǎng)格計(jì)算D、運(yùn)行應(yīng)用程序14.現(xiàn)在分布式信息系統(tǒng)按集成可分為(AB)A、事務(wù)處理系統(tǒng)B、企業(yè)應(yīng)用集成C、網(wǎng)絡(luò)管理D、資源分配系統(tǒng)15.現(xiàn)在已認(rèn)可分布式系統(tǒng)軟件體系結(jié)構(gòu)樣式有(ABCD)A、分層體系結(jié)構(gòu)B、基于對(duì)象體系結(jié)構(gòu)C、以數(shù)據(jù)為中心體系結(jié)構(gòu)D、基于事件體系結(jié)構(gòu)16.兩個(gè)旅行社甲和乙為旅客到某航空企業(yè)訂飛機(jī)票,形成互斥資源是(A)。A.飛機(jī)票B.旅行社C.航空企業(yè)D.旅行社和航空企業(yè)17.DNS屬于(A)層協(xié)議。A.應(yīng)用層 B.傳輸層 C.互聯(lián)網(wǎng)層 D.網(wǎng)絡(luò)接口層18.活動(dòng)目錄是一個(gè)(AB)結(jié)構(gòu)目錄服務(wù)。A.層次式 B.分布式 C.對(duì)等式 D.主次式19.對(duì)于域名:,DNS服務(wù)器查找次序是(B)。A.先查找test主機(jī),再查找.com域 B.先查找.com域,再查找test主機(jī) C.隨機(jī)查找 D.以上答案皆是 20.SMTP協(xié)議是關(guān)于(A)協(xié)議。A.郵件傳輸 B.文件傳輸 C.超文本傳輸 D.網(wǎng)絡(luò)新聞組傳輸21.POP3協(xié)議是關(guān)于(C)協(xié)議。A.超文本傳輸 B.郵件傳輸 C.接收郵件 D.網(wǎng)絡(luò)新聞組傳輸22.遠(yuǎn)程客戶端登錄終端服務(wù)器必須提供一定信息,以下有(AC)屬于這種必要信息。A.用戶名 B.域 C.服務(wù)器IP地址 D.連接名稱23.在多播通信中,應(yīng)用層多播樹質(zhì)量通常以(ABC)不一樣尺度來度量。A.鏈接樹B.相對(duì)延時(shí)賠償C.樹成本D.樹結(jié)構(gòu)24.以多播流方式傳遞內(nèi)容時(shí)只能采取(B)類型公布點(diǎn)。A.單播公布點(diǎn) B.廣播公布點(diǎn)C.單播公布點(diǎn)或廣播公布 D.既不是單播公布點(diǎn)也非廣播公布點(diǎn)25.DNS名稱空間是分層組織一棵有根樹,標(biāo)識(shí)符是有(C)。A.字母組成B.數(shù)字組成C.字母和數(shù)字組成D.漢字組成26.IDL編譯器輸出包含文件是(ABD)。A.文件頭B.客戶存根C.守護(hù)程序D.服務(wù)器存根27.以下屬于流同時(shí)是(CD)。A.位同時(shí)B.字同時(shí)C.離散數(shù)據(jù)流與連續(xù)數(shù)據(jù)流之間同時(shí)D.口型同時(shí)28.實(shí)現(xiàn)線程包基本方法有(AC)。A.結(jié)構(gòu)一個(gè)完全在用戶模式下執(zhí)行線程庫B.由進(jìn)程間通信實(shí)現(xiàn)C.由內(nèi)核來管理線程并進(jìn)行調(diào)度D.由用戶程序來實(shí)現(xiàn)29.下面是多線程服務(wù)器可行設(shè)計(jì)方法是(ACD)A.多線程文件服務(wù)器B.Web服務(wù)C.單線稱文件服務(wù)器D.作為有限狀態(tài)機(jī)30.與迭代名稱解析比較,遞歸名稱解析優(yōu)點(diǎn)是(BC)。A.要求服務(wù)器性能高B.緩存結(jié)果更為有效C.能降低通信開銷D.算法簡(jiǎn)單31.名稱用來表示實(shí)體,下面屬于實(shí)體名稱是(BCD)A.實(shí)體圖B.標(biāo)識(shí)符C.易于了解名稱D.實(shí)體地址32.下面用于定位移動(dòng)實(shí)體方法是(ABCD)A.使用廣播與多播B.使用轉(zhuǎn)發(fā)指針C.給實(shí)體指定一個(gè)起始位置D.創(chuàng)建一棵分層搜索樹33.分布式系統(tǒng)全局狀態(tài)是指(BD)。A.用于計(jì)算暫時(shí)統(tǒng)計(jì)B.每個(gè)進(jìn)程當(dāng)?shù)貭顟B(tài)C.要發(fā)送消息D.當(dāng)前正在傳輸中消息34.面向消息中間件模型通常提供(ACD)。A.持久異步通信B.RPC和RMIC.電子郵件D.工作流35.在分布式系統(tǒng)中,實(shí)現(xiàn)事務(wù)方法是(BC)。A.創(chuàng)建進(jìn)程B.為進(jìn)程分配私有工作空間C.做寫前日志D.創(chuàng)建線程36.并發(fā)控制總體思想是(A)。A.正確調(diào)度相沖突操作B.對(duì)事務(wù)進(jìn)行管理C.進(jìn)行數(shù)據(jù)更新D.有序通信37.下面屬于進(jìn)程間同時(shí)算法是(CD)。A.FIFO算法B.基于優(yōu)先級(jí)算法C.選舉算法D.互斥算法38.嚴(yán)格一致性中存在問題是(A)。A.依賴于絕正確全局時(shí)間B.不依賴于絕正確全局時(shí)間C.依賴于并發(fā)控制算法D.不依賴于并發(fā)控制算法39.以下屬于“以數(shù)據(jù)為中心一致性模型”是(ACD)。A.持久一致性B.最終一致性C.因果一致性D.次序一致性40.以下屬于“以客戶為中心一致性模型”是(BCD)。A.嚴(yán)格一致性B.單調(diào)讀一致性C.單調(diào)寫一致性D.讀寫一致性41.下面屬于一致性協(xié)議是(CD)。A.傳輸協(xié)議B.中間件協(xié)議C.基于主備份協(xié)議D.復(fù)制寫協(xié)議42.基于主備份協(xié)議是指(AB)A.負(fù)責(zé)協(xié)調(diào)X上遠(yuǎn)程寫操作B.負(fù)責(zé)協(xié)調(diào)X上當(dāng)?shù)貙懖僮鰿.主動(dòng)復(fù)制D.協(xié)調(diào)操作43.冗余是取得容錯(cuò)性所需關(guān)鍵技術(shù),下面屬于冗余掩蓋故障是(BCD)。A.存放器冗余B.信息冗余C.時(shí)間冗余D.物理冗余44.在可靠多播通信中,處理反饋擁塞方法是(AB)。A.無等級(jí)反饋控制B.分等級(jí)反饋控制C.分層反饋控制D.閉環(huán)反饋控制45.實(shí)現(xiàn)可靠原子多播方法是(BC)。A.轉(zhuǎn)發(fā)指針B.消息排序C.虛擬同時(shí)D.指針緩存46.在分布式系統(tǒng)安全設(shè)計(jì)問題中,控制焦點(diǎn)是(ABC)。A.預(yù)防無效操作保護(hù)B.預(yù)防未經(jīng)授權(quán)調(diào)用保護(hù)C.預(yù)防未經(jīng)授權(quán)用戶保護(hù)D.安全機(jī)制保護(hù)47.在分布式系統(tǒng)中,加密和解密實(shí)現(xiàn)是(D)。A.遞歸算法B.安全管理C.通道管理D.以密鑰為參數(shù)加密算法48.分布式系統(tǒng)慣用加密系統(tǒng)有(ABC)。A.對(duì)稱加密系統(tǒng)(DES)B.公鑰加密系統(tǒng)(RSA)C.散列函數(shù)(MDS)D.授權(quán)加密49.在分布式系統(tǒng)安全通道通信中,其安全性歸結(jié)為(BC)。A.授權(quán)訪問B.對(duì)通信各方進(jìn)行身份驗(yàn)證C.確保消息完整性和機(jī)密性D.檢驗(yàn)權(quán)限50.在分布式安全訪問控制中,實(shí)現(xiàn)訪問控制方式有(ABC)。A.結(jié)構(gòu)訪問控制矩陣B.結(jié)構(gòu)保護(hù)域C.采取防火墻D.密鑰管理1.網(wǎng)絡(luò)體系結(jié)構(gòu)能夠定義為:(C)A、一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)B、執(zhí)行計(jì)算機(jī)數(shù)據(jù)處理軟件結(jié)構(gòu)C、建立和使用通信硬件和軟件一套規(guī)則和規(guī)范D、由ISO制訂一個(gè)標(biāo)準(zhǔn)2.在OSI參考模型中,數(shù)據(jù)鏈路層數(shù)據(jù)服務(wù)單元是:(C)A、分組B、報(bào)文C、幀D、比特序列3.下面屬于分布式計(jì)算系統(tǒng)是(BC)A、資源管理B、集群計(jì)算C、網(wǎng)格計(jì)算D、運(yùn)行應(yīng)用程序4.現(xiàn)在分布式信息系統(tǒng)按集成可分為(AB)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、基于對(duì)象體系結(jié)構(gòu)C、以數(shù)據(jù)為中心體系結(jié)構(gòu)D、基于事件體系結(jié)構(gòu)6.兩個(gè)旅行社甲和乙為旅客到某航空企業(yè)訂飛機(jī)票,形成互斥資源是(A)。A.飛機(jī)票B.旅行社C.航空企業(yè)D.旅行社和航空企業(yè)7.DNS屬于(A)層協(xié)議。A.應(yīng)用層 B.傳輸層 C.互聯(lián)網(wǎng)層 D.網(wǎng)絡(luò)接口層8.活動(dòng)目錄是一個(gè)(AB)結(jié)構(gòu)目錄服務(wù)。A.層次式 B.分布式 C.對(duì)等式 D.主次式9.對(duì)于域名:,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.相對(duì)延時(shí)賠償C.樹成本D.樹結(jié)構(gòu)14.以多播流方式傳遞內(nèi)容時(shí)只能采取(B)類型公布點(diǎn)。A.單播公布點(diǎn) B.廣播公布點(diǎn)C.單播公布點(diǎn)或廣播公布 D.既不是單播公布點(diǎn)也非廣播公布點(diǎn)15.DNS名稱空間是分層組織一棵有根樹,標(biāo)識(shí)符是有(C)。A.字母組成B.數(shù)字組成C.字母和數(shù)字組成D.漢字組成16.IDL編譯器輸出包含文件是(ABD)。A.文件頭B.客戶存根C.守護(hù)程序D.服務(wù)器存根17.以下屬于流同時(shí)是(CD)。A.位同時(shí)B.字同時(shí)C.離散數(shù)據(jù)流與連續(xù)數(shù)據(jù)流之間同時(shí)D.口型同時(shí)18.實(shí)現(xiàn)線程包基本方法有(AC)。A.結(jié)構(gòu)一個(gè)完全在用戶模式下執(zhí)行線程庫B.由進(jìn)程間通信實(shí)現(xiàn)C.由內(nèi)核來管理線程并進(jìn)行調(diào)度D.由用戶程序來實(shí)現(xiàn)19.下面是多線程服務(wù)器可行設(shè)計(jì)方法是(ACD)A.多線程文件服務(wù)器B.Web服務(wù)C.單線稱文件服務(wù)器D.作為有限狀態(tài)機(jī)20.與迭代名稱解析比較,遞歸名稱解析優(yōu)點(diǎn)是(BC)。A.要求服務(wù)器性能高B.緩存結(jié)果更為有效C.能降低通信開銷D.算法簡(jiǎn)單21.名稱用來表示實(shí)體,下面屬于實(shí)體名稱是(BCD)A.實(shí)體圖B.標(biāo)識(shí)符C.易于了解名稱D.實(shí)體地址22.下面用于定位移動(dòng)實(shí)體方法是(ABCD)A.使用廣播與多播B.使用轉(zhuǎn)發(fā)指針C.給實(shí)體指定一個(gè)起始位置D.創(chuàng)建一棵分層搜索樹23.分布式系統(tǒng)全局狀態(tài)是指(BD)。A.用于計(jì)算暫時(shí)統(tǒng)計(jì)B.每個(gè)進(jìn)程當(dāng)?shù)貭顟B(tài)C.要發(fā)送消息D.當(dāng)前正在傳輸中消息24.面向消息中間件模型通常提供(ACD)。A.持久異步通信B.RPC和RMIC.電子郵件D.工作流25.在分布式系統(tǒng)中,實(shí)現(xiàn)事務(wù)方法是(BC)。A.創(chuàng)建進(jìn)程B.為進(jìn)程分配私有工作空間C.做寫前日志D.創(chuàng)建線程26.并發(fā)控制總體思想是(A)。A.正確調(diào)度相沖突操作B.對(duì)事務(wù)進(jìn)行管理C.進(jìn)行數(shù)據(jù)更新D.有序通信27.下面屬于進(jìn)程間同時(shí)算法是(CD)。A.FIFO算法B.基于優(yōu)先級(jí)算法C.選舉算法D.互斥算法28.嚴(yán)格一致性中存在問題是(A)。A.依賴于絕正確全局時(shí)間B.不依賴于絕正確全局時(shí)間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é)議是(CD)。A.傳輸協(xié)議B.中間件協(xié)議C.基于主備份協(xié)議D.復(fù)制寫協(xié)議32.基于主備份協(xié)議是指(AB)A.負(fù)責(zé)協(xié)調(diào)X上遠(yuǎn)程寫操作B.負(fù)責(zé)協(xié)調(diào)X上當(dāng)?shù)貙懖僮鰿.主動(dòng)復(fù)制D.協(xié)調(diào)操作33.冗余是取得容錯(cuò)性所需關(guān)鍵技術(shù),下面屬于冗余掩蓋故障是(BCD)。A.存放器冗余B.信息冗余C.時(shí)間冗余D.物理冗余34.在可靠多播通信中,處理反饋擁塞方法是(AB)。A.無等級(jí)反饋控制B.分等級(jí)反饋控制C.分層反饋控制D.閉環(huán)反饋控制35.實(shí)現(xiàn)可靠原子多播方法是(BC)。A.轉(zhuǎn)發(fā)指針B.消息排序C.虛擬同時(shí)D.指針緩存36.在分布式系統(tǒng)安全設(shè)計(jì)問題中,控制焦點(diǎn)是(ABC)。A.預(yù)防無效操作保護(hù)B.預(yù)防未經(jīng)授權(quán)調(diào)用保護(hù)C.預(yù)防未經(jīng)授權(quán)用戶保護(hù)D.安全機(jī)制保護(hù)37.在分布式系統(tǒng)中,加密和解密實(shí)現(xiàn)是(D)。A.遞歸算法B.安全管理C.通道管理D.以密鑰為參數(shù)加密算法38.分布式系統(tǒng)慣用加密系統(tǒng)有(ABC)。A.對(duì)稱加密系統(tǒng)(DES)B.公鑰加密系統(tǒng)(RSA)C.散列函數(shù)(MDS)D.授權(quán)加密39.在分布式系統(tǒng)安全通道通信中,其安全性歸結(jié)為(BC)。A.授權(quán)訪問B.對(duì)通信各方進(jìn)行身份驗(yàn)證C.確保消息完整性和機(jī)密性D.檢驗(yàn)權(quán)限40.在分布式安全訪問控制中,實(shí)現(xiàn)訪問控制方式有(ABC)。A.結(jié)構(gòu)訪問控制矩陣B.結(jié)構(gòu)保護(hù)域C.采取防火墻D.密鑰管理三.簡(jiǎn)答題(每小題n分,共m分)1.按照資源共享觀念定義計(jì)算機(jī)網(wǎng)絡(luò)具備哪幾個(gè)主要特征?答:三個(gè)主要特征:1.建立目標(biāo)是實(shí)現(xiàn)計(jì)算機(jī)資源共享,包含數(shù)據(jù)資源\軟件資源和硬件資源。2.互連計(jì)算機(jī)是分布在不一樣地理位置多臺(tái)獨(dú)立”自治計(jì)算機(jī)”。3.連網(wǎng)計(jì)算機(jī)之間通信必須遵照共同網(wǎng)絡(luò)協(xié)議。2.為何傳輸層通信服務(wù)經(jīng)常不適于構(gòu)建分布式應(yīng)用程序?答:因?yàn)樗贿m適用于支持多層客戶-服務(wù)器交互過程所使用同時(shí)請(qǐng)求-應(yīng)答方式,在可靠傳輸中,造成許多開銷都花費(fèi)在連接管理上。3.描述一下客戶和服務(wù)器之間使用套接字無連接通信是怎樣進(jìn)行?答:首先服務(wù)器和客戶端都要?jiǎng)?chuàng)建一個(gè)套接字,并遵照UDP協(xié)議,服務(wù)器將其所在IP地址以及一個(gè)端口號(hào)綁定到套接字,完成綁定后,服務(wù)器就能接收來自客戶端UDP數(shù)據(jù)包了。一樣,客戶端在創(chuàng)建套接字后,能夠向服務(wù)器發(fā)送UDP包進(jìn)行通信,通信過程中,服務(wù)器和客戶端之間是不用建立連接。4.簡(jiǎn)述TCP和UDP協(xié)議在通信中區(qū)分TCP是面向連接可靠協(xié)議,適適用于傳輸大批量文件,檢驗(yàn)是否正常傳輸。而UDP是面向非連接不可靠協(xié)議,適適用于傳輸一次性小批量文件,不對(duì)傳輸數(shù)據(jù)報(bào)進(jìn)行檢驗(yàn)。TCP需要先建立連接才能通話;而UDP不需要,實(shí)時(shí)性要高點(diǎn)。TCP能夠形象比喻為打電話過程;UDP能夠比喻為發(fā)短信過程。TCP不能發(fā)送廣播和組播,只能單播;UDP能夠廣播和組播。5.JavaRMI對(duì)代碼遷移依賴到何種程度?答:JavaRMI時(shí),每一個(gè)方法引用傳遞實(shí)際上就是執(zhí)行一次代碼遷移,對(duì)于移植性差進(jìn)程來說,代碼遷移是非常必要。6.標(biāo)識(shí)符是否能夠包含它所引用實(shí)體信息?答:標(biāo)識(shí)符能夠包含它所引用實(shí)體信息,不過,這些信息不允許修改,因?yàn)槟且馕吨鴺?biāo)識(shí)符被改變。7.在深度為k分層定位服務(wù)中,當(dāng)移動(dòng)實(shí)體改變它位置時(shí),最多需要更新多少條位置統(tǒng)計(jì)?答:移動(dòng)實(shí)體改變位置會(huì)產(chǎn)生刪除操作和插入操作,刪除操作最少需要更新k條位置統(tǒng)計(jì)。一樣,插入操作也需要更新k條位置統(tǒng)計(jì)。最終,刪除與插入更新移動(dòng)實(shí)體位置統(tǒng)計(jì)共需要2k+1條。8.要使用Lamport時(shí)間戳實(shí)現(xiàn)全序多播,是不是每個(gè)消息都必須要被嚴(yán)格地確認(rèn)?答:不需要,任何類型消息,只要它時(shí)間戳大于所接收到消息時(shí)間戳,就能夠被加入消息隊(duì)列,使用Lamport時(shí)間戳實(shí)現(xiàn)全序多播。9.許多分布式算法需要使用協(xié)調(diào)進(jìn)程。討論一下,這么算法實(shí)際上能夠在什么程度上被看作為分布式?答:在集中式算法中,通常會(huì)選擇一個(gè)固定進(jìn)程作為協(xié)調(diào)者,其它進(jìn)程能夠分布在不一樣機(jī)器上運(yùn)行。分布式算法中也一樣能夠引入?yún)f(xié)調(diào)進(jìn)程,不過,這個(gè)進(jìn)程并不是固定,它是從作為算法一部分進(jìn)程中選擇。所以,使用協(xié)調(diào)進(jìn)程并不會(huì)影響算法分布性。10.作業(yè)調(diào)度和進(jìn)程調(diào)度有何區(qū)分?答:作業(yè)調(diào)度與進(jìn)程調(diào)度之間差異主要是:作業(yè)調(diào)度是宏觀調(diào)度,它所選擇作業(yè)只是具備取得處理機(jī)資格,但還未占有處理機(jī),不能立刻在其上實(shí)際運(yùn)行;而進(jìn)程調(diào)度是微觀調(diào)度,動(dòng)態(tài)地把處理機(jī)實(shí)際地分配給所選擇進(jìn)程,使之真正活動(dòng)起來。另外,進(jìn)程調(diào)度相當(dāng)頻繁,而作業(yè)調(diào)度執(zhí)行次數(shù)通常極少。11.請(qǐng)解釋DNS怎樣進(jìn)行復(fù)制,以及它實(shí)際運(yùn)行很好原因。答:DNS進(jìn)行復(fù)制基本思想是:域名服務(wù)器能夠緩存以前查找過結(jié)果。因?yàn)镈NS名稱到地址映射極少更改,所以,這些結(jié)果能夠緩存很長(zhǎng)一段時(shí)間。12.簡(jiǎn)述進(jìn)程與程序聯(lián)絡(luò)和區(qū)分答:(1)聯(lián)絡(luò):一個(gè)進(jìn)程能夠包括到一個(gè)或幾個(gè)程序執(zhí)行;一個(gè)程序能夠?qū)?yīng)一個(gè)或多個(gè)進(jìn)程,即同一程序段能夠在不一樣數(shù)據(jù)集合上運(yùn)行,可組成不一樣進(jìn)程,比如打印輸出程序段,比如同一高級(jí)語言編譯程序與多個(gè)用戶源程序。(2)進(jìn)程和程序區(qū)分主要表現(xiàn)在:1)進(jìn)程是動(dòng)態(tài),具備一定生命周期,而程序是靜態(tài);2)進(jìn)程可并發(fā)執(zhí)行,而沒有創(chuàng)建進(jìn)程程序是不能執(zhí)行;3)進(jìn)程是操作系統(tǒng)中申請(qǐng)和分配資源基本單位,而沒有創(chuàng)建進(jìn)程程序是不能申請(qǐng)資源;4)進(jìn)程包含程序、數(shù)據(jù)和進(jìn)程控制塊;5)同一程序數(shù)次執(zhí)行對(duì)應(yīng)多個(gè)進(jìn)程13.在下列圖中,一個(gè)次序一致存放器允許6種可能語句交叉。請(qǐng)列舉出這6種可能情況。進(jìn)程P1進(jìn)程P2x=1;y=1;if(y==0)kill(P2)if(x==0)kill(P1)答:這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.一個(gè)文件被復(fù)制在10個(gè)服務(wù)器上,請(qǐng)列出表決算法允許全部讀團(tuán)體和寫團(tuán)體。答:以下可能性讀團(tuán)體和寫團(tuán)體是正當(dāng):(1,10)、(2,9)、(3,8)、(4,7)、(5,6)、(6,5)、(7,4)、(8,3)、(9,2)、(10,1)。15.原子多播可擴(kuò)展性主要到哪種程度上?答:它取決于一組包含多個(gè)進(jìn)程狀態(tài)。假如進(jìn)程為故障容錯(cuò)進(jìn)行了復(fù)制,擁有少許副本可能就足夠了,在這種情況下,可擴(kuò)展性幾乎不成問題。假如是由不一樣進(jìn)程組成組,可擴(kuò)展性就可能成了一個(gè)問題。當(dāng)為了性能而復(fù)制時(shí),原子多播本身可能超出負(fù)荷能力。16.在兩階段提交協(xié)議中,為何即使在參加者們選擇一個(gè)新協(xié)調(diào)者情況下也不會(huì)完全消除阻塞?答:因?yàn)檫x舉結(jié)束后,新協(xié)調(diào)者也一樣可能會(huì)瓦解。在這種情況下,其余參加者也不能做出最終決定,因?yàn)檫@需要由新當(dāng)選協(xié)調(diào)者發(fā)起選舉。17.假設(shè)Alice希望向Bob發(fā)送一條消息m。她沒有使用Bob公鑰K+B加密m,而是生成了一個(gè)會(huì)話密鑰KA,B,然后發(fā)送[KA,B(m),K+B(KA,B)]。為何通常來講,這種方法愈加好?(提醒:考慮性能問題)。答:會(huì)話密鑰有一個(gè)短而固定長(zhǎng)度,而消息m可能是任意長(zhǎng)度。所以,采取會(huì)話密鑰和公鑰結(jié)合加密短消息通常在性能方面優(yōu)于只使用一個(gè)公鑰加密消息。18.列舉出為密鑰管理使用集中式服務(wù)一些優(yōu)點(diǎn)和缺點(diǎn)。答:一個(gè)顯著優(yōu)點(diǎn)是簡(jiǎn)單。比如:若有N個(gè)客戶在一個(gè)集中式服務(wù)器上共享了1個(gè)密鑰,我們就只需要維護(hù)N個(gè)密鑰;假如是成對(duì)共享密鑰,那我們就需要維護(hù)N(N-1)/2個(gè)。而且使用集中式服務(wù)器存放和維護(hù)都在一個(gè)站點(diǎn)上,使存放和維護(hù)都比較方便。潛在缺點(diǎn):首先是服務(wù)器有可能成為性能和可用性瓶頸。其次,假如服務(wù)器機(jī)密被泄露,就必須建立新密鑰。19.一個(gè)網(wǎng)絡(luò)中,DNS服務(wù)器應(yīng)該布署在什么地方最適宜?答:要用域名訪問Internet上服務(wù)器必須先訪問DNS服務(wù)器,經(jīng)過DNS對(duì)域名解析才能連接到對(duì)應(yīng)主機(jī)。所以,在一個(gè)網(wǎng)絡(luò)中,DNS服務(wù)器應(yīng)該布署在客戶端能夠集中訪問網(wǎng)絡(luò)位置上。20.進(jìn)程間同時(shí)和互斥含義是什么?答:進(jìn)程間同時(shí)是并發(fā)進(jìn)程之間存在相互制約和相互依賴關(guān)系。進(jìn)程間互斥是若干進(jìn)程共享一資源時(shí),任何時(shí)刻只允許一個(gè)進(jìn)程使用。四.綜合題(本題結(jié)果不是唯一,每小題n分,共m分)1.有三個(gè)進(jìn)程P1,P2和P3并發(fā)工作。進(jìn)程P1需用資源S3和S1;進(jìn)程P2需用資源S1和S2;進(jìn)程P3需用資源S2和S3。回答:(1)若對(duì)資源分配不加限制,會(huì)發(fā)生什么情況?為何?(2)為確保進(jìn)程正確工作,應(yīng)采取怎樣資源分配策略?為何?(1)多個(gè)進(jìn)程動(dòng)態(tài)地共享系統(tǒng)資源可能會(huì)產(chǎn)生死鎖現(xiàn)象。死鎖產(chǎn)生,必須同時(shí)滿足四個(gè)條件,第一個(gè)是互斥條件,即一個(gè)資源每次只能由一個(gè)進(jìn)程占用;第二個(gè)為等候條件,即一個(gè)進(jìn)程請(qǐng)求資源不能滿足時(shí),它必須等候,但它仍繼續(xù)保持已得到全部其它資源;第三個(gè)是非出讓條件,任何一個(gè)進(jìn)程不能搶占另一個(gè)進(jìn)程已經(jīng)取得且未釋放資源;第四個(gè)為循環(huán)等候條件,系統(tǒng)中存在若干個(gè)循環(huán)等候進(jìn)程,即其中每一個(gè)進(jìn)程分別等候它前一個(gè)進(jìn)程所持有資源。預(yù)防死鎖機(jī)構(gòu)只須確保上述四個(gè)條件之一不出現(xiàn),則系統(tǒng)就不會(huì)發(fā)生死鎖。只要資源分配策略能確保進(jìn)程不出現(xiàn)循環(huán)等候,則系統(tǒng)就不會(huì)發(fā)生死鎖。(2)銀行家算法分配資源標(biāo)準(zhǔn)是:系統(tǒng)掌握每個(gè)進(jìn)程對(duì)資源最大需求量,當(dāng)進(jìn)程要求申請(qǐng)資源時(shí),系統(tǒng)就測(cè)試該進(jìn)程尚需資源最大量,假如系統(tǒng)中現(xiàn)存資源數(shù)大于或等于該進(jìn)程尚需最大量時(shí),則就滿足進(jìn)程當(dāng)前申請(qǐng)。這么能夠確保最少有一個(gè)進(jìn)程可能得到全部資源而執(zhí)行到結(jié)束,然后償還它所占用全部資源供其它進(jìn)程使用。銀行家算法破壞了產(chǎn)生死鎖第四個(gè)條件,即不可能產(chǎn)生循環(huán)等候,從而能夠防止死鎖發(fā)生。預(yù)防進(jìn)程發(fā)生循環(huán)等候另一個(gè)資源分配策略是按序分配算法,其基本思想以下:把系統(tǒng)中全部資源排一個(gè)次序,比如系統(tǒng)共有m個(gè)資源,用ri表示第i個(gè)資源,那么這m個(gè)資源是:r1,r2,r3……,rm要求任何進(jìn)程不得在占用資源ri(1<im)后再申請(qǐng)rj(j<im),或者說,假如里程需要資源rj,那么它必須在申請(qǐng)ri之前申請(qǐng)(j<i)。能夠證實(shí),按這種策略分配資源時(shí)破壞了循環(huán)等候條件,故能預(yù)防發(fā)生死鎖2.怎樣設(shè)計(jì)一個(gè)好RPC?采取client/server模型與應(yīng)用程序組件說明開發(fā)過程?本文比較詳細(xì)地介紹了遠(yuǎn)程過程調(diào)用(RPC)OSF標(biāo)準(zhǔn)在MicrosoftVC++中實(shí)現(xiàn)原理,以及怎樣使用它們來開發(fā)應(yīng)用程序.閱讀本文你將了解RPC基本原理,并將看到怎樣開發(fā)使用RPC進(jìn)行異種機(jī)網(wǎng)絡(luò)分布式處理客戶機(jī)應(yīng)用程序和服務(wù)器應(yīng)用程序.Para1.RPC工作原理RPC是把傳統(tǒng)當(dāng)?shù)剡^程調(diào)用概念加以擴(kuò)充后引入分布式環(huán)境一個(gè)形式.RPC形式和行為與傳統(tǒng)當(dāng)?shù)剡^程調(diào)用極為相同,差異僅在于被調(diào)用procedure(過程)實(shí)際運(yùn)行在與調(diào)用者場(chǎng)點(diǎn)不一樣場(chǎng)點(diǎn)上(如圖1).也正是因?yàn)檫@一差異,我們得經(jīng)過編寫程序來實(shí)現(xiàn)兩場(chǎng)地之間連接和信息溝通.RPC機(jī)制實(shí)質(zhì)是實(shí)現(xiàn)OSI七層模型中會(huì)話層功效.它在兩個(gè)試圖進(jìn)行通信場(chǎng)點(diǎn)之間建立一條邏輯信道(即會(huì)話連接),并利用這個(gè)信道交換信息,不用時(shí)就釋放連接.下面我們就來看看RPC通信模型(以下列圖2):Client端:1)

發(fā)送遠(yuǎn)程過程調(diào)用消息(以消息包形式)給遠(yuǎn)程server端;2)

等候,直到收到server端對(duì)該請(qǐng)求回復(fù);3)

一旦接收到來自server端返回執(zhí)行結(jié)果,就繼續(xù)執(zhí)行后面程序.Server端:1)

傾聽狀態(tài),等候client端發(fā)送過程調(diào)用消息;2)

一旦接收到過程調(diào)用消息,server就抽取參數(shù)并分析它,然后執(zhí)行所請(qǐng)求過程;3)

將執(zhí)行結(jié)果以消息包形式回送給client.至于RPC詳細(xì)實(shí)現(xiàn),我們能夠借助下列圖3來了解:圖3RPC實(shí)現(xiàn)概況其中stub是一組RPC機(jī)制操作原語,這些原語組成了RPC實(shí)現(xiàn)細(xì)節(jié),它能夠獨(dú)立于client、server編程.下面我們來講解圖3執(zhí)行過程:1)

調(diào)用者調(diào)用當(dāng)?shù)豷tub中一個(gè)過程(開始遠(yuǎn)程過程調(diào)用請(qǐng)求).2)

這個(gè)stub過程把關(guān)于參數(shù)組裝成一個(gè)消息包或一組消息包,形成一條消息.運(yùn)行此執(zhí)行過程遠(yuǎn)程場(chǎng)點(diǎn)IP地址和執(zhí)行該過程進(jìn)程ID號(hào)也包含在這條消息中.3)

將這條消息發(fā)送給對(duì)應(yīng)RPCruntime(RPC運(yùn)行庫)子程序,由這個(gè)子程序?qū)⑾l(fā)送到遠(yuǎn)程場(chǎng)點(diǎn).4)

在接收到這條消息時(shí),server端RPCruntime子程序引用與被調(diào)用者對(duì)應(yīng)stub中一個(gè)子程序,并讓它來處理消息.5)

與被調(diào)用者對(duì)應(yīng)stub中這個(gè)子程序撤卸消息,解析出相關(guān)參數(shù),并用當(dāng)?shù)卣{(diào)用方式執(zhí)行所指定過程.6)

返回調(diào)用結(jié)果,調(diào)用者對(duì)應(yīng)stub子程序執(zhí)行return語句返回到用戶,整個(gè)RPC過程結(jié)束.實(shí)際上,從上面這個(gè)執(zhí)行過程中,我們能夠看到RPC實(shí)現(xiàn)主要有兩個(gè)問題需要處理.一個(gè)是在遠(yuǎn)程過程調(diào)用時(shí),怎樣定位遠(yuǎn)程場(chǎng)點(diǎn);另外一個(gè)就是相關(guān)兩個(gè)場(chǎng)點(diǎn)必須能協(xié)同工作,全部這些工作對(duì)用戶都是透明,依次執(zhí)行.通常在實(shí)際編程中,程序設(shè)計(jì)者主要負(fù)責(zé)設(shè)計(jì)計(jì)算過程并實(shí)現(xiàn)計(jì)算過程體,而對(duì)應(yīng)stub由系統(tǒng)生成.后面我們就要說到MicrosoftRPC實(shí)現(xiàn)機(jī)制,看看它是怎樣產(chǎn)生stub。Para2.怎樣設(shè)計(jì)好RPC對(duì)調(diào)用雙方來說,傳遞RPC參數(shù)包含輔助處理當(dāng)?shù)財(cái)?shù)據(jù)表示和網(wǎng)絡(luò)數(shù)據(jù)表示相互轉(zhuǎn)換.另外,輸入輸出參數(shù)需要一些存放分配.同時(shí),RPC中等候時(shí)間也不能忽略.所以,通常來說,應(yīng)該盡可能降低調(diào)用次數(shù).比如,假如要對(duì)一個(gè)大數(shù)組每個(gè)元素都執(zhí)行計(jì)算,我們就能夠一次調(diào)用處理一整行或者整個(gè)數(shù)組,而不用每次調(diào)用傳遞一個(gè)元素.這么能夠降低有RPC引入額外開銷.Para3.應(yīng)用程序組件為了在client和server端使用RPC,當(dāng)然少不了client進(jìn)程和server進(jìn)程.另外還有一個(gè)名稱服務(wù)進(jìn)程,這個(gè)稍后再說.開發(fā)過程大致是這么:1)

任何RPC調(diào)用都使用一個(gè)定義在IDL(interfacedefinitionlanguage,接口定義語言)文件中接口,然后MIDL(MicrosoftIDL)編譯器對(duì)IDL文件進(jìn)行編譯,編譯之后會(huì)自動(dòng)生成一個(gè).h文件,同時(shí)生成一個(gè)clientstub和一個(gè)serverstub.關(guān)于這個(gè)你能夠在dos下運(yùn)行midl.exe/?得到更詳細(xì)信息.2)

Client端應(yīng)用程序使用clientstub調(diào)用RPCruntime以實(shí)現(xiàn)網(wǎng)絡(luò)上調(diào)用.接下來RPC運(yùn)行時(shí)使用一組DLL中一個(gè)來實(shí)現(xiàn)被使用特定網(wǎng)絡(luò)協(xié)議.3)

Server端也與RPCruntime連接.不過server端應(yīng)用程序使用一些其它函數(shù)來將自己作為一個(gè)特殊接口服務(wù)器進(jìn)行注冊(cè)(向誰注冊(cè)?),并開始偵聽接口請(qǐng)求.3.怎樣用Java或其它語言處理線程同時(shí)與互斥問題?(任選擇一個(gè)語言)同時(shí)有同時(shí)方法和同時(shí)塊

當(dāng)有多個(gè)線程時(shí)候,經(jīng)常需要去同時(shí)這些線程以訪問同一個(gè)數(shù)據(jù)或資源。比如,假設(shè)有一個(gè)程序,其中一個(gè)線程用于把文件讀到內(nèi)存,而另一個(gè)線程用于統(tǒng)計(jì)文件中字符數(shù)。因?yàn)槊總€(gè)操作都有自己線程,操作系統(tǒng)會(huì)把兩個(gè)線程看成是互不相干任務(wù)分別執(zhí)行,這么就可能在沒有把整個(gè)文件裝入內(nèi)存時(shí)統(tǒng)計(jì)字?jǐn)?shù)。為處理此問題,你必須使兩個(gè)線程同時(shí)工作。存在一些線程同時(shí)地址問題,Win32提供了許多線程同時(shí)方式。在本節(jié)你將看到使用臨界區(qū)、互斥、信號(hào)量和事件來處理線程同時(shí)問題。

1.臨界區(qū)

臨界區(qū)是一個(gè)最直接線程同時(shí)方式。所謂臨界區(qū),就是一次只能由一個(gè)線程來執(zhí)行一段代碼。假如把初始化數(shù)組代碼放在臨界區(qū)內(nèi),另一個(gè)線程在第一個(gè)線程處理完之前是不會(huì)被執(zhí)行。在使用臨界區(qū)之前,必須使用InitializeCriticalSection()過程來初始化它。

其申明以下:

procedureInitializeCriticalSection(varlpCriticalSection:

TRLCriticalSection);stdcall;

lpCriticalSection參數(shù)是一個(gè)TRTLCriticalSection類型統(tǒng)計(jì),而且是變參。只需要在lpCriticalSection中傳遞未初始化統(tǒng)計(jì),InitializeCriticalSection()過程就會(huì)填充這個(gè)統(tǒng)計(jì)。

在統(tǒng)計(jì)被填充后,我們就能夠開始創(chuàng)建臨界區(qū)了。這時(shí)我們需要用EnterCriticalSection()和LeaveCriticalSection()來封裝代碼塊。這兩個(gè)過程申明以下:

procedureEnterCriticalSection(varlpCriticalSection:TRRLCriticalSection);stdcall;

procedureLeaveCriticalSection(varlpCriticalSection:TRRLCriticalSection);stdcall;

正如你所想,參數(shù)lpCriticalSection就是由InitializeCriticalSection()填充統(tǒng)計(jì)。

當(dāng)你不需要TRTLCriticalSection統(tǒng)計(jì)時(shí),應(yīng)該調(diào)用DeleteCriticalSection()過程,下面是它申明:

procedureDeleteCriticalSection(varlpCriticalSection:TRTLCriticalSection);stdcall;

2.互斥

互斥非常類似于臨界區(qū),除了兩個(gè)關(guān)鍵區(qū)分:首先,互斥可用于跨進(jìn)程線程同時(shí)。其次,互斥能被賦予一個(gè)字符串名字,而且經(jīng)過引用此名字創(chuàng)建現(xiàn)有互斥對(duì)象附加句柄。

提醒臨界區(qū)與事件對(duì)象(比如互斥對(duì)象)最大區(qū)分是在性能上。臨界區(qū)在沒有線程沖突時(shí),要用10~15個(gè)時(shí)間片,而事件對(duì)象因?yàn)榘ǖ较到y(tǒng)內(nèi)核要用400~600個(gè)時(shí)間片。能夠調(diào)用函數(shù)CreateMutex()來創(chuàng)建一個(gè)互斥量。下面是函數(shù)申明:

functionCreateMutext(lpMutextAtrribes:PSecurityAttributtes;

bInitalOwner:BOOL;lpName:PChar):THandle;stdcall;

lpMutexAttributes參數(shù)為一個(gè)指向TSecurityAttributtes統(tǒng)計(jì)指針。此參數(shù)通常設(shè)為0,表示默認(rèn)安全屬性。bInitalOwner參數(shù)表示創(chuàng)建互斥對(duì)象線程是否要成為此互斥對(duì)象擁有者。當(dāng)此參數(shù)為False時(shí),表示互斥對(duì)象沒有擁有者。lpName參數(shù)指定互斥對(duì)象名稱。設(shè)為nil表示無命名,假如參數(shù)不是設(shè)為nil,函數(shù)會(huì)搜索是否有同名互斥對(duì)象存在。假如有,函數(shù)就會(huì)返回同名互斥對(duì)象句柄。不然,就新創(chuàng)建一個(gè)互斥對(duì)象并返回其句柄。當(dāng)使用完互斥對(duì)象時(shí),應(yīng)該調(diào)用CloseHandle()來關(guān)閉它。

在程序中使用WaitForSingleObject()來預(yù)防其余線程進(jìn)入同時(shí)區(qū)域代碼。此函數(shù)申明以下:

functionWaitForSingleObject(hHandle:THandle;dwMilliseconds:DWORD):DWORD;stdcall;

這個(gè)函數(shù)能夠使當(dāng)前線程在dwMilliseconds指定時(shí)間內(nèi)睡眠,直到hHandle參數(shù)指定對(duì)象進(jìn)入發(fā)信號(hào)狀態(tài)為止。一個(gè)互斥對(duì)象不再被線程擁有時(shí),它就進(jìn)入發(fā)信號(hào)狀態(tài)。當(dāng)一個(gè)進(jìn)程要終止時(shí),它就進(jìn)入發(fā)信號(hào)狀態(tài)。dwMilliseconds參數(shù)能夠設(shè)為0,這意味著只檢驗(yàn)hHandle參數(shù)指定對(duì)象是否處于發(fā)信號(hào)狀態(tài),而后立刻返回。dwMilliseconds參數(shù)設(shè)為INFINITE,表示假如信號(hào)不出現(xiàn)將一直等下去。再次申明,當(dāng)一個(gè)互斥對(duì)象不再被一個(gè)線程所擁有,它就處于發(fā)信號(hào)狀態(tài)。此時(shí)首先調(diào)用WaitForSingleObject()函數(shù)

線程就成為該互斥對(duì)象擁有者,此互斥對(duì)象設(shè)為不發(fā)信號(hào)狀態(tài)。當(dāng)線程調(diào)用ReleaseMutex()函數(shù)并傳遞一個(gè)互斥對(duì)象句柄作為參數(shù)時(shí),這種擁關(guān)于系就被解除,互斥對(duì)象重新進(jìn)入發(fā)信號(hào)狀態(tài)。

注意除WaitForSingleObject()函數(shù)外,你還能夠使用WaitForMultipleObject()和MsgWaitForMultipleObject()函數(shù),

它們能夠等候幾個(gè)對(duì)象變?yōu)榘l(fā)信號(hào)狀態(tài)。這兩個(gè)函數(shù)詳細(xì)情況請(qǐng)看Win32API聯(lián)機(jī)文檔。

3.信號(hào)量

另一個(gè)使線程同時(shí)技術(shù)是使用信號(hào)量對(duì)象。它是在互斥基礎(chǔ)上建立,但信號(hào)量增加了資源計(jì)數(shù)功效,預(yù)定數(shù)目標(biāo)線程允許同時(shí)進(jìn)入要同時(shí)代碼。能夠用CreateSemaphore()來創(chuàng)建一個(gè)信號(hào)量對(duì)象,其申明以下:

functionCreateSemaphore(lpSemaphoreAttributes:PSecurityAttributes;

lInitialCount,lMaximumCount:Longint;lpName:PChar):THandle;stdcall;

和CreateMutex()函數(shù)一樣,CreateSemaphore()第一個(gè)參數(shù)也是一個(gè)指向TSecurityAttributes統(tǒng)計(jì)指針,此參數(shù)缺省值能夠設(shè)為nil。

lInitialCount參數(shù)用來指定一個(gè)信號(hào)量初始計(jì)數(shù)值,這個(gè)值必須在0和lMaximumCount之間。此參數(shù)大于0,就表示信號(hào)量處于發(fā)信號(hào)狀態(tài)。當(dāng)調(diào)用WaitForSingleObject()函數(shù)(或其余函數(shù))時(shí),此計(jì)數(shù)值就減1。當(dāng)調(diào)用ReleaseSemaphore()時(shí),此計(jì)數(shù)值加1。

參數(shù)lMaximumCount指定計(jì)數(shù)值最大值。假如這個(gè)信號(hào)量代表某種資源,那么這個(gè)值代表可用資源總數(shù)。

參數(shù)lpName用于給出信號(hào)量對(duì)象名稱,它類似于CreateMutex()函數(shù)lpName參數(shù)。4.怎樣用Java或C/C++語言實(shí)現(xiàn)多線程?(任選擇一個(gè)語言)//這個(gè)例子是基于事件對(duì)象#include<windows.h>#include<iostream.h>DWORDWINAPIFun1Proc(LPVOIDlpParameter);//threaddataDWORDWINAPIFun2Proc(LPVOIDlpParameter);//threaddatainttickets=100;HANDLEg_hEvent;voidmain(){HANDLEhThread1;HANDLEhThread2;//創(chuàng)建人工重置事件內(nèi)查對(duì)象g_hEvent=CreateEvent(NULL,FALSE,FALSE,"tickets");if(g_hEvent){if(ERROR_ALREADY_EXISTS==GetLastError()){cout<<"onlyoneinstancecanrun!"<<endl;return;}}SetEvent(g_hEvent);//創(chuàng)建線程hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);CloseHandle(hThread1);CloseHandle(hThread2);//讓根本程睡眠4秒Sleep(4000);//關(guān)閉事件對(duì)象句柄CloseHandle(g_hEvent);}//線程1入口函數(shù)DWORDWINAPIFun1Proc(LPVOIDlpParameter)//threaddata{while(true){WaitForSingleObject(g_hEvent,INFINITE);//ResetEvent(g_hEvent);if(tickets>0){Sleep(1);cout<<"thread1sellticket:"<<tickets--<<endl;SetEvent(g_hEvent);}else{SetEvent(g_hEvent);break;}}return0;}//線程2入口函數(shù)DWORDWINAPIFun2Proc(LPVOIDlpParameter)//threaddata{while(true){//請(qǐng)求事件對(duì)象WaitForSingleObject(g_hEvent,INFINITE);//ResetEvent(g_hEvent);if(tickets>0){Sleep(1);cout<<"thread2sellticket:"<<tickets--<<endl;SetEvent(g_hEvent);}else{SetEvent(g_hEvent);break;}}return0;}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論