淺談分布式軟件系統(tǒng)
? ? 分布式軟件系統(tǒng),是支持分布式處理的軟件系統(tǒng),是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。它包括分布式操作系統(tǒng)、分布式程序設(shè)計(jì)語言及其編譯系統(tǒng)、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)等。
? ??分布式軟件系統(tǒng)負(fù)責(zé)管理分布式處理系統(tǒng)資源和控制分布式程序運(yùn)行。它和集中式軟件系統(tǒng)的區(qū)別在于資源管理、進(jìn)程通信和系統(tǒng)結(jié)構(gòu)等方面。分布式系統(tǒng)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng)。正是因?yàn)檐浖奶匦?,所以分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。因此,網(wǎng)絡(luò)和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件,而不是硬件。
? ?按耦合度不同,可以將分布式軟件系統(tǒng)分成三類:?第一種是面向計(jì)算任務(wù)的分布并行計(jì)算機(jī)系統(tǒng)和分布式多用戶計(jì)算機(jī)系統(tǒng)。第二種是面向管理信息的分布式數(shù)據(jù)處理系統(tǒng)。耦合度可以適當(dāng)降低。第三種是面向過程控制的分布式計(jì)算機(jī)控制系統(tǒng)。
? ??分布式系統(tǒng)是多個(gè)處理機(jī)通過通信線路互聯(lián)而構(gòu)成的松散耦合的系統(tǒng)。從系統(tǒng)中某臺處理機(jī)來看,其余的處理機(jī)和相應(yīng)的資源都是遠(yuǎn)程的,只有它自己的資源才是本地的。至今,對分布式系統(tǒng)的定義尚未形成統(tǒng)一的見解。一般認(rèn)為,分布式系統(tǒng)應(yīng)具有以下四個(gè)特征:
(1)分布性。分布式系統(tǒng)由多臺計(jì)算機(jī)組成,它們在地域上是分散的,可以散布在一個(gè)單位、一個(gè)城市、一個(gè)國家,甚至全球范圍內(nèi)。整個(gè)系統(tǒng)的功能是分散在各個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)的,因而分布式系統(tǒng)具有數(shù)據(jù)處理的分布性。?
(2)自治性。分布式系統(tǒng)中的各個(gè)節(jié)點(diǎn)都包含自己的處理機(jī)和內(nèi)存,各自具有獨(dú)立的處理數(shù)據(jù)的功能。通常,彼此在地位上是平等的,無主次之分,既能自治地進(jìn)行工作,又能利用共享的通信線路來傳送信息,協(xié)調(diào)任務(wù)處理。?
(3)并行性。一個(gè)大的任務(wù)可以劃分為若干個(gè)子任務(wù),分別在不同的主機(jī)上執(zhí)行。
(4)全局性。分布式系統(tǒng)中必須存在一個(gè)單一的、全局的進(jìn)程通信機(jī)制,使得任何一個(gè)進(jìn)程都能與其他進(jìn)程通信,并且不區(qū)分本地通信與遠(yuǎn)程通信。同時(shí),還應(yīng)當(dāng)有全局的保護(hù)機(jī)制。系統(tǒng)中所有機(jī)器上有統(tǒng)一的系統(tǒng)調(diào)用集合,它們必須適應(yīng)分布式的環(huán)境。在所有CPU上運(yùn)行同樣的內(nèi)核,使協(xié)調(diào)工作更加容易。
? ??分布式軟件系統(tǒng)在很多方面都有應(yīng)用,如操作系統(tǒng),程序設(shè)計(jì)語言,文件系統(tǒng),數(shù)據(jù)庫系統(tǒng),郵件系統(tǒng)等。分布式軟件系統(tǒng)可以解決組織機(jī)構(gòu)分散而數(shù)據(jù)需要相互聯(lián)系的問題。比如銀行系統(tǒng)。如果一個(gè)組織機(jī)構(gòu)需要增加新的相對自主的組織單位來擴(kuò)充機(jī)構(gòu),則分布式數(shù)據(jù)庫系統(tǒng)可以在對當(dāng)前機(jī)構(gòu)影響最小的情況下進(jìn)行擴(kuò)充。相等規(guī)模的分布式數(shù)據(jù)庫系統(tǒng)在出現(xiàn)故障的幾率上不會比集中式數(shù)據(jù)庫系統(tǒng)低,但由于其故障的影響僅限于局部數(shù)據(jù)應(yīng)用,因此就整個(gè)系統(tǒng)來講它的可靠性是比較高的。