




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章1.說明分布式系統(tǒng)相對于集中式系統(tǒng)的優(yōu)點和缺點。從長遠的角度看,推動分布式系統(tǒng)發(fā)展的主要動力是什么?答:相對于集中式系統(tǒng),分布式系統(tǒng)的優(yōu)點:1)從經(jīng)濟上,微處理機提供了比大型主機更好的性能價格比;2)從速度上,分布式系統(tǒng)總的計算能力比單個大型主機更強;3)從分布上,具有固定的分布性,一些應用涉及到空間上分散的機器;4)從可靠性上,具有極強的可靠性,如果一個極強崩潰,整個系統(tǒng)還可以繼續(xù)運行;5)從前景上,分布式操作系統(tǒng)的計算能力可以逐漸有所增加。分布式系統(tǒng)的缺點:1)軟件問題,目前分布式操作系統(tǒng)開發(fā)的軟件太少;2)通信網(wǎng)絡問題,一旦一個系統(tǒng)依賴網(wǎng)絡,那么網(wǎng)絡的信息丟失或飽和將會抵消我們通過
2、建立分布式系統(tǒng)所獲得的大部分優(yōu)勢;3)安全問題,數(shù)據(jù)的易于共享也容易造成對保密數(shù)據(jù)的訪問。推動分布式系統(tǒng)發(fā)展的主要動力:盡管分布式系統(tǒng)存在一些潛在的不足,但是從長遠的角度看,推動分布式系統(tǒng)發(fā)展的主要動力是大量個人計算機的存在和人們共同工作于信息共享的需要,這種信息共享必須是以一種方便的形式進行。而不受地理或人員,數(shù)據(jù)以及機器的物理分布的影響2 .多處理機系統(tǒng)和多計算機系統(tǒng)有什么不同?答:共享存儲器的計算機系統(tǒng)叫多處理機系統(tǒng),不共享存儲器的計算機系統(tǒng)為多計算機系統(tǒng)。它們之間的本質(zhì)區(qū)別是在多處理機系統(tǒng)中,所有CPU共享統(tǒng)一的虛擬地址空間,在多計算機系統(tǒng)中,每個計算機有它自己的存儲器。多處理機系統(tǒng)分
3、為基于總線的和基于交換的?;诳偩€的多處理機系統(tǒng)包含多個連接到一條公共總線的CPU以及一個存儲器模塊?;诮粨Q的多處理機系統(tǒng)是把存儲器劃分為若干個模塊,通過縱橫式交換器將這些存儲器模塊連接到CPU上。多計算機系統(tǒng)分為基于總線的和基于交換的系統(tǒng)。在基于總線的多計算機系統(tǒng)中,每個CPU都與他自身的存儲器直接相連,處理器通過快速以太網(wǎng)這樣的共享多重訪問網(wǎng)絡彼此相連。在基于交換的多計算機系統(tǒng)中,處理器之間消息通過互聯(lián)網(wǎng)進行路由,而不是想基于總線的系統(tǒng)中那樣通過廣播來發(fā)送。3 .真正的分布式操作系統(tǒng)的主要特點是什么?必須有一個單一的、全局的進程間通信機制。進程管理必須處處相同。文件系統(tǒng)相同。使用相同的系
4、統(tǒng)調(diào)用接口。4 .分布式系統(tǒng)的透明性包括哪幾個方面,并解釋透明性問題對系統(tǒng)和用戶的重要性。答:對于分布式系統(tǒng)而言,透明性是指它呈現(xiàn)給用戶或應用程序時,就好像是一個單獨是計算機系統(tǒng)。具體說來,就是隱藏了多個計算機的處理過程,資源的物理分布。具體類型:透明性描述存取透明性隱藏了數(shù)據(jù)表示和獲取資源的具體實現(xiàn)位置透明性用戶不必知道資源位于何處遷移透明性資源可以不改名隨意移動重定位透明性用戶不必知道資源是位置是否改變復制透明性用戶不必知道有多少拷貝存在并發(fā)透明性多個用戶可以自動的共享資源容錯透明性用戶不必知道系統(tǒng)出現(xiàn)錯誤5 .在分布式操作系統(tǒng)中,為什么采用微內(nèi)核技術(shù),通常微內(nèi)核提供哪些服務答:采用微內(nèi)核
5、技術(shù)的原因:1)高度模塊化,每一個服務都有一個定義好的接口,每個用戶都可以訪問任何服務,服務與位置獨立;2)高度靈活性,具有添加、刪除和修改服務的功能;3)用戶定制,用戶可以自定義服務。微內(nèi)核提供的服務有:1)進程間通彳t機制;2)某些內(nèi)存管理功能;3)少量的底層進程管理和調(diào)度;4)低層輸入/輸出服務。第二章6 .客戶-服務器模式的主要思想及優(yōu)點。答:其主要思想是構(gòu)造一種操作系統(tǒng),它由一組協(xié)同進程組成,這組進程稱為服務進程,為客戶機提供服務的進程稱為客戶??蛻艉头掌鞫歼\行在相同的微內(nèi)核中,都以進程方式運行。一臺機器可以運行多個客戶、多個服務器或者兩者的結(jié)合,客戶-服務器模式常常以簡單的請求/
6、應答協(xié)議為基礎(chǔ),客戶向服務器發(fā)送一個請求,請求一些服務,服務器完成后返回所要的數(shù)據(jù)或者給出一個錯誤代碼,指出工作未完成。優(yōu)點:1)簡單,客戶發(fā)出一個請求得到一個應答,在使用之前無需建立連接也不需要釋放連接;2)有效性,協(xié)議棧比較短因而更有效。7 .客戶為了發(fā)送消息給服務器,它必須知道服務器的地址。試給出服務器進程編址的幾種方法,并說明如何定位進程。答:方法一。機器號加進程號,內(nèi)核使用機器號將消息正確地發(fā)送到適當?shù)臋C器上,用進程號決定將消息發(fā)送給哪一個進程。方法二。進程選擇隨機地址,通過廣播方式定位進程,進程在大范圍的地址空間中隨機指定自己的標識號。在支持廣播式的LAN中,發(fā)送者廣播一個特殊的定
7、位包,其中包含目的進程地址,所有的內(nèi)核查看地址是不是他們的,如果是則返回消息給出網(wǎng)絡地址,然后發(fā)送內(nèi)核緩存地址。方法三。客戶機運行時,使用ASCII碼訪問服務。客戶機運行時,向名字服務器發(fā)送請求信息,名字服務器將ASCII服務器名映射成服務器地址,客戶機收到給地址后,可以訪問服務器。8 .說明在C/S模式下解決消息可靠傳輸?shù)娜N方法?答:1、重新定義非可靠的send語義。系統(tǒng)無法保證消息發(fā)送成功,完成可靠地通信依賴于用戶。2、要求接收機器的內(nèi)核給發(fā)送機器的內(nèi)核發(fā)送一個確認消息。只有收到這個確認消息后發(fā)送內(nèi)核釋放用戶進程。確認消息從一個內(nèi)核傳送到另一個內(nèi)核,無論是客戶還是服務器都看不到確認消息。
8、3、客戶在發(fā)送消息后阻塞,服務器內(nèi)核不發(fā)送確認消息而是將應答作為確認消息。因此客戶進程一直阻塞到應答消息到來為止,如果時間太長,發(fā)送內(nèi)核會重新發(fā)送請求以防止消息丟失。9 .說明RPC的主要思想及RPC調(diào)用的主要步驟。(遠程過程調(diào)用函數(shù)sum(4,7)為例說明)答:主要思想是允許程序去調(diào)用位于其他機器上的過程。當位于機器A的一個進程調(diào)用機器B上的某個過程時,機器A上的過程被掛起,被調(diào)用的過程在機器B上執(zhí)行。調(diào)用者講消息放在參數(shù)表中傳送給被調(diào)用者,結(jié)果作為過程的返回值返回給調(diào)用者。消息的傳送與I/O操作對于編程人員是不可見的。主要步驟如下:1)客戶過程以普通方式調(diào)用相應的客戶存根;2)客戶存根建立
9、消息并激活內(nèi)核陷阱;3)內(nèi)核將消息發(fā)送到遠程內(nèi)核;4)遠程內(nèi)核將消息發(fā)送到服務器存根;5)服務器存根取出消息中的參數(shù)后調(diào)用服務器過程;6)服務器完成工作后將結(jié)果返回至服務器存根;7)服務器存根將它們打包并激活內(nèi)核陷阱;8)遠程內(nèi)核將消息發(fā)送會客戶內(nèi)核;9)客戶內(nèi)核將消息提交給客戶存根;10)客戶存根從消息中取出結(jié)果返回給客戶。10 .在RPC調(diào)用時,如果服務器或客戶機崩潰了,各有哪些解決方法。答:如果是服務器崩潰了,用戶無法區(qū)分服務器是在執(zhí)行前還是執(zhí)行后崩潰,解決方案如下:1)至少一次語義,指等待服務器重新啟動,然后重發(fā)請求。這種方法要求不斷重試直至客戶收到應答消息。它保證RPC至少執(zhí)行一次。
10、2)之多一次語義,指立即放棄并報告失效。它確保RPC至多執(zhí)行一次,但也可能根本沒有執(zhí)行;3)不作保證;4)精確一次語義;如果是客戶機崩潰了,存在孤兒問題(客戶已發(fā)送請求,在應答到來之前崩潰了,此時已經(jīng)激活服務器中的過程并獲得結(jié)果,但是沒有客戶在等待結(jié)果)解決方案如下:1)根除,在客戶存根發(fā)送RPC消息前先做日志(用來恢復崩潰),系統(tǒng)重新啟動后,檢查日志,發(fā)現(xiàn)孤兒存在并將其殺死;2)再生,把時間分成有序的紀元,當客戶端重啟時,向所有機器廣播一個消息通知一個新紀元的到來,并結(jié)束所有的遠程計算;3)溫和再生,服務器接收到新紀元廣播時,檢查自己是否有遠程計算,只有那些找不到所有者的遠程計算終止。4)過
11、期,每個RPC都分配一個標準時間T來完成任務,如果超時沒有完成則顯示分配一個數(shù)額。第三章11 .實現(xiàn)分布式系統(tǒng)同步的復雜性表現(xiàn)在哪幾個方面?說明先發(fā)生關(guān)系,并說明在LAMPORT算法中怎樣給事件分配時間。答:分布式算法有如下性質(zhì):1)相關(guān)信息分散在多臺機器上;2)進程決策僅依賴于本地信息;3)系統(tǒng)中單點故障應避免;4)沒有公用時鐘和其他精確的全局時間資源存在。前三點說明在一處收集所有信息并對他們進程處理是不可接受的,左后一點說明在分布式系統(tǒng)獲得時間上的一致并不是容易的。LAMPORT算法的解決方案是直接使用先發(fā)生關(guān)系,每條消息都攜帶發(fā)送者的時鐘以指出其發(fā)送的時間,當消息到達時,接受者的時鐘比消
12、息發(fā)送者時鐘小,就立即將自己的時鐘調(diào)到比發(fā)送者的時間大1或更多的值,我們給出一種測量時間的方法,使得對每一事件a,在所有進程中都認可給它一個時間值C(a),在給事件分配時間時要遵循一下規(guī)則:1)在同一進程中a發(fā)生在b之前則C(a)C(b);2)若a和b分別代表發(fā)送消息和接收消息,則C(a)C(b);3)對所有事件a和b,C(a)wC(b)12 .說明RICART和AGRAWALE分布式互斥算法;假定A和B是相互獨立的兩個臨界區(qū),進程0要進入A,進程1要進入B,R-A分布式互斥算法會導致死鎖嗎?說明理由。答:RICART和AGRAWALE算法要求系統(tǒng)中所有事件都是全序的,也就是說,對任何事件組消
13、息,哪個先發(fā)必須無歧義,算法如下:當一個進程想進入臨界區(qū)時,他要建立一個包括他要進入的臨界區(qū)的名字、處理機號、當前時間的消息,然后將消息發(fā)送給所有其他進程,也包括發(fā)送給自身,當一個進程接收另一個進程消息時,它取決于接受方的狀態(tài)以及臨界區(qū)的名字有三種情況:1)接受者不在臨界區(qū),也不想進入臨界區(qū),他就向發(fā)送者發(fā)送OK消息;2)接受者已經(jīng)在臨界區(qū),它不必回答,而是負責對請求隊列排隊;3)接收者要進入臨界區(qū),但是還沒有進入,它要負責將發(fā)來的消息和它發(fā)送給其他進程的時間戳對比,取小的那個。如果來的消息時間戳小,接收者發(fā)送OK消息,否則接收者負責排列請求隊列而不發(fā)送任何消息。在發(fā)送完允許進入臨界區(qū)的請求后
14、,進程將不再做任何事,僅等待所有的允許消息,一旦得到允許,它就進入臨界區(qū)。它從臨界區(qū)退出時,向隊列中所有進程發(fā)送OK消息,并將它從隊列中刪除。該算法可能導致死鎖,例如:A和B是相互獨立的兩個臨界區(qū),進程0要進入A,進程1要進入B,而此時進程0在B中,進程1在A中就會進入死鎖。13 .舉例說明用私有工作空間實現(xiàn)事務處理時的基本思想。答:在進程開始一個事務時給它分配一個包含了所有需要訪問的文件的私有工作空間,在事務提交或終止前,所有的讀寫操作都在私有空間而不是真正的文件系統(tǒng)中進行,存在的問題是所有內(nèi)容都拷貝到私有空間,代價難以承受。優(yōu)化方法是:1)私有空間中只包含一個指向父輩工作區(qū)的指針,當事務處
15、于最頂層時,它的工作區(qū)是真正的文件系統(tǒng)。2)使用索引節(jié)點,索引是一個與判斷文件所在的磁盤塊位置有關(guān)的數(shù)據(jù)庫,給方法不將全部文件考入私有空間,而只是拷貝索引。14 .說明在分布式系統(tǒng)中實現(xiàn)原子性提交的兩階段提交協(xié)議的基本思想及其優(yōu)點。答:兩階段提交協(xié)議的基本思想是有一個進程作為協(xié)調(diào)者,通常是執(zhí)行事務的進程。在準備提交階段,協(xié)調(diào)者向日志中寫入Prepare,然后向所有服務器發(fā)送準備提交消息,服務器接收到消息后,檢查自己是否準備提交,如果是就向日志中寫入Ready,然后向協(xié)調(diào)者發(fā)送準備好消息。在提交階段,協(xié)調(diào)者接收所有響應后決定提交還是撤銷,如果所有服務器都準備提交,則提交事務;否則撤銷事務。無論如
16、何協(xié)調(diào)者都會寫入日志,并發(fā)送決定消息,服務器接到消息后也將結(jié)果寫入日志,并發(fā)送結(jié)束消息,完成整個過程15 .舉例說明為什么使用集中式的死鎖檢測算法會產(chǎn)生假死鎖,并給出一種解決辦法。答:集中式的死鎖檢測算法每臺機器的資源圖中只包含它自己的進程和資源,協(xié)調(diào)者節(jié)點保存整個系統(tǒng)(所有資源圖的集合)的資源圖。當機器資源圖發(fā)生變化時相應的消息發(fā)送給協(xié)調(diào)者以提供更新,當協(xié)調(diào)者檢測到環(huán)路時,它終止一個進程以解決死鎖。如上圖圓表示進程,方框表示資源,開始時如同a,b,c所示,過來一段時間,B釋放R并請求T,這是一個合法的操作,機器0向協(xié)調(diào)者發(fā)送一條消息申明它釋放資源R,機器1向協(xié)調(diào)者發(fā)送一條消息聲明進程B正在等
17、待它的資源T,不幸的是機器1的消息先到達協(xié)調(diào)者,導致生成資源圖如圖d所示。協(xié)調(diào)者得出錯誤的結(jié)論一一死鎖存在,這種情況稱為假死鎖。解決辦法是:使用Lamport算法以提供全局統(tǒng)一的時間,對協(xié)調(diào)者收到的消息按照時間戳排序16 .說明wait-die和wound-wait分布式死鎖預防方法。事務時間戳為50的進程申請事務時間戳為100的進程占用的資源。按以上兩種策略,結(jié)果會如何?。答:(時間戳越小的進程越是年老)wait-die死鎖預防算法:當較老的進程請求年輕進程所占有的資源時,老進程只能等待;如果年輕進程請求老進程占有的資源時,年輕進程會被終止。Wound-wait死鎖預防算法:當老進程請求年輕
18、進程所擁有的資源時,老進程搶占年輕進程的資源,年輕進程被終止;當年輕進程請求老進程所擁有的資源時,年輕進程等待。第四章17 .敘述實現(xiàn)線程包的方法及其優(yōu)缺點。答:1在用戶空間實現(xiàn)線程:是將線程包完全放到用戶空間中去,內(nèi)核對此一無所知。優(yōu)點:在不支持線程的操作系統(tǒng)中實現(xiàn);線程切換比使用內(nèi)核陷阱快一個數(shù)量級;允許每個進程有自己定制的調(diào)度算法。缺點:阻塞調(diào)用怎樣實現(xiàn)?系統(tǒng)調(diào)用改為非阻塞,SELECTo如何實現(xiàn)調(diào)度?旋轉(zhuǎn)鎖,始終信號中斷。2在內(nèi)核中實現(xiàn)線程:當一個線程想去創(chuàng)建一個新線程或撤銷已存在的線程時,它發(fā)出一個內(nèi)核調(diào)用,由它完成創(chuàng)建和回收工作。內(nèi)核中每個進程都有一張包含線程信息(線程的寄存器、狀
19、態(tài)、優(yōu)先權(quán)等)的表。優(yōu)點:容易實現(xiàn)調(diào)度。缺點:系統(tǒng)開銷大。3調(diào)度者行為:內(nèi)核分配一定數(shù)量的虛擬處理機給每個進程,并且讓(用戶空間)運行期系統(tǒng)將線程分配給處理機。優(yōu)點:效率,很好地解決了控制權(quán)由阻塞線程傳遞給非阻塞線程。缺點:可能產(chǎn)生死鎖,與分層系統(tǒng)的內(nèi)在結(jié)構(gòu)違背。18 .說明發(fā)送者發(fā)起的分布式啟發(fā)算法和接收者發(fā)起的分布式啟發(fā)算法及各自的主要缺點。答:發(fā)送者發(fā)起的分布式啟發(fā)算法:當創(chuàng)建進程時,創(chuàng)建進程的機器將對一個隨機選取的機器發(fā)生詢問,詢問它的負載是否低于某個閾值,如果是,將發(fā)送進程否則將選擇另一臺機子發(fā)送詢問。如果在N次詢問內(nèi)還沒有找到合適的機器,算法停止新進程將在創(chuàng)建它的機器上運行。該算法
20、的缺點是:在負載十分嚴重的情況下,所有機器都會不停的毫無意義的向其他機器發(fā)送詢問,想找到一臺愿意接受更多工作的機器,在這種情況下,幾乎沒有進程會被減輕負載,但卻會引起相當可觀的額外開銷。接收者發(fā)起的分布式啟發(fā)算法:當一個進程結(jié)束時,系統(tǒng)將檢查自己是否有足夠的工作可做,如果沒有,將隨機向一臺機器申請工作,如果那臺機器沒有要給予的工作,系統(tǒng)將繼續(xù)詢問第二,第三臺機器,如果詢問N臺機器都沒有申請到工作,系統(tǒng)將暫停申請開始處理系統(tǒng)隊列中一個等待進程,當這個進程結(jié)束后,開始下一輪的申請;如果系統(tǒng)無事可做,則將進入空閑狀態(tài),一定時間后從新開始申請。給算法的缺點是:系統(tǒng)在無事可做時會造成相當大的詢問負載。1
21、9 .舉例說明Lamport等人提出的算法是如何解決Byzantine將軍問題的。答:Lamport等人設計了一種遞歸算法可在特定條件下解決這一問題。例如:N=4(有四個將軍),M=1(其中有一個叛徒),對這樣的參數(shù),參數(shù)運行四步。第一步,每個將軍發(fā)送可靠的消息給其他所有的將軍,聲明自己真實的軍隊人數(shù),忠誠的將軍聲明的是真值,叛徒則可能對其他每個將軍都撒一個不同的謊。如圖a;第二步,把第一步聲明的結(jié)果組成向量形式,如圖b;第三步,每個將軍把圖b中各自的向量傳遞給其他每一個將軍,這里叛徒再一次撒謊,使用了12個新值。AJo如圖c;第四步,每個將軍檢查所有新接收向量的每一個元素,若某個值占多數(shù)則把
22、該值放入結(jié)果向量中,將軍1(G1)1KG1=(1K,2K,X,4K)將軍2(G2)2KG2=(1K,2K,Y,4K)將軍4(G4)4K將軍3(G3)X,Y,ZaG3=(1K,2K,3K,4K)G4=(1K,2K,Z,4K)bG1=(1K,2K,UNKNOW,4K)G2=(1K,2K,UNKNOW,4K)G4=(1K,2K,UNKNOW,4K)G2=(1K,2K,3K,4K)dG1=(1K,2K,X,4K)(1K,2K,Y,4K)(A,B,C,D)(1K,2K,Z,4K)G2=(1K,2K,X,4K)(1K,2K,Y,4K)(E,F,G,H)(1K,2K,Z,4K)G3=(1K,2K,X,4K)
23、(1K,2K,Y,4K)(1K,2K,3K,4K)(1K,2K,Z,4K)G1=(1K,2K,X,4K)(1K,2K,Y,4K)(I,J,K,L)(1K,2K,Z,4K)Ic20 .簡述三模冗余的基本思想,并舉例說明三模冗余能否處理Byzabtine故障。答:三模冗余是使用物理冗余來提供容錯的技術(shù),是使用主動復制方法的容錯。在電子電路中有設備A、B、C,然后每個設備復制三次,結(jié)果就是每級電路都設置了三個表決器,每個表決器有三個輸入和一個輸出,若兩個或者三個輸入相同,輸出則等于輸入,若三個輸入各不相同,輸出就是不定值,這種設計就是TMRo若處理機是Byzabtine類型的,出錯的處理機仍然工作并
24、發(fā)出錯誤的隨機的應答,那么至少需要2k+1個處理機才能達到k級容錯。最壞情況下k個失效的處理機偶然(甚至有意)地產(chǎn)生相同的應答,然而剩下的k+1個未出錯的處理機也將產(chǎn)生相同的應答,因此客戶機可以根據(jù)大多數(shù)的應答得到正確結(jié)果。三模冗余在每組中有一個部件出現(xiàn)Byzabtine故障時可以處理,而一組中有兩個甚至三個同時出現(xiàn)Byzabtine故障則不能處理。21 .舉例說明采用圖論確定性算法進行處理機分配的實現(xiàn)方法。答:整個系統(tǒng)可以表示為一張帶權(quán)圖,每個節(jié)點表示一個進程,每條邊表示兩個進程之間的通信量。從數(shù)學角度看,整個問題就變成了如何根據(jù)特定的限制將圖劃分成k(k為系統(tǒng)中cpu數(shù)量)個不相連的子圖(
25、如每個子圖的總cpu和內(nèi)存需求在一定限制內(nèi))。對于每種滿足限制的解決方案,子圖內(nèi)部的邊意味著機器內(nèi)部的通信,可以忽略。從一個子圖連向另一個子圖的邊表示網(wǎng)絡通信。該算法的目標就是在滿足限制下,找到一種劃分方式使網(wǎng)絡通彳t量最小。下圖表示了圖的兩種劃分:方案A:通信量=(3+2+4+4)+(2+8+5+2)=30方案B:通信量=(3+2+4+4)+(3+5+5+2)=28第五章35、使用上載/下載模式的文件服務器系統(tǒng)與使用遠程訪問模式的文件系統(tǒng)之間有什么區(qū)別?答:文件服務分為兩種類型:上載/下載模式和遠程訪問模式。上載/下載模式。只提供兩種主要的操作(讀文件和寫文件),讀操作將整個文件從文件服務器
26、傳輸?shù)秸埱罂蛻舳?,寫操作則剛好相反,文件系統(tǒng)運行在客戶端。優(yōu)點是系統(tǒng)概念簡單,應用程序取得需要的文件,并在本地使用它。當程序結(jié)束時,將所有修改的文件或新創(chuàng)建的文件寫回去,不需要管理復雜的文件服務接口,文件傳輸效率高。缺點是客戶端需要足夠的存儲空間,當需要部分文件是需要傳輸整個文件。遠程訪問模式。提供了大量的操作,如打開、關(guān)閉文件,讀寫部分文件等等。文件系統(tǒng)在服務器端運行。優(yōu)點是客戶不需要大量存儲空間,當需要部分文件是不需要傳輸整個文件。22 .分布式系統(tǒng)中處理共享文件的四種方法(文件共享的四種語義)。答:1)UNIX語義。系統(tǒng)使所有的操作都有一個絕對時間順序,READ操作讀取最近一個WRITE
27、操作后的內(nèi)容,要求對一個文件系統(tǒng)的任何操作對所有進程都是及時可見的。2)會話語義。對于打開文件的修改最初只對修改文件的進程是可見的,當文件關(guān)閉后,對文件的修改對其他進程才是可見的。3)不可修改語義。不允許打開文件進行寫操作,只提供CREATE和READ兩種操作。只能進程講的的共享和復制。4)事務語義。使用原子事務,即所有的操作要么全做,要么全不做。23 .說明無狀態(tài)服務器和有狀態(tài)服務器,并說明二者的區(qū)別。狀態(tài)服務器如果是狀態(tài)化請求,那么服務端一般需要保存請求的相關(guān)信息,每個請求可以默認地使用以前的請求信息。狀態(tài)服務器具有以下特點:- 保存客戶請求的數(shù)據(jù)(狀態(tài))- 服務端容易對客戶狀態(tài)進行管理-
28、 服務端并不要求每次客戶請求都攜帶額外的狀態(tài)數(shù)據(jù)無狀態(tài)服務器無狀態(tài)服務器處理的客戶信息必須全部來自于請求所攜帶的信息以及其他服務器自身所保存的、并且可以被所有請求所使用的公共信息。無狀態(tài)服務器具有以下特點:- 并不保存客戶請求的數(shù)據(jù)(狀態(tài))- 客戶在請求時需要攜帶額外的狀態(tài)數(shù)據(jù)- 無狀態(tài)服務器更加健壯,重啟服務器不會丟失狀態(tài)信息,這使得維護和擴容更加簡單24 .說明保持客戶高速緩存一致性的四種算法。答:1)直接寫,當緩存中的文件被更新后,新的值在緩存在保存,而且同時發(fā)送到服務器,而當另外的進程訪問文件時,讀到的是最新值,但是存在一個問題,其他進程在更新之前讀到的文件內(nèi)容可能是過期的,那么在每次
29、用到文件時需要從服務器中讀取文件版本進行比較,查看是否過期,但是每次都要在服務器和客戶端之間通信,這樣就體現(xiàn)不出緩存的作用了。2)延遲寫,操作不立即發(fā)送給服務器,而是延遲一段時間,也就減少了網(wǎng)絡消息,當進程讀取文件時,依賴于時間。具體讀到的是那次操作的結(jié)果不確定,語義模糊。3)關(guān)閉寫,操作只有在文件關(guān)閉后才寫回服務器,配合session語義。4)集中控制,就是在文件服務器上保存了進程對文件的操作方式等信息,類似于鎖機制的管理,避免寫操作的文件被其他進程操作,但是當修改的操作結(jié)束時,會將操作結(jié)束消息通知服務器,操作的結(jié)果也就立即會送到服務器25 .說明分布式系統(tǒng)提供文件復制服務的原因以及實現(xiàn)復制
30、的三種方法。答:分布式系統(tǒng)通常保持文件的多個拷貝,每個拷貝放在一臺單獨的文件服務器上,提供這種服務主要有一些幾種原因:1)數(shù)據(jù)不丟失,通過對每個文件的獨立備份來增加系統(tǒng)的可靠性;2)當一個文件服務器出現(xiàn)問題時,仍然允許進行文件訪問;3)負載均衡,將工作量分配到多個服務器上。圖b圖a圖c三種復制方法一次如上圖所示:1)顯示復制,如圖a所示,是為編程人員控制整個進程所用,當進程產(chǎn)生一個文件時,可以在其他服務器上生產(chǎn)另外的拷貝,如果目錄服務允許一個文件有多個拷貝,所有拷貝的網(wǎng)絡地址都可以和這個文件名聯(lián)系起來。2)懶惰拷貝,如圖b所示,只要在某個服務器上建立每個文件的一個拷貝服務器自己在其他的服務器上
31、也可以自動生成副本。3)用組復制文件,如圖c所示,所有的寫系統(tǒng)調(diào)用同時傳送到所有的服務器,于是,其他的拷貝在源文件產(chǎn)生時就產(chǎn)生了26 .說明更新復制文件的兩種主要算法:主拷貝算法、Gifford算法。答:主拷貝算法,使用時,指定一個服務器為主服務器,其他所有服務器為從服務器,當要更新一個復制文件時,我們就將該改變發(fā)送至主服務器上,在本地完成修改,然后向各從服務器發(fā)出命令,命令他們也完成修改。這樣可以在任何一個(主或者從)服務器上進行讀操作。這種方法簡單,但是有個問題,當主服務器停機時,所有的更細將不能進行。Gifford算法,基本思想是在讀寫一個復制文件之前要求先申請并獲得多個服務器的允許。例
32、如,讀一個已經(jīng)有N個副本的復制文件,客戶需要獲得一個讀法定數(shù),它是任何Nr個或更多個服務器的任一集合,同樣的,修改一個文件需要一個至少Nw個服務器的寫法定數(shù)。Nr和Nw的值必修滿足約束條件Nr+Nw>N,只有在適當數(shù)目的服務器同意參與時,文件才能進行讀寫操作。第六章27 .說明在Dash交換式多處理機系統(tǒng)中,如何讀寫一個存儲器中的字。CPU如何讀取一個存儲器中的字。CPU首先檢查自己的緩存。若緩存中無此字,則在本地簇內(nèi)發(fā)出請求,詢問本地簇的其他cPu緩存中是否有此字。若有,該數(shù)據(jù)塊從該緩存?zhèn)魉偷桨l(fā)出申請的CPU緩存中。若數(shù)據(jù)塊的狀態(tài)是CLEAN,拷貝此數(shù)據(jù)塊。若塊的狀態(tài)是DIRTY,其目
33、錄將此塊標記為CLEAN,使之共享無論如何,只妥命中緩存就能滿足指令,但不影響任何目錄的位圖。如果數(shù)據(jù)塊不在任何簇的緩存中,CPU將發(fā)一請求信包給該塊的宿主所在簇,這可以由存儲器地址的高4位來確定。宿主所在簇可能就是請求者所在的簇。在這種情況下消息并未被實際發(fā)送。宿主所在簇的目錄管理硬件檢查它的表以確定塊的狀態(tài)。若為UNCACHED或CLEAN,硬件從全局存儲器中取出塊,將其發(fā)送到請求簇,該簇更新其日錄,表明該塊已在緩沖區(qū)中(如果還沒有這樣標記)。如所需塊的狀態(tài)為DIRTY,目錄硬件查找擁有該塊的簇的標志,該簇響應請求。擁有DIRTY塊的簇將數(shù)據(jù)塊發(fā)給請求簇,并因為數(shù)據(jù)塊己共享,將其狀態(tài)改為CLEAN;它還要給宿主所在簇發(fā)回一個拷貝以更新存儲器,這時塊的狀態(tài)被置為CLEAN。若塊被置為一個新狀態(tài),因為目錄跟蹤狀態(tài)的變化,其目錄也將隨之改變。寫操作與此不同。在寫以前,執(zhí)行寫操作的CPU必須確定它擁有系統(tǒng)中該緩存塊的唯一拷貝。若該CPU的緩存中己有此數(shù)據(jù)塊.且狀態(tài)為DIRTY,可以立即寫;若緩存中有數(shù)據(jù),但狀態(tài)為CLEAN,必須發(fā)送信包給宿主所在簇,記錄所有其他拷貝并將之置無效28.說明基于總線的多處理機系統(tǒng)中的write-through和writeonce協(xié)議。答:通寫緩存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保育老師健康知識培訓
- 項目工程應急演練課件
- 《平面設計》課件-第6章 設計符號學基礎(chǔ)
- 音樂信息技術(shù)課件
- 市政污水管網(wǎng)改造項目建設管理方案(模板范文)
- 城鎮(zhèn)污水管網(wǎng)建設工程運營管理方案(模板范文)
- xx片區(qū)城鄉(xiāng)供水一體化項目規(guī)劃設計方案(范文參考)
- 2025年氯鉑酸合作協(xié)議書
- 基于風險指標的低壓設備退役優(yōu)化及其在新加坡電網(wǎng)中的應用
- 2025年專用小麥新品種項目合作計劃書
- 抖音火花合同電子版獲取教程
- 保衛(wèi)管理員三級培訓
- 高含鹽廢水深度治理及綜合利用提升改造項目環(huán)評報告
- 教師食品安全知識
- 《網(wǎng)絡故障及處理》課件
- bopp消光膜及其生產(chǎn)工藝
- 嗜酸細胞性食管炎學習課件
- 電商平臺如何與線下實體店進行聯(lián)動運營
- 文本排版習題
- 小區(qū)除草殺蟲劑管理規(guī)定范本
- 云南省高中畢業(yè)生登記表
評論
0/150
提交評論