- 分布式多媒體計(jì)算機(jī)系統(tǒng)
- 劉玉貴 楊學(xué)良編著
- 1992字
- 2018-11-08 17:36:46
2.3 什么是分布式計(jì)算機(jī)系統(tǒng)
人們?cè)鴮?duì)分布式計(jì)算機(jī)系統(tǒng)的發(fā)展給出很多定義和概念性的描述。我們從研究和發(fā)展的角度給出了分布式計(jì)算機(jī)系統(tǒng)的特征和結(jié)構(gòu)模型。
分布式計(jì)算機(jī)系統(tǒng)(DCS)是這樣一種系統(tǒng):由多個(gè)高速的處理資源組成,能夠在系統(tǒng)范圍控制下對(duì)單個(gè)問(wèn)題進(jìn)行合作,并最少依賴(lài)集中的過(guò)程、數(shù)據(jù)或硬件(此定義由第一次分布式計(jì)算機(jī)系統(tǒng)國(guó)際會(huì)議給出)。
圖2-1是一個(gè)典型的分布式計(jì)算機(jī)系統(tǒng)示意圖。

圖2-1 一個(gè)典型的分布式計(jì)算機(jī)系統(tǒng)示意圖
2.3.1 DCS的發(fā)展
DCS的發(fā)展經(jīng)歷了以下5個(gè)階段。
(1)網(wǎng)絡(luò)操作系統(tǒng):利用軟件把多臺(tái)單獨(dú)的計(jì)算機(jī)互連在一起,通過(guò)網(wǎng)絡(luò)軟件提供各工作站之間的通信,實(shí)現(xiàn)文件傳送和遠(yuǎn)程登錄。
(2)工作站網(wǎng)絡(luò):此網(wǎng)絡(luò)不僅提供工作站之間的通信,而且設(shè)有為所有工作站訪(fǎng)問(wèn)的全局文件系統(tǒng)。
(3)分布式處理語(yǔ)言(DPL):DPL為分布式應(yīng)用提供一個(gè)分布式的語(yǔ)言和編程環(huán)境,可以通過(guò)該語(yǔ)言編制出一個(gè)包括很多程序模塊的分布式程序,使之能夠同時(shí)在多臺(tái)計(jì)算機(jī)上執(zhí)行。設(shè)計(jì)分布式語(yǔ)言的主要問(wèn)題包括支持并行、數(shù)據(jù)抽象、遠(yuǎn)程過(guò)程調(diào)用等。
(4)分布式系統(tǒng)環(huán)境(DSE):DSE包括一系列應(yīng)用的工具和運(yùn)行環(huán)境,如ISIE、DCE、CORBA等。
(5)分布式操作系統(tǒng)(DOS):DOS是從內(nèi)核(Kernel)層次上實(shí)現(xiàn)對(duì)分布式的支持,既提供編程模式下的分布透明性,使分布式系統(tǒng)中的程序與集中式系統(tǒng)中的工作類(lèi)似,同時(shí)又提供一種支持并發(fā)控制、系統(tǒng)故障恢復(fù)的服務(wù)模式。
2.3.2 分布式計(jì)算機(jī)系統(tǒng)的特征
本節(jié)介紹分布式計(jì)算機(jī)系統(tǒng)的六個(gè)主要特征,這些特征既是評(píng)價(jià)一個(gè)系統(tǒng)是否是真正的分布式系統(tǒng)的依據(jù),也是設(shè)計(jì)分布式系統(tǒng)的目標(biāo)。軟件人員應(yīng)認(rèn)真研究并支持這些特征。
1.資源分散性
通常,計(jì)算機(jī)系統(tǒng)包括物理資源(中央處理器、存儲(chǔ)器、輸出/輸入設(shè)備)和邏輯資源(文件系統(tǒng)、各種軟件系統(tǒng)等)。所謂分布式是相對(duì)于集中式而言的,一般是指其功能是分布式的,是通過(guò)資源分散配置來(lái)實(shí)現(xiàn)的。傳統(tǒng)的Von Neumann計(jì)算機(jī)是單機(jī)集中式的,其功能和資源都是集中式的;而分布式系統(tǒng)是把處理功能、存儲(chǔ)功能、傳輸功能分散到各個(gè)系統(tǒng),把軟件的資源也分散到各個(gè)系統(tǒng)中,通過(guò)通信網(wǎng)絡(luò)和軟件把它們連成一個(gè)整體。
2.工作并行性
工作并行性是由于它的資源分散和重復(fù)性,真正實(shí)現(xiàn)了多指令多數(shù)據(jù)流。這是一種真正的并行,而不是并發(fā)執(zhí)行。在分時(shí)系統(tǒng)中,對(duì)每個(gè)用戶(hù)來(lái)說(shuō),宏觀上好像是并行工作,但某一時(shí)刻,中央處理器只能處理一個(gè)作業(yè),實(shí)質(zhì)上是串行地執(zhí)行。在分布式系統(tǒng)中,每臺(tái)計(jì)算機(jī)都具有自己的CPU和存儲(chǔ)器,允許多個(gè)進(jìn)程真正并行執(zhí)行。
3.結(jié)構(gòu)模塊性
結(jié)構(gòu)模塊性是指系統(tǒng)由多個(gè)分散的物理和邏輯資源組成。它們雖然互連成一個(gè)整體,但它們又是相互獨(dú)立的。每個(gè)子系統(tǒng)或節(jié)點(diǎn)具有獨(dú)立的處理功能、存儲(chǔ)功能、I/O設(shè)備、通信功能,這樣就形成一個(gè)完整的模塊。這種模塊性的結(jié)構(gòu)易于擴(kuò)展、更新和重構(gòu)。
4.協(xié)作自治性
在分布式系統(tǒng)中,控制上的自治性是區(qū)別多處理機(jī)系統(tǒng)的關(guān)鍵。并行處理和多處理機(jī)系統(tǒng)大多共享它們的內(nèi)存,集中控制和管理資源;而分布式計(jì)算機(jī)系統(tǒng)采用協(xié)作自治管理方式。這種協(xié)作自治性體現(xiàn)在各個(gè)模塊處于平等自治的地位,分別是在統(tǒng)一協(xié)調(diào)配合下自主地工作。這種工作方式使系統(tǒng)有了任意擴(kuò)展的可能,并使其工作可靠性得到確實(shí)的保證。
5.運(yùn)行堅(jiān)穩(wěn)性
系統(tǒng)總是會(huì)出錯(cuò)的,這包括硬件系統(tǒng)和軟件系統(tǒng)的故障。為了提高系統(tǒng)的可利用性和可靠性,近幾年對(duì)容錯(cuò)技術(shù)進(jìn)行了大量的研究。分布式系統(tǒng)對(duì)于冗余、重構(gòu)、快速恢復(fù)的潛在能力具有突出的優(yōu)越性。由于模塊結(jié)構(gòu)和在操作系統(tǒng)級(jí)采用了容錯(cuò)的措施,使分布式系統(tǒng)在出現(xiàn)故障時(shí),首先可以降級(jí)使用或采用重構(gòu)的措施,特別是近幾年在分布式操作系統(tǒng)級(jí)實(shí)現(xiàn)了進(jìn)程遷移,使系統(tǒng)運(yùn)行更加穩(wěn)定。
6.系統(tǒng)透明性
系統(tǒng)對(duì)用戶(hù)透明已成為分布式計(jì)算機(jī)系統(tǒng)的最關(guān)鍵特征之一。很多多機(jī)系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)不滿(mǎn)足這個(gè)條件。對(duì)于局域網(wǎng),其系統(tǒng)的拓?fù)浣Y(jié)構(gòu)、互聯(lián)網(wǎng)絡(luò)方式、傳輸介質(zhì)、通信速率、轄域與分布式系統(tǒng)類(lèi)似,但只是為了通信和共享資源而已;而分布式計(jì)算機(jī)系統(tǒng)要求系統(tǒng)對(duì)用戶(hù)是透明的,即用戶(hù)不知道它的程序在哪一臺(tái)機(jī)器上運(yùn)行,也不知道它的文件存于何處,當(dāng)調(diào)用一個(gè)文件系統(tǒng)時(shí),系統(tǒng)保證總是提供最新版本。這方面的典型系統(tǒng)有美國(guó)UCLA的LOCUS分布式系統(tǒng)。下面是ANSA(Advanced Network System Architecture)定義的8種透明性。
(1)訪(fǎng)問(wèn)透明性:可用同樣的操作訪(fǎng)問(wèn)本地、遠(yuǎn)程的文件以及其他對(duì)象。
(2)位置透明性:訪(fǎng)問(wèn)任何對(duì)象時(shí),都不必了解其所在位置。
(3)并發(fā)透明性:多個(gè)用戶(hù)或應(yīng)用程序在使用共享數(shù)據(jù)時(shí)互相不干擾。
(4)復(fù)制透明性:可以使用文件或其他數(shù)據(jù)的多個(gè)副本以增加可靠性和性能,但用戶(hù)或應(yīng)用程序不必了解是否使用了副本。
(5)錯(cuò)誤透明性:錯(cuò)誤被封閉起來(lái),即使出現(xiàn)了軟硬件故障,也不影響應(yīng)用程序完成任務(wù)。
(6)遷移透明性:系統(tǒng)中的對(duì)象可在不同機(jī)器之間遷移,但不影響應(yīng)用程序運(yùn)行。
(7)性能透明性:允許系統(tǒng)進(jìn)行重構(gòu)來(lái)改變性能,從而適應(yīng)用戶(hù)負(fù)載的變化。
(8)伸縮透明性:允許系統(tǒng)或應(yīng)用擴(kuò)充規(guī)模而不必改變系統(tǒng)結(jié)構(gòu)或應(yīng)用算法。
- 精通Excel VBA
- Photoshop CS3特效處理融會(huì)貫通
- RPA:流程自動(dòng)化引領(lǐng)數(shù)字勞動(dòng)力革命
- 新手學(xué)電腦快速入門(mén)
- 構(gòu)建高性能Web站點(diǎn)
- PostgreSQL 10 Administration Cookbook
- 筆記本電腦維修90個(gè)精選實(shí)例
- Containers in OpenStack
- Hands-On Reactive Programming with Reactor
- FPGA/CPLD應(yīng)用技術(shù)(Verilog語(yǔ)言版)
- 在實(shí)戰(zhàn)中成長(zhǎng):C++開(kāi)發(fā)之路
- 智能鼠原理與制作(進(jìn)階篇)
- INSTANT Adobe Story Starter
- 工業(yè)機(jī)器人力覺(jué)視覺(jué)控制高級(jí)應(yīng)用
- Building Google Cloud Platform Solutions