計(jì)算機(jī)操作系統(tǒng)第四版-湯小丹-教案第十章_第1頁
計(jì)算機(jī)操作系統(tǒng)第四版-湯小丹-教案第十章_第2頁
計(jì)算機(jī)操作系統(tǒng)第四版-湯小丹-教案第十章_第3頁
計(jì)算機(jī)操作系統(tǒng)第四版-湯小丹-教案第十章_第4頁
計(jì)算機(jī)操作系統(tǒng)第四版-湯小丹-教案第十章_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、西西 安安 電電 子子 科科 技技 大大 學(xué)學(xué) 出出 版版 社社http:/高等學(xué)校計(jì)算機(jī)類高等學(xué)校計(jì)算機(jī)類“十二五十二五”規(guī)劃教材規(guī)劃教材部級優(yōu)秀教材部級優(yōu)秀教材 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng)湯小丹湯小丹 梁紅兵梁紅兵 哲鳳屏哲鳳屏 湯子瀛湯子瀛 (第四版第四版)編著編著 2 2第十章 多處理機(jī)操作系統(tǒng)第十章第十章 多處理機(jī)操作系統(tǒng)多處理機(jī)操作系統(tǒng)10.1 多處理機(jī)系統(tǒng)的基本概念10.2 多處理機(jī)系統(tǒng)的結(jié)構(gòu)10.3 多處理機(jī)操作系統(tǒng)的特征與分類10.4 進(jìn)程同步10.5 多處理機(jī)系統(tǒng)的進(jìn)程調(diào)度10.6 網(wǎng)絡(luò)操作系統(tǒng)10.7 分布式文件系統(tǒng)習(xí)題3 3第十章 多處理機(jī)操作系統(tǒng)10.1 多處理機(jī)系

2、統(tǒng)的基本概念10.1.1 多處理機(jī)系統(tǒng)的引入進(jìn)入70年代后,已采用多處理機(jī)的系統(tǒng)結(jié)構(gòu)從提高運(yùn)行速度方面來增強(qiáng)系統(tǒng)性能。實(shí)際上,多處理機(jī)系統(tǒng)MPS就是采用并行技術(shù),令多個單CPU同時運(yùn)行,使總體的計(jì)算能力比單CPU計(jì)算機(jī)系統(tǒng)的強(qiáng)大得多。 4 4第十章 多處理機(jī)操作系統(tǒng)1. CPU的時鐘頻率問題在早期,人們首先是采用提高CPU時鐘頻率的方法提高計(jì)算速度。CPU的時鐘頻率已從早期的每秒鐘嘀嗒數(shù)十次,發(fā)展到現(xiàn)在的數(shù)兆赫茲(GHz),這主要得益于芯片制造工藝水平的提高。5 5第十章 多處理機(jī)操作系統(tǒng)2. 增加系統(tǒng)吞吐量隨著系統(tǒng)中處理機(jī)數(shù)目的增加,系統(tǒng)的處理能力也相應(yīng)增強(qiáng),顯然,這可使系統(tǒng)在單位時間內(nèi)完成

3、更多的工作,即增加系統(tǒng)吞吐量。當(dāng)然,為了能使多個處理機(jī)協(xié)調(diào)地工作,系統(tǒng)也必須為此付出一定的開銷。因此,利用n臺處理機(jī)運(yùn)行時所獲得的加速比,并不能達(dá)到一臺處理機(jī)時的n倍。6 6第十章 多處理機(jī)操作系統(tǒng)3. 節(jié)省投資在達(dá)到相同處理能力的情況下,與n臺獨(dú)立的計(jì)算機(jī)相比,采用具有n個處理機(jī)的系統(tǒng),可以更節(jié)省費(fèi)用。這是因?yàn)?,此時的n個處理機(jī)可以做在同一個機(jī)箱中,使用同一個電源和共享一部分資源,如外設(shè)、內(nèi)存等。7 7第十章 多處理機(jī)操作系統(tǒng)4. 提高系統(tǒng)可靠性在MPS中,通常都具有系統(tǒng)重構(gòu)的功能,即當(dāng)其中任何一個處理機(jī)發(fā)生故障時,系統(tǒng)可以進(jìn)行重構(gòu),然后繼續(xù)運(yùn)行。亦即可以立即將故障處理機(jī)上所處理的任務(wù)遷移到

4、其它的一個或多個處理機(jī)上繼續(xù)處理,保證整個系統(tǒng)仍能正常運(yùn)行,其影響僅僅表現(xiàn)為系統(tǒng)性能上的少許降低。例如,對于一個含有10個CPU的系統(tǒng),如果其中某一個CPU出現(xiàn)故障,整個系統(tǒng)性能大約降低10%。8 8第十章 多處理機(jī)操作系統(tǒng)10.1.2 多處理機(jī)系統(tǒng)的類型1緊密耦合MPS和松弛耦合MPS從多處理機(jī)之間耦合的緊密程度上,可把MPS分為兩類:(1) 緊密耦合(Tightly Coupled)MPS。 (2) 松散耦合(Loosely Coupled)MPS。 9 9第十章 多處理機(jī)操作系統(tǒng)2. 對稱多處理器系統(tǒng)和非對稱多處理器系統(tǒng)根據(jù)系統(tǒng)中所用處理器的相同與否,可將MPS分為如下兩類:(1) 對稱

5、多處理器系統(tǒng)SMPS(Symmetric Multiprocessor System)。(2) 非對稱多處理器系統(tǒng)ASMPS (Asymmetric Multiprocessor System)。 10 10第十章 多處理機(jī)操作系統(tǒng)10.2 多處理機(jī)系統(tǒng)的結(jié)構(gòu)10.2.1 UMA多處理機(jī)系統(tǒng)的結(jié)構(gòu)所謂UMA(Uniform Memory Access),即統(tǒng)一內(nèi)存訪問(也稱一致性內(nèi)存訪問)。在這種結(jié)構(gòu)的多處理機(jī)系統(tǒng)中,各處理器單元(CPU)在功能和結(jié)構(gòu)上都是相同的,在處理上沒有主從之分(即屬于SMP系統(tǒng)),每個處理機(jī)可以訪問不同模塊中的存儲器單元,并且對于每個存儲器單元的讀寫速度是相同的。 1

6、1 11第十章 多處理機(jī)操作系統(tǒng)1. 基于單總線的SMP結(jié)構(gòu)如圖10-1(a)所示,在這種結(jié)構(gòu)的系統(tǒng)中,把多個處理器與一個集中的存儲器相連,所有處理器都通過公用總線訪問同一個系統(tǒng)的物理存儲器,每個處理機(jī)可以訪問不同存儲器模塊中的單元,以及與其它處理機(jī)進(jìn)行通信。這就意味著該系統(tǒng)只需要運(yùn)行操作系統(tǒng)的一個拷貝,因此,為單處理器系統(tǒng)編寫的應(yīng)用程序可以直接移植到這種系統(tǒng)中運(yùn)行。 12 12第十章 多處理機(jī)操作系統(tǒng)圖10-1 基于總線的SMP結(jié)構(gòu)13 13第十章 多處理機(jī)操作系統(tǒng)2. 使用多層總線的SMP結(jié)構(gòu)對于單總線結(jié)構(gòu)中存在的總線瓶頸問題的另一個解決方法,就是使用多層總線結(jié)構(gòu)。在這種結(jié)構(gòu)中,系統(tǒng)中所有

7、的CPU不僅共享一個高速緩存,還有一個本地私有的存儲器,如圖10-1(c)所示。 14 14第十章 多處理機(jī)操作系統(tǒng)3. 使用單級交叉開關(guān)的系統(tǒng)結(jié)構(gòu)在這種結(jié)構(gòu)中,利用電話交換系統(tǒng)中使用交叉開關(guān)(crossbar switch)的方法,如圖10-2所示,將系統(tǒng)中所有的CPU與存儲器結(jié)點(diǎn),通過交叉開關(guān)陣列相互連接。每個交叉開關(guān)均為其中兩個結(jié)點(diǎn)(CPU與存儲器模塊)之間提供一條專用連接通路,從而避免了在多個 CPU之間因?yàn)橐L問存儲器模塊所形成的對鏈路的爭奪。而且,在任意兩個結(jié)點(diǎn)(CPU與CPU)之間也都能找到一個交叉開關(guān),在它們之間建立專用連接通路,方便CPU之間的通信。15 15第十章 多處理機(jī)

8、操作系統(tǒng)圖10-2 使用交叉開關(guān)的UMA多處理機(jī)系統(tǒng)16 16第十章 多處理機(jī)操作系統(tǒng)4. 使用多級交換網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖10-3(a)是一個最簡單的22交叉開關(guān),它有兩個輸入和兩個輸出。送入任一輸入的信息可以交換到任一輸出線上。可以將這樣的多級小交換開關(guān)分級連接起來,形成多級交叉開關(guān)網(wǎng)絡(luò),如圖10-3(b)所示,圖中的1A、2A、1B、3C等都是一個交叉開關(guān)級,在相鄰級別的交叉開關(guān)之間設(shè)置固定的物理連接。處理機(jī)和存儲器模塊分別位于網(wǎng)絡(luò)的兩側(cè),每臺處理機(jī)通過網(wǎng)絡(luò)訪問存儲器模塊,而且所有處理機(jī)的訪問方式都是一樣的,機(jī)會均等。17 17第十章 多處理機(jī)操作系統(tǒng)圖10-3 使用多級交換網(wǎng)絡(luò)的SMP結(jié)構(gòu)

9、示意圖18 18第十章 多處理機(jī)操作系統(tǒng)10.2.2 NUMA多處理機(jī)系統(tǒng)結(jié)構(gòu)1. NUMA結(jié)構(gòu)和特點(diǎn)所謂NUMA(Nonuniform-Memory- Access),即非統(tǒng)一內(nèi)存訪問(也稱非一致存儲訪問)。在這種結(jié)構(gòu)的多處理機(jī)系統(tǒng)中,其訪問時間隨存儲字的位置不同而變化,系統(tǒng)中的公共存儲期和分布在所有處理機(jī)的本地存儲器共同構(gòu)成了系統(tǒng)的全局地址空間,可被所有的處理機(jī)訪問。19 19第十章 多處理機(jī)操作系統(tǒng)圖10-4 NUMA結(jié)構(gòu)的多處理機(jī)系統(tǒng)2020第十章 多處理機(jī)操作系統(tǒng)2. CC-NUMA構(gòu)造方法目前,對于構(gòu)造大型的CC-NUMA多處理機(jī)系統(tǒng),最常用的方法是采用基于目錄的多處理機(jī)。其基本思

10、想是:對于系統(tǒng)中每一個CPU所擁有的若干高速緩存單元,都以一定數(shù)量的單元為一組,構(gòu)成一個高速緩存塊,為每個CPU配置一張高速緩存塊目錄表(下簡稱目錄表),對每一個高速緩存塊的位置和狀態(tài)進(jìn)行記錄和維護(hù)。每個CPU的每條訪問存儲器單元的指令都必須首先查詢這張表,從中判斷該存儲器單元是否在目錄表中,即其內(nèi)容是否已存在于某個高速緩存塊中,并進(jìn)行相應(yīng)的操作。 21 21第十章 多處理機(jī)操作系統(tǒng)圖10-5 CC-NUMA構(gòu)造方法2222第十章 多處理機(jī)操作系統(tǒng)10.3 多處理機(jī)操作系統(tǒng)的特征與分類10.3.1 多處理機(jī)操作系統(tǒng)的特征多處理機(jī)操作系統(tǒng)是在單機(jī)多道程序系統(tǒng)的基礎(chǔ)上發(fā)展起來的,它們之間有許多相似

11、之處,但也存在著較大的差異。歸納起來,多處理機(jī)操作系統(tǒng)具有以下幾方面的新特征:2323第十章 多處理機(jī)操作系統(tǒng)1. 并行性單機(jī)多道程序系統(tǒng)的主要目標(biāo)是,為用戶建立多個虛擬處理機(jī)以及模擬多處理機(jī)環(huán)境,使程序能并發(fā)執(zhí)行,從而改善資源利用率并提高系統(tǒng)的吞吐量。而在多處理機(jī)系統(tǒng)中,由于存在著多個實(shí)處理機(jī),已經(jīng)可使多個進(jìn)程并行執(zhí)行,因此,多處理機(jī)操作系統(tǒng)的主要目標(biāo)應(yīng)是進(jìn)一步增強(qiáng)程序執(zhí)行的并行性程度,以獲得更高的系統(tǒng)吞吐量及提高系統(tǒng)的運(yùn)算速度。 2424第十章 多處理機(jī)操作系統(tǒng)2. 分布性在單處理機(jī)系統(tǒng)中,所有的任務(wù)都是在同一臺處理機(jī)上執(zhí)行的,所有的文件和資源也都處于操作系統(tǒng)的統(tǒng)一管理之下。然而對于多處理

12、機(jī)系統(tǒng)而言,無論其結(jié)構(gòu)如何,在任務(wù)、資源和對它們的控制等方面,都呈現(xiàn)出一定的分布性。這種情況,在松散耦合系統(tǒng)中表現(xiàn)尤其明顯:(1) 任務(wù)的分布(2) 資源的分布(3) 控制的分布2525第十章 多處理機(jī)操作系統(tǒng)3. 機(jī)間的通信和同步性在多處理機(jī)系統(tǒng)中,不僅在同一處理機(jī)上并發(fā)執(zhí)行的諸進(jìn)程之間,由于資源共享和相互合作的需要,須實(shí)現(xiàn)同步和通信,而且在不同處理機(jī)上運(yùn)行的不同進(jìn)程之間,也需要進(jìn)行同步和通信,除了它們之間也需要資源共享和相互合作外,這對于提高程序執(zhí)行的并行性、改善系統(tǒng)的性能至關(guān)重要。 2626第十章 多處理機(jī)操作系統(tǒng)4. 可重構(gòu)性為提高系統(tǒng)的可靠性,在多處理機(jī)系統(tǒng)中,應(yīng)使操作系統(tǒng)具有這樣的

13、能力:當(dāng)系統(tǒng)中某個處理機(jī)或存儲模塊等資源發(fā)生故障時,系統(tǒng)能夠自動切除故障資源,換上備份資源,并對系統(tǒng)進(jìn)行重構(gòu),保證其能繼續(xù)工作。 2727第十章 多處理機(jī)操作系統(tǒng)10.3.2 多處理機(jī)操作系統(tǒng)的功能1. 進(jìn)程管理對于多處理機(jī)系統(tǒng)中的進(jìn)程管理,主要體現(xiàn)在進(jìn)程同步和進(jìn)程通信幾個方面:1) 進(jìn)程同步2) 進(jìn)程通信3) 進(jìn)程調(diào)度2828第十章 多處理機(jī)操作系統(tǒng)2. 存儲器管理在多處理機(jī)環(huán)境下,通常每個處理機(jī)都有屬于自己局部的(本地)存儲器,也有可供多個處理機(jī)所共享的(系統(tǒng))存儲器。每個處理機(jī)在訪問本地存儲器模塊時,與訪問系統(tǒng)存儲器或其它處理機(jī)的局部存儲器模塊(統(tǒng)稱遠(yuǎn)地存儲器)時相比,所花費(fèi)的時間也可能

14、是不同的。2929第十章 多處理機(jī)操作系統(tǒng)因此,在多處理機(jī)系統(tǒng)中,存儲器系統(tǒng)的結(jié)構(gòu)十分復(fù)雜,致使對存儲器系統(tǒng)的管理也變得非常復(fù)雜:除了需要具有單機(jī)多道程序系統(tǒng)中的地址變換機(jī)構(gòu)和虛擬存儲器功能外,還應(yīng)增強(qiáng)和增加下面的功能和機(jī)制:(1) 地址變換機(jī)構(gòu)。 (2) 訪問沖突仲裁機(jī)構(gòu)。(3) 數(shù)據(jù)一致性機(jī)制。3030第十章 多處理機(jī)操作系統(tǒng)3. 文件管理在單處理機(jī)系統(tǒng)中,通常只有一個文件系統(tǒng),所有的文件都存放在磁盤上,采用集中統(tǒng)一管理方式,也稱為集中式文件系統(tǒng)。而在多處理機(jī)系統(tǒng)中,則可能采用以下三種文件系統(tǒng)管理方式:(1) 集中式。(2) 分散式。(3) 分布式。 31 31第十章 多處理機(jī)操作系統(tǒng)4.

15、 系統(tǒng)重構(gòu)在單處理機(jī)系統(tǒng)中,一旦處理機(jī)發(fā)生故障,將引發(fā)整個系統(tǒng)的崩潰。但在多處理機(jī)系統(tǒng)中,尤其是在對稱多處理機(jī)系統(tǒng)中,由于各處理機(jī)的結(jié)構(gòu)和功能相同,為了提高系統(tǒng)的可靠性,應(yīng)使操作系統(tǒng)具有重構(gòu)能力,即當(dāng)系統(tǒng)中某個處理機(jī)或存儲塊等資源發(fā)生故障時,系統(tǒng)能夠自動切除故障資源并換上備份資源,使之繼續(xù)工作。如果沒有備份資源,則重構(gòu)系統(tǒng)使之降級運(yùn)行。如果在故障的處理機(jī)上有進(jìn)程亟待執(zhí)行,操作系統(tǒng)應(yīng)能安全地把它遷移到其它處理機(jī)上繼續(xù)運(yùn)行,對處于故障處的其它可利用資源同樣也予以安全轉(zhuǎn)移。 3232第十章 多處理機(jī)操作系統(tǒng)10.3.3 多處理機(jī)操作系統(tǒng)的類型 1. 主從式(master-slave) 在這種類型的操

16、作系統(tǒng)中,有一臺特定的處理機(jī)被稱為主處理機(jī)(Master Processor),其它處理機(jī)則稱為從處理機(jī)。操作系統(tǒng)始終運(yùn)行在主處理機(jī)上,負(fù)責(zé)保持和記錄系統(tǒng)中所有處理機(jī)的屬性、狀態(tài)等信息,而將其它從處理機(jī)視做為可調(diào)度和分配的資源,負(fù)責(zé)為它們分配任務(wù)。從處理機(jī)不具有調(diào)度功能,只能運(yùn)行主處理機(jī)分配給它的任務(wù)。3333第十章 多處理機(jī)操作系統(tǒng)主從式操作系統(tǒng)具有如下優(yōu)缺點(diǎn):(1) 易于實(shí)現(xiàn)。(2) 資源利用率低。(3) 安全性較差。 3434第十章 多處理機(jī)操作系統(tǒng)2. 獨(dú)立監(jiān)督式(separate supervisor System)獨(dú)立監(jiān)督式操作系統(tǒng)具有如下的優(yōu)缺點(diǎn):(1) 自主性強(qiáng)。(2) 可靠性

17、高。(3) 實(shí)現(xiàn)復(fù)雜。(4) 存儲空間開銷大。(5) 處理機(jī)負(fù)載不平衡。3535第十章 多處理機(jī)操作系統(tǒng)3. 浮動監(jiān)督式(floating supervisor Control Mode)浮動監(jiān)督式,也稱為浮動管理程序控制方式,這是最復(fù)雜的,但也是最有效、最靈活的一種多處理機(jī)操作系統(tǒng)方式,常用于緊密耦合式的對稱多處理機(jī)系統(tǒng)中。 3636第十章 多處理機(jī)操作系統(tǒng)浮動監(jiān)督式操作系統(tǒng)具有如下的優(yōu)缺點(diǎn):(1) 高靈活性。(2) 高可靠性。(3) 負(fù)責(zé)均衡。(4) 實(shí)現(xiàn)復(fù)雜。 3737第十章 多處理機(jī)操作系統(tǒng)10.4 進(jìn) 程 同 步在多處理機(jī)系統(tǒng)中,進(jìn)程間的同步顯得更加重要和復(fù)雜。在緊密耦合多處理機(jī)中,

18、多個處理機(jī)是共享存儲的,因此各處理機(jī)上的諸進(jìn)程之間可通過該共享存儲來實(shí)現(xiàn)同步,進(jìn)程間的同步實(shí)現(xiàn)相對也比較簡單。但對于松散耦合的多處理機(jī),進(jìn)程之間的同步可能采取的方式較多且復(fù)雜,可分為集中式和分布式兩大類同步方式。3838第十章 多處理機(jī)操作系統(tǒng)10.4.1 集中式與分布式同步方式1. 中心同步實(shí)體為實(shí)現(xiàn)進(jìn)程之間的同步,系統(tǒng)中必須有相應(yīng)的同步實(shí)體(Synchronizing Entity),如硬件鎖、信號量以及進(jìn)程等。如果該同步實(shí)體滿足下述兩個條件,則稱之為中心同步實(shí)體:(1) 具有唯一的名字,并且為彼此必須同步的所有進(jìn)程所知道。(2) 在任何時刻,這些進(jìn)程中的任何一個都可以訪問該同步實(shí)體。39

19、39第十章 多處理機(jī)操作系統(tǒng)2. 集中式同步機(jī)構(gòu)基于中心同步實(shí)體所構(gòu)成的所有同步機(jī)構(gòu)被稱為集中式同步機(jī)構(gòu)。相應(yīng)的,其它同步機(jī)構(gòu)則稱為非集中式同步機(jī)構(gòu)。 4040第十章 多處理機(jī)操作系統(tǒng)3. 集中式與分布式同步算法在多處理機(jī)系統(tǒng)中,為實(shí)現(xiàn)進(jìn)程同步,往往還需要有相應(yīng)的同步算法支持同步機(jī)構(gòu),一般分為以下兩種:(1) 集中式同步算法。(2) 分布式同步算法。 41 41第十章 多處理機(jī)操作系統(tǒng)4. 中心進(jìn)程方式該方式是在系統(tǒng)中設(shè)置一個中心進(jìn)程(或稱為協(xié)調(diào)進(jìn)程),該進(jìn)程保存了所有用戶的存取權(quán)限、沖突圖(conflict graph)等信息。 4242第十章 多處理機(jī)操作系統(tǒng)10.4.2 自旋鎖(spin

20、 lock)1. 自旋鎖的引入如前所述,在單CPU系統(tǒng)中,CPU在執(zhí)行讀修改寫原語操作時,是具有原子性的,即在執(zhí)行這些操作時不會被中斷。保證原子性的基本方法是,在執(zhí)行原語之前關(guān)中斷,完成后再開中斷。 4343第十章 多處理機(jī)操作系統(tǒng)2. 實(shí)現(xiàn)對總線互斥訪問的方法利用自旋鎖實(shí)現(xiàn)對總線互斥訪問的方法是:在總線上設(shè)置一個自旋鎖,該鎖最多只能被一個內(nèi)核進(jìn)程持有。 4444第十章 多處理機(jī)操作系統(tǒng)3. 自旋鎖與信號量的主要差別自旋鎖與信號量的主要差別在于:自旋鎖可避免調(diào)用進(jìn)程阻塞。由于自旋鎖使用者一般保持鎖時間非常短,調(diào)用進(jìn)程用“旋轉(zhuǎn)”來取代進(jìn)程切換。而我們知道進(jìn)程切換需要花費(fèi)一定開銷,并且會使高速緩存

21、失效,直接影響系統(tǒng)的性能,因此將自旋鎖應(yīng)用于對總線資源的競爭,其效率遠(yuǎn)高于信號量機(jī)制,且在多處理器環(huán)境中非常方便。4545第十章 多處理機(jī)操作系統(tǒng)4. 自旋鎖的類型使用自旋鎖的基本形式為:spin_lock(&lock);/*臨界區(qū)代碼;*/spin_unlock(&lock);4646第十章 多處理機(jī)操作系統(tǒng)10.4.3 讀拷貝修改鎖和二進(jìn)制指數(shù)補(bǔ)償算法1. 讀拷貝修改鎖(RCU)的引入不論是第二章中的讀寫問題,還是前面所介紹的讀寫自旋鎖,都是允許多個進(jìn)程同時讀,但只要有一個寫進(jìn)程在寫,便禁止所有讀進(jìn)程去讀,使讀者進(jìn)入阻塞狀態(tài)。如果寫的時間非常長,將嚴(yán)重影響到多個讀進(jìn)程的工作

22、。是否能改善這一情況呢? 即使有寫進(jìn)程在寫,讀進(jìn)程仍可以去讀,不會引起讀進(jìn)程的阻塞?;卮鹗强隙ǖ模浣鉀Q方法是改變寫進(jìn)程對文件(共享數(shù)據(jù)結(jié)構(gòu))進(jìn)行修改(寫)的方式。4747第十章 多處理機(jī)操作系統(tǒng)2. RCU(Read-Copy-Update)鎖RCU鎖用來解決讀者寫者問題。對于被RCU保護(hù)的共享文件(數(shù)據(jù)結(jié)構(gòu)),無論讀者和寫者,都是以讀的方式對其進(jìn)行訪問的,對于讀者而言,不需要獲得任何鎖就可以訪問它,對于寫者而言,在訪問它時,先制作該文件的一個副本,只對副本上的內(nèi)容進(jìn)行修改,然后使用一個回調(diào)(callback)機(jī)制,即向系統(tǒng)中一個稱為垃圾收集器的機(jī)構(gòu)注冊一個回調(diào)函數(shù)。最后,在適當(dāng)?shù)臅r機(jī),由垃

23、圾收集器調(diào)用寫者注冊的回調(diào)函數(shù),把指向原來數(shù)據(jù)的指針重新指向新的被修改的數(shù)據(jù),完成最后的數(shù)據(jù)釋放或修改操作。4848第十章 多處理機(jī)操作系統(tǒng)3. 寫回時機(jī)在RCU鎖機(jī)構(gòu)中,如何確定將修改后的內(nèi)容寫回的時機(jī)? 顯然,最好是在所有讀者都已完成自己的讀任務(wù)后再將修改后的文件寫回。 4949第十章 多處理機(jī)操作系統(tǒng)4. RCU鎖的優(yōu)點(diǎn)RCU實(shí)際上是一種改進(jìn)的讀寫自旋鎖。它的主要優(yōu)點(diǎn)表現(xiàn)為如下兩方面:(1) 讀者不會被阻塞。(2) 無需為共享文件(數(shù)據(jù))設(shè)置同步機(jī)構(gòu)。 5050第十章 多處理機(jī)操作系統(tǒng)10.4.4 二進(jìn)制指數(shù)補(bǔ)償算法和待鎖CPU等待隊(duì)列機(jī)構(gòu)1. 二進(jìn)制指數(shù)補(bǔ)償算法多個CPU在對共享數(shù)據(jù)結(jié)

24、構(gòu)互斥訪問時,如果該數(shù)據(jù)結(jié)構(gòu)已被占用,就需要不斷地對鎖進(jìn)行測試,造成總線流量的增大。 51 51第十章 多處理機(jī)操作系統(tǒng)2. 待鎖CPU等待隊(duì)列機(jī)構(gòu)如何及時發(fā)現(xiàn)鎖空閑,另一種同步機(jī)構(gòu)鎖等待隊(duì)列機(jī)構(gòu)很好地解決了這一問題。這種機(jī)構(gòu)的核心思想是:為每一個CPU配置一個用于測試的私有鎖變量和一個記錄待鎖CPU的待鎖清單,存放在其私有的高速緩存中。 5252第十章 多處理機(jī)操作系統(tǒng)10.4.5 定序機(jī)構(gòu)1. 時間郵戳定序機(jī)構(gòu)(Timestamp Ordering Mechanism)對時間郵戳定序機(jī)構(gòu)最基本的要求是,在系統(tǒng)中應(yīng)具有唯一的、由單一物理時鐘驅(qū)動的物理時鐘體系,確保各處理機(jī)時鐘間的嚴(yán)格同步。該

25、定序機(jī)構(gòu)的基本功能是:(1) 對所有的特殊事件,如資源請求、通信等,加印上時間郵戳;(2) 對每一種特殊事件,只能使用唯一的時間郵戳;(3) 根據(jù)事件上的時間郵戳,定義所有事件的全序。5353第十章 多處理機(jī)操作系統(tǒng)2. 事件計(jì)數(shù)(Event Counts)同步機(jī)構(gòu)1) await(E,V)每當(dāng)進(jìn)程要進(jìn)入臨界區(qū)之前,先執(zhí)行await操作,如果EV,將執(zhí)行進(jìn)程插入到EQ隊(duì)列,并重新調(diào)度;否則進(jìn)程繼續(xù)執(zhí)行。 5454第十章 多處理機(jī)操作系統(tǒng)2) advance(E)每當(dāng)進(jìn)程退出臨界區(qū)時,應(yīng)執(zhí)行advance(E)操作,使E值增1。如果EQ隊(duì)列不空,則進(jìn)一步檢查隊(duì)首進(jìn)程的V值;若E=V,則喚醒該進(jìn)程

26、。 5555第十章 多處理機(jī)操作系統(tǒng)10.4.6 面包房算法該算法是最早的分布式進(jìn)程同步算法,是利用事件排序的方法對要求訪問臨界資源的全部事件進(jìn)行排序,按照FCFS 次序?qū)κ录M(jìn)行處理。 5656第十章 多處理機(jī)操作系統(tǒng)10.4.7 令牌環(huán)算法該算法屬于分布式同步算法,是將所有進(jìn)程組成一個邏輯環(huán)(Logical Ring),系統(tǒng)中設(shè)置一個象征存取權(quán)力的令牌(Token),它是一種特定格式的報文,在進(jìn)程所組成的邏輯環(huán)中,不斷地循環(huán)傳遞,獲得令牌的進(jìn)程,才有權(quán)力進(jìn)入臨界區(qū),訪問共享資源。5757第十章 多處理機(jī)操作系統(tǒng)10.5 多處理機(jī)系統(tǒng)的進(jìn)程調(diào)度在多處理機(jī)系統(tǒng)中,進(jìn)程的調(diào)度與系統(tǒng)結(jié)構(gòu)有關(guān)。例如

27、,在同構(gòu)型系統(tǒng)中,由于所有的處理機(jī)都是相同的,因而可將進(jìn)程分配到任一處理機(jī)上運(yùn)行; 但對于非對稱多處理機(jī)系統(tǒng),則只能把進(jìn)程分配到適合于它運(yùn)行的處理機(jī)上去執(zhí)行。5858第十章 多處理機(jī)操作系統(tǒng)10.5.1 評價調(diào)度性能的若干因素1. 任務(wù)流時間 把完成任務(wù)所需要的時間定義為任務(wù)流時間,例如,如圖10-6所示,圖中有三臺處理機(jī)P1P3和五個任務(wù)T1T5,調(diào)度從時間0開始,共運(yùn)行了7個時間單位,在處理機(jī)P1上運(yùn)行任務(wù)T1和T2,分別需要5個和1.5個時間單位;在處理機(jī)P2上運(yùn)行任務(wù)T2和T1,分別用了5個和2個時間單位;在處理機(jī)P3上運(yùn)行任務(wù)T3、T4和T5,每一個都需要2個時間單位。因此,完成任務(wù)

28、T1共需要5+2=7個時間單位,而完成任務(wù)T2共需要5+1.5=6.5個時間單位。5959第十章 多處理機(jī)操作系統(tǒng)圖10-6 任務(wù)流和調(diào)度流示意圖6060第十章 多處理機(jī)操作系統(tǒng)2. 調(diào)度流時間在多處理機(jī)系統(tǒng)中,任務(wù)可以被分配到多個處理機(jī)上去運(yùn)行。一個調(diào)度流時間是系統(tǒng)中所有處理機(jī)上的任務(wù)流時間的總和。在如圖10-6所示的例子中,在三臺處理機(jī)上,調(diào)度流時間=T1流+T2流+T3流+T4流+T5流=7+6.5+2+2+2=19.5(個時間單位)。61 61第十章 多處理機(jī)操作系統(tǒng)3. 平均流 平均流等于調(diào)度流時間除以任務(wù)數(shù)。平均流時間越小,表示任務(wù)占用處理機(jī)與存儲器等資源的時間越短,這不僅反應(yīng)了系

29、統(tǒng)資源利用率高,而且還可以降低任務(wù)的機(jī)時費(fèi)用。更為重要的是,還可使系統(tǒng)有更充裕的時間處理其它任務(wù),有效地提高了系統(tǒng)的吞吐量。因此,最少平均流時間就是系統(tǒng)吞吐率的一個間接度量參數(shù)。6262第十章 多處理機(jī)操作系統(tǒng)4. 處理機(jī)利用率處理機(jī)的利用率等于該處理機(jī)上任務(wù)流之和除以最大有效時間單位。在如圖10-7所示的例子中,最大有效時間單位為7.0,三臺處理機(jī)P1、P2、P3的空閑時間分別為0.5、0.0和1.0,忙時間分別為6.5、7.0、6.0,它們?yōu)楦魈幚頇C(jī)上的任務(wù)流之和。由此可以得到P1、P2、P3的處理機(jī)利用率分別為0.93、1.00和0.86。處理機(jī)平均利用率=(0.93+1.00+0.86

30、)3=0.93。6363第十章 多處理機(jī)操作系統(tǒng)5. 加速比 加速比等于各處理機(jī)忙時間之和除以并行工作時間,其中,各處理機(jī)忙時間之和,相當(dāng)于單機(jī)工作時間,在上例中為19.5個時間單位;并行工作時間,則相當(dāng)于從第一個任務(wù)開始到最后一個任務(wù)結(jié)束所用的時間,在上例中為7個時間單位。由此得到加速比為19.5個時間單位/7個時間單位。6464第十章 多處理機(jī)操作系統(tǒng)6. 吞吐率吞吐率是單位時間(例如每小時)內(nèi)系統(tǒng)完成的任務(wù)數(shù)??梢杂萌蝿?wù)流的最小完成時間來度量系統(tǒng)的吞吐率。吞吐率的高低與調(diào)度算法有著十分密切的關(guān)系,通常具有多項(xiàng)式復(fù)雜性的調(diào)度算法是一個高效的算法。而具有指數(shù)復(fù)雜性的調(diào)度算法則是一個低效算法。

31、 6565第十章 多處理機(jī)操作系統(tǒng)10.5.2 進(jìn)程分配方式1. 對稱多處理機(jī)系統(tǒng)中的進(jìn)程分配方式在SMP系統(tǒng)中,所有的處理機(jī)都是相同的,因而可把所有的處理機(jī)作為一個處理機(jī)池(Processor pool),由調(diào)度程序或基于處理器的請求,將任何一個進(jìn)程分配給池中的任何一個處理機(jī)去處理。對于這種進(jìn)程分配,可采用以下兩種方式之一。1) 靜態(tài)分配(Static Assigenment)方式2) 動態(tài)分配(Dynamic Assgement)方式6666第十章 多處理機(jī)操作系統(tǒng)2. 非對稱MPS中的進(jìn)程分配方式對于非對稱MPS,其OS大多采用主從(MasterSlave)式OS,即OS的核心部分駐留在

32、一臺主機(jī)上(Master),而從機(jī)(Slave)上只是用戶程序,進(jìn)程調(diào)度只由主機(jī)執(zhí)行。每當(dāng)從機(jī)空閑時,便向主機(jī)發(fā)送一索求進(jìn)程的信號,然后,便等待主機(jī)為它分配進(jìn)程。在主機(jī)中保持有一個就緒隊(duì)列,只要就緒隊(duì)列不空,主機(jī)便從其隊(duì)首摘下一進(jìn)程分配給請求的從機(jī)。從機(jī)接收到分配的進(jìn)程后便運(yùn)行該進(jìn)程,該進(jìn)程結(jié)束后從機(jī)又向主機(jī)發(fā)出請求。6767第十章 多處理機(jī)操作系統(tǒng)10.5.3 進(jìn)程(線程)調(diào)度方式1. 自調(diào)度(Self-Scheduling)方式1) 自調(diào)度機(jī)制在多處理器系統(tǒng)中,自調(diào)度方式是最簡單的一種調(diào)度方式。它是直接由單處理機(jī)環(huán)境下的調(diào)度方式演變而來的。在系統(tǒng)中設(shè)置有一個公共的進(jìn)程或線程就緒隊(duì)列,所有的

33、處理器在空閑時,都可自己到該隊(duì)列中取得一進(jìn)程(或線程)來運(yùn)行。 6868第十章 多處理機(jī)操作系統(tǒng)2) 自調(diào)度方式的優(yōu)點(diǎn)自調(diào)度方式的主要優(yōu)點(diǎn)表現(xiàn)為:首先,系統(tǒng)中的公共就緒隊(duì)列可按照單處理機(jī)系統(tǒng)中所采用的各種方式加以組織;其調(diào)度算法也可沿用單處理機(jī)系統(tǒng)所用的算法,亦即,很容易將單處理機(jī)環(huán)境下的調(diào)度機(jī)制移植到多處理機(jī)系統(tǒng)中,故它仍然是當(dāng)前多處理機(jī)系統(tǒng)中較常用的調(diào)度方式。其次,只要系統(tǒng)中有任務(wù),或者說只要公共就緒隊(duì)列不空,就不會出現(xiàn)處理機(jī)空閑的情況,也不會發(fā)生處理機(jī)忙閑不均的現(xiàn)象,因而有利于提高處理機(jī)的利用率。6969第十章 多處理機(jī)操作系統(tǒng)3) 自調(diào)度方式的缺點(diǎn)自調(diào)度方式的缺點(diǎn)不容忽視,主要表現(xiàn)如下

34、:(1) 瓶頸問題。(2) 低效性。(3) 線程切換頻繁。 7070第十章 多處理機(jī)操作系統(tǒng)2. 成組調(diào)度(Gang Scheduling)方式1) 面向所有應(yīng)用程序平均分配處理器時間假定系統(tǒng)中有N個處理機(jī)和M個應(yīng)用程序,每個應(yīng)用程序中至多含有N個線程,則每個應(yīng)用程序至多可有1/M的時間去占有N個處理機(jī)。例如,有4臺處理器及兩個應(yīng)用程序,其中,應(yīng)用程序A中有4個線程,應(yīng)用程序B中有一個線程。這樣,每個應(yīng)用程序可占用4臺處理機(jī)一半(1/2)的時間。 71 71第十章 多處理機(jī)操作系統(tǒng)圖10-7 兩種分配處理機(jī)時間的方法7272第十章 多處理機(jī)操作系統(tǒng) 2) 面向所有線程平均分配處理機(jī)時間由于應(yīng)用

35、程序A中有4個線程,應(yīng)用程序B中只有1個線程,因此,應(yīng)為應(yīng)用程序A分配4/5的時間,只為應(yīng)用程序B分配1/5的時間,如圖10-7(b)所示。此時,將只有15%的處理機(jī)時間被浪費(fèi)??梢?,按線程平均分配處理機(jī)時間的方法更有效。7373第十章 多處理機(jī)操作系統(tǒng)3. 專用處理機(jī)分配(Dedicated Processor Assigement)方式1989年Tucker提出了專用處理機(jī)分配方式。該方式是指在一個應(yīng)用程序的執(zhí)行期間,專門為該應(yīng)用程序分配一組處理機(jī),每一個線程一個處理機(jī)。這組處理機(jī)僅供該應(yīng)用程序?qū)S?,直至該?yīng)用程序完成。很明顯,這會造成處理機(jī)的嚴(yán)重浪費(fèi)。 7474第十章 多處理機(jī)操作系統(tǒng)圖

36、10-8 線程數(shù)對加速比的影響7575第十章 多處理機(jī)操作系統(tǒng)4. 動態(tài)調(diào)度該調(diào)度方式允許進(jìn)程在執(zhí)行期間動態(tài)地改變其線程的數(shù)目。這樣,操作系統(tǒng)和應(yīng)用程序能夠共同地進(jìn)行調(diào)度決策。操作系統(tǒng)負(fù)責(zé)把處理機(jī)分配給作業(yè),而每個作業(yè)負(fù)責(zé)將分配到的處理機(jī)再分配給自己的某一部分可運(yùn)行任務(wù)。7676第十章 多處理機(jī)操作系統(tǒng)在這種方法中,操作系統(tǒng)的調(diào)度責(zé)任主要限于處理機(jī)的分配,并遵循以下的原則:(1) 空閑則分配。(2) 新作業(yè)絕對優(yōu)先。(3) 保持等待。(4) 釋放即分配。 7777第十章 多處理機(jī)操作系統(tǒng)10.5.3 死鎖1. 死鎖的類型在多處理機(jī)系統(tǒng)中,死鎖可以分成資源死鎖和通信死鎖。前者是因?yàn)楦偁幭到y(tǒng)中可重

37、復(fù)使用的資源(如打印機(jī)、磁帶機(jī)、存儲器等)時,由于進(jìn)程的推進(jìn)順序不當(dāng)引起的。 7878第十章 多處理機(jī)操作系統(tǒng)2. 死鎖的檢測和解除1) 集中式檢測在每臺處理機(jī)上都有一張進(jìn)程資源圖,用于描述進(jìn)程及其占有資源的狀況,在負(fù)責(zé)控制的中心處理機(jī)上,配置一張整個系統(tǒng)的進(jìn)程資源圖,并設(shè)置一個檢測進(jìn)程,負(fù)責(zé)整個系統(tǒng)的死鎖檢測。當(dāng)檢測進(jìn)程檢測到環(huán)路時,就選擇中止環(huán)路中的一個進(jìn)程,以解決死鎖。7979第十章 多處理機(jī)操作系統(tǒng)2) 分布式檢測分布式檢測是通過系統(tǒng)中競爭資源的各個進(jìn)程間的相互協(xié)作,實(shí)現(xiàn)對死鎖的檢測,無需設(shè)置一個檢測進(jìn)程,專門用于對全局資源使用情況進(jìn)行檢測。 8080第十章 多處理機(jī)操作系統(tǒng)10.6

38、網(wǎng)絡(luò)操作系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)是指通過數(shù)據(jù)通信系統(tǒng)把地理上分散的自主計(jì)算機(jī)系統(tǒng)連接起來,以達(dá)到數(shù)據(jù)通信和資源共享目的的一種計(jì)算機(jī)系統(tǒng)。自主計(jì)算機(jī)是指具有獨(dú)立處理能力的計(jì)算機(jī)。可見,計(jì)算機(jī)網(wǎng)絡(luò)是在計(jì)算機(jī)技術(shù)和通信技術(shù)高度發(fā)展的基礎(chǔ)上相結(jié)合的產(chǎn)物,是多個處理機(jī)通過通信線路互連而構(gòu)成的松散耦合系統(tǒng),通信系統(tǒng)為計(jì)算機(jī)之間的數(shù)據(jù)傳送提供最重要的支持。 81 81第十章 多處理機(jī)操作系統(tǒng)10.6.1 網(wǎng)絡(luò)及網(wǎng)絡(luò)體系結(jié)構(gòu)1. 計(jì)算機(jī)網(wǎng)絡(luò)的組成計(jì)算機(jī)網(wǎng)絡(luò)從構(gòu)造的物理結(jié)構(gòu)而言,是通過包括星形、樹形、公用總線形、環(huán)形和網(wǎng)狀形等不同的拓?fù)浣Y(jié)構(gòu),將地理上分散的計(jì)算機(jī)連接起來的網(wǎng)絡(luò)。而從邏輯結(jié)構(gòu)而言,計(jì)算機(jī)網(wǎng)絡(luò)是由三個部分組成

39、:(1) 通信子網(wǎng):(2) 資源子網(wǎng):(3) 網(wǎng)絡(luò)協(xié)議: 8282第十章 多處理機(jī)操作系統(tǒng)2. 網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)協(xié)議是一組控制數(shù)據(jù)交互過程的通信規(guī)則,規(guī)定了通信雙方所交換數(shù)據(jù)(控制信息)的格式和時序。網(wǎng)絡(luò)協(xié)議的三要素分別是:(1) 語義(2) 語法 (3) 時序8383第十章 多處理機(jī)操作系統(tǒng)3. 互連網(wǎng)協(xié)議IP v4和IP v6 1) IP v4協(xié)議IP v4是早期在Internet上使用的網(wǎng)絡(luò)互連協(xié)議,可利用它來實(shí)現(xiàn)網(wǎng)絡(luò)互連,為此,IP v4協(xié)議應(yīng)解決三個問題: 尋址 分段和重新組裝 源路由選擇8484第十章 多處理機(jī)操作系統(tǒng)2) IP v6協(xié)議IP v6協(xié)議繼承了IP v4協(xié)議的一切優(yōu)點(diǎn),而

40、針對其不足之處做了多方面的修改,使之能更好地滿足當(dāng)今Internet網(wǎng)絡(luò)的需要。 8585第十章 多處理機(jī)操作系統(tǒng)4. 傳輸層協(xié)議 TCP和UDP1) 傳輸控制協(xié)議TCPTCP提供了面向連接的、可靠的端-端通信機(jī)制。所謂可靠,是指即使網(wǎng)絡(luò)層(通信子網(wǎng))出現(xiàn)了差錯,TCP協(xié)議仍能正確地控制連接的建立、數(shù)據(jù)的傳輸和連接的釋放。此外,在進(jìn)行正常的數(shù)據(jù)交換時也要有流量控制,即控制發(fā)方發(fā)送數(shù)據(jù)的速度不應(yīng)超過接收方接收數(shù)據(jù)的能力。8686第十章 多處理機(jī)操作系統(tǒng)2) 用戶數(shù)據(jù)報協(xié)議UDP如果所傳輸?shù)臄?shù)據(jù)并不那么重要,可考慮利用UDP協(xié)議來傳輸數(shù)據(jù)。該協(xié)議是一種無連接的、不可靠的協(xié)議。它無需在數(shù)據(jù)傳送之前先

41、建立端-端之間的連接,也就不要拆除連接。在數(shù)據(jù)傳送過程中,無需對傳送的數(shù)據(jù)進(jìn)行差錯檢測。換而言之,它是以一種比較簡單的方式來傳送數(shù)據(jù),因而有效地提高了傳輸速率。 8787第十章 多處理機(jī)操作系統(tǒng)5. 網(wǎng)絡(luò)體系結(jié)構(gòu)為了簡化對復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)的研究、設(shè)計(jì)和分析工作,一般把計(jì)算機(jī)網(wǎng)絡(luò)的功能分成若干層。層次結(jié)構(gòu)就是指把一個復(fù)雜的系統(tǒng)設(shè)計(jì)問題分解成多個層次分明的局部問題,并規(guī)定每一層次所必須完成的功能。8888第十章 多處理機(jī)操作系統(tǒng)圖10-9 OSI七層模型8989第十章 多處理機(jī)操作系統(tǒng)10.6.2 網(wǎng)絡(luò)操作系統(tǒng)及其分類1. 網(wǎng)絡(luò)操作系統(tǒng)及其特征網(wǎng)絡(luò)操作系統(tǒng)(Network Operating Sy

42、stem)是在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境下,對網(wǎng)絡(luò)資源進(jìn)行管理和控制,實(shí)現(xiàn)數(shù)據(jù)通信及對網(wǎng)絡(luò)資源的共享,為用戶提供與網(wǎng)絡(luò)資源之間接口的一組軟件和規(guī)程的集合。網(wǎng)絡(luò)操作系統(tǒng)建立在網(wǎng)絡(luò)中計(jì)算機(jī)各自不同的單機(jī)操作系統(tǒng)之上,為用戶提供使用網(wǎng)絡(luò)系統(tǒng)資源的橋梁。 9090第十章 多處理機(jī)操作系統(tǒng)2. 網(wǎng)絡(luò)操作系統(tǒng)的分類1) 對等模式(peer-to-peer model)在該模式的操作系統(tǒng)管理下,網(wǎng)絡(luò)上的每臺計(jì)算機(jī)處于平等的地位,系統(tǒng)中不設(shè)專用服務(wù)器,任何一臺計(jì)算機(jī)和其它計(jì)算機(jī)之間沒有從屬關(guān)系。原則上網(wǎng)絡(luò)中的任意兩個節(jié)點(diǎn)之間都直接通信,系統(tǒng)中的每一臺計(jì)算機(jī)都能訪問計(jì)算機(jī)上的共享資源,每臺聯(lián)網(wǎng)計(jì)算機(jī)都分前臺方式和后臺方式工

43、作,前臺為本地服務(wù),后臺為其它結(jié)點(diǎn)的網(wǎng)絡(luò)用戶服務(wù)。91 91第十章 多處理機(jī)操作系統(tǒng)2) 工作站/服務(wù)器模式(Workstation/Server model)該模式將網(wǎng)絡(luò)中的節(jié)點(diǎn)計(jì)算機(jī)分為兩類:網(wǎng)絡(luò)服務(wù)器(Server)和網(wǎng)絡(luò)工作站(Workstation)。服務(wù)器以集中方式管理網(wǎng)絡(luò)中的共享資源,為工作站提供服務(wù),服務(wù)器不再作其它用途。工作站為本地用戶訪問本地資源和訪問網(wǎng)絡(luò)資源服務(wù)。9292第十章 多處理機(jī)操作系統(tǒng)3) 客戶/服務(wù)器模式(Client/Server model)在計(jì)算機(jī)網(wǎng)絡(luò)中,從硬件角度看,客戶/服務(wù)器模式是指,某項(xiàng)任務(wù)分配在兩臺或多臺機(jī)器上,其中用于接受請求并提供各種資源、

44、數(shù)據(jù)和服務(wù)的計(jì)算機(jī)稱為服務(wù)器,而面向用戶,提供用戶接口和前端處理,并向服務(wù)器提出資源、數(shù)據(jù)和服務(wù)請求的計(jì)算機(jī)稱為客戶機(jī)。9393第十章 多處理機(jī)操作系統(tǒng)4) 瀏覽器/服務(wù)器模式(Browser/Server model)客戶/服務(wù)器模式可分為兩層C/S模式和三層C/S模式兩種。傳統(tǒng)的小型局域網(wǎng)采用兩層客戶/服務(wù)器模式,在大型網(wǎng)絡(luò)中通常采用三層C/S模式。三層C/S模式,即將客戶機(jī)連接到一臺Web服務(wù)器(并配上瀏覽器軟件,用于實(shí)現(xiàn)客戶與Web服務(wù)器之間的交互)上,即在客戶機(jī)與服務(wù)器之間再增加一臺Web服務(wù)器,它相當(dāng)于前面所介紹的應(yīng)用服務(wù)器。9494第十章 多處理機(jī)操作系統(tǒng)10.6.3 網(wǎng)絡(luò)操作系

45、統(tǒng)的功能1. 數(shù)據(jù)通信為了實(shí)現(xiàn)網(wǎng)絡(luò)中計(jì)算機(jī)之間的數(shù)據(jù)通信,網(wǎng)絡(luò)OS應(yīng)具有如下基本功能:(1) 連接的建立與拆除。(2) 報文的分解與組裝。(3) 傳輸控制。(4) 流量控制。(5) 差錯的檢測與糾正。9595第十章 多處理機(jī)操作系統(tǒng)2. 應(yīng)用互操作為了實(shí)現(xiàn)多個網(wǎng)絡(luò)之間的通信和資源共享,不僅需要將它們從物理上連接在一起,而且還應(yīng)使不同網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)之間能進(jìn)行通信(信息互通)和實(shí)現(xiàn)資源共享(信息互用)。為此,在網(wǎng)絡(luò)OS中必須提供應(yīng)用互操作功能,以實(shí)現(xiàn)“信息互通性”及“信息互用性”。(1) 信息的互通性。(2) 信息的“互用性”。 9696第十章 多處理機(jī)操作系統(tǒng)3. 網(wǎng)絡(luò)管理1) 網(wǎng)絡(luò)管理的目標(biāo)

46、(1) 增強(qiáng)網(wǎng)絡(luò)的可用性,如通過預(yù)測及時地檢測出網(wǎng)絡(luò)故障,為關(guān)鍵設(shè)備配置冗余的設(shè)備等;(2) 提高網(wǎng)絡(luò)的運(yùn)行質(zhì)量,隨時監(jiān)測網(wǎng)絡(luò)中的負(fù)荷及流量;(3) 提高網(wǎng)絡(luò)的資源利用率,長期監(jiān)測網(wǎng)絡(luò),對網(wǎng)絡(luò)資源進(jìn)行合理的調(diào)整;(4) 保障網(wǎng)絡(luò)數(shù)據(jù)的安全性,采取多級安全保障機(jī)制;(5) 提高網(wǎng)絡(luò)的社會和經(jīng)濟(jì)效益。9797第十章 多處理機(jī)操作系統(tǒng)2) 網(wǎng)絡(luò)管理的功能ISO為網(wǎng)絡(luò)管理定義了差錯、配置、性能、計(jì)費(fèi)和安全五大管理功能:(1) 配置管理(2) 故障管理(3) 性能管理(4) 安全管理(5) 計(jì)費(fèi)管理9898第十章 多處理機(jī)操作系統(tǒng)10.7 分布式文件系統(tǒng)分布式文件系統(tǒng)是配置在分布式系統(tǒng)上的,因此,本節(jié)在

47、介紹分布式文件系統(tǒng)這個主題前,先對所涉及的分布式系統(tǒng)的知識和概念做個扼要的介紹。9999第十章 多處理機(jī)操作系統(tǒng)10.7.1 分布式系統(tǒng)1. 分布式系統(tǒng)的特征分布式系統(tǒng)(distributed system),是基于軟件實(shí)現(xiàn)的一種多處理機(jī)系統(tǒng),是多個處理機(jī)通過通信線路互連而構(gòu)成的松散耦合系統(tǒng),系統(tǒng)的處理和控制功能分布在各個處理機(jī)上。換言之,是利用軟件系統(tǒng)方式構(gòu)建在計(jì)算機(jī)網(wǎng)絡(luò)之上的一種多處理機(jī)系統(tǒng)。100100第十章 多處理機(jī)操作系統(tǒng)與前面所述的多種多處理機(jī)系統(tǒng)(包括多處理機(jī)和多計(jì)算機(jī)等)相比,分布式系統(tǒng)的不同在于: 分布式系統(tǒng)中的每個節(jié)點(diǎn)都是一臺獨(dú)立的計(jì)算機(jī),并配置有完整的外部設(shè)備; 分布式系

48、統(tǒng)中節(jié)點(diǎn)的耦合程度更為分散,地理分布區(qū)域更加廣闊; 分布式系統(tǒng)中的每個節(jié)點(diǎn)可以運(yùn)行不同的操作系統(tǒng),每個節(jié)點(diǎn)擁有自己的文件系統(tǒng),除了本節(jié)點(diǎn)的管理外,還有其它多個機(jī)構(gòu)對其實(shí)施管理。101101第十章 多處理機(jī)操作系統(tǒng)對分布式系統(tǒng)有很多不同的定義,比如:“一個分布式系統(tǒng)是一些獨(dú)立的計(jì)算機(jī)集合,但是對這個系統(tǒng)的用戶來說,系統(tǒng)就像一臺計(jì)算機(jī)一樣”,或者,“分布式系統(tǒng)是能為用戶自動管理資源的網(wǎng)絡(luò)操作系統(tǒng),由它調(diào)用完成用戶任務(wù)所需要的資源,而整個網(wǎng)絡(luò)像一個大的計(jì)算機(jī)系統(tǒng)一樣對用戶是透明的?!钡鹊?,歸納起來,分布式系統(tǒng)應(yīng)具有以下幾個主要特征:(1) 分布性。(2) 透明性。(3) 同一性。(4) 全局性。系

49、102102第十章 多處理機(jī)操作系統(tǒng)2. 分布式系統(tǒng)的優(yōu)點(diǎn)分布式系統(tǒng)與集中式系統(tǒng)相比具有以下一些優(yōu)點(diǎn):(1) 計(jì)算能力強(qiáng)。(2) 易于實(shí)現(xiàn)共享。(3) 方便通信。(4) 可靠性高。(5) 可擴(kuò)充性好。103103第十章 多處理機(jī)操作系統(tǒng)3. 分布式操作系統(tǒng)分布式操作系統(tǒng)是配置在分布式系統(tǒng)上的公用操作系統(tǒng),以全局的方式對分布式系統(tǒng)中的所有資源進(jìn)行統(tǒng)一管理,可以直接對系統(tǒng)中地理位置分散的各種物理和邏輯資源進(jìn)行動態(tài)的分配和調(diào)度,有效地協(xié)調(diào)和控制各個任務(wù)的并行執(zhí)行,協(xié)調(diào)和保持系統(tǒng)內(nèi)的各個計(jì)算機(jī)間的信息傳輸及協(xié)作運(yùn)行,并向用戶提供一個統(tǒng)一的、方便的、透明的使用系統(tǒng)的界面和標(biāo)準(zhǔn)接口。一個典型的例子是萬維網(wǎng)

50、(World Wide Web),在萬維網(wǎng)中,所有的操作只通過一種界面Web頁面。104104第十章 多處理機(jī)操作系統(tǒng)分布式操作系統(tǒng)除了涵蓋單機(jī)操作系統(tǒng)的主要功能外,還應(yīng)該包括:(1) 通信管理功能。(2) 資源管理功能。(3) 進(jìn)程管理功能。 105105第十章 多處理機(jī)操作系統(tǒng)10.7.2 分布式文件系統(tǒng)的實(shí)現(xiàn)方式和基本要求1. DFS的實(shí)現(xiàn)方式DFS有多種實(shí)現(xiàn)方式,一般分為以下兩類: 1) 共享文件系統(tǒng)方式(shared file system approach)該方式也稱專用服務(wù)器方式。類似于本地文件系統(tǒng)使用樹形目錄結(jié)構(gòu),管理本地計(jì)算機(jī)存儲設(shè)備上的文件方式。共享文件系統(tǒng)方式也采用一個邏

51、輯樹的結(jié)構(gòu),對整個系統(tǒng)中的文件系統(tǒng)進(jìn)行管理。 106106第十章 多處理機(jī)操作系統(tǒng)2) 共享磁盤方式(shared disk approach)該方式也稱為無服務(wù)器方式。在這種方式中,系統(tǒng)中沒有專門的文件服務(wù)器,而是配置了一個共享磁盤(一般為高速磁盤,如IBM SSA),并將其與主機(jī)、客戶機(jī)都連接在內(nèi)部的高速網(wǎng)絡(luò)(如光通道)上,主機(jī)和客戶機(jī)都將共享磁盤作為它們的存儲設(shè)備,直接以盤塊方式讀寫磁盤上的文件,實(shí)現(xiàn)共享。 107107第十章 多處理機(jī)操作系統(tǒng)2. 基本要求相對于LFS,DFS除了大容量的要求外,還有很多基本要求:(1) 透明性。(2) 高性能和高可靠性。(3) 容錯性。(4) 安全性。

52、(5) 一致性。108108第十章 多處理機(jī)操作系統(tǒng)10.7.3 命名及共享語義1. 命名如前面章節(jié)所述,對于OS管理的存儲資源,文件系統(tǒng)通過抽象,屏蔽了對物理設(shè)備的操作以及資源管理的細(xì)節(jié),并向用戶提供統(tǒng)一的、對象化的訪問接口。 109109第十章 多處理機(jī)操作系統(tǒng)2. 共享語義對于DFS,需要保證多個客戶機(jī)并發(fā)訪問時的數(shù)據(jù)一致性,因此,當(dāng)多個客戶共享同一個文件時,必須對客戶機(jī)和服務(wù)器之間的交互協(xié)議精確處理,即精確定義讀和寫的語義。110110第十章 多處理機(jī)操作系統(tǒng)3. 租賃協(xié)議租賃協(xié)議是一個比較具有代表性的一致性訪問協(xié)議。當(dāng)客戶機(jī)向服務(wù)器發(fā)出一個讀請求時,不僅收到所請求的數(shù)據(jù),還會收到一個

53、租賃憑據(jù)。該憑據(jù)附帶一個有效期,保證服務(wù)器在該有效期內(nèi)不會對客戶機(jī)收到的數(shù)據(jù)進(jìn)行更新。111111第十章 多處理機(jī)操作系統(tǒng)10.7.4 遠(yuǎn)程文件訪問和緩存1. 緩存和遠(yuǎn)程服務(wù)的比較(1) 使用緩存時,大量的遠(yuǎn)程訪問可轉(zhuǎn)為對本地的緩存訪問,因此而獲得的服務(wù)速度與本地訪問的一樣快。 (2) 使用緩存時,服務(wù)器的負(fù)載和網(wǎng)絡(luò)通信量都減少了,擴(kuò)充能力加強(qiáng)了。而在使用遠(yuǎn)程服務(wù)方法時,每次遠(yuǎn)程訪問都是跨過網(wǎng)絡(luò)處理的,明顯增加了網(wǎng)絡(luò)通信量和服務(wù)器負(fù)載,引起性能下降。112112第十章 多處理機(jī)操作系統(tǒng)(3) 緩存時,就網(wǎng)絡(luò)總開銷而言,與遠(yuǎn)程服務(wù)針對個別請求一系列應(yīng)答的傳輸開銷相比,緩存采用以整個文件或文件的若干個頁面這樣的大批數(shù)據(jù)傳輸方式時,開銷還是要低很多。(4) 緩存的主要缺點(diǎn)是一致性問題。在針對不經(jīng)常寫入的訪問模式中,緩存方法是優(yōu)越的;但在頻繁寫的情況下,用于解決一致性問題的機(jī)制反而導(dǎo)致在性能、網(wǎng)絡(luò)通信量和服務(wù)器負(fù)載等方面的大量開銷。 113113第十章

溫馨提示

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

評論

0/150

提交評論