1983年 8月164期上一篇下一篇

#發行日期:1983、08

#期號:0164

#專欄:

#標題:分配式系統

#作者:李中民

分配式系統之結構

分配式作業系統

分配式資料庫

分配式程式語言及系統

結語

:李中民任職於資訊工業策進會。

 

 

 

 分配式系統


【摘要】分配系統除了具有統一而可共用的資源,更能提供使用者一個單純、有效和高層次的設計環境。

近年來電腦科技的日新月異,尤其是電腦網路、迷你及微電腦以及超大型積體電路等的進步,使得分配式系統(distributed systems)日益受到重視。

本文首先敘述分配式系統產生的動機及其基本結構,然後就分配式軟體系統包括分配式作業系統(distributed operating systems)、分配式資料庫(distributed data bases)和分配式程式語言及系統(distributed programming languages and systems)加以說明。

分配式系統之結構

早期的電腦系統可分集中式系統及分散式系統兩種。集中式系統(centralized systems)由一個大電腦來處理所有作業,其優點為集中管理使用資源及人力,並可共用大量的優良套裝軟體,而其缺點為大電腦較貴且使用者不易依其意思來控制電腦的使用。

分散式系統(decentralized systems)由數個互不相連的低價迷你電腦各自獨立管理資源及處理作業。其優點為使用者對當地的電腦及附屬設備有較大控制的能力、易發展特殊用途的軟體系統、迷你電腦使用簡單且設計的更新快,此外,可靠性高且可逐漸擴展系統。其缺點為建置設備及發展軟體時的重複投資。

分配式系統乃應運而起,兼採取集中式系統及分散式系統二者之長,提供一折衷的方法。

分配式系統應有下列要件:

一、有數個電腦或處理系統;

二、分散於不同的地理位置;

三、由傳輸管線(即電腦網路)相連起來;

四、作業系統提供統一的系統功能;

五、資源的使用方式無異在單一系統的環境中;

六、合作方式的自主控制:資源可自己決定是否提供服務。

故分配式系統可定義為一個電腦系統,實質上使用一個電腦網路而邏輯上使用一個分配式軟體系統,以提供使用者一個單純的、統一的、有效率的、高層次程式設計的環境,主要目的為便利共用統一的資源、無異於單一系統的系統作業,以及和諧完備的電腦間的互通訊息。上述之分配式軟體系統包括分配式作業系統、分配式資料庫系統以及分配式程式語言與系統。

分配式系統具有之特性:

一、資源之分散:資源包括硬體設備及軟體程式資料。分散的方式可分全部分散、部分分散、固定分散、機動分散、部分重覆、全部重覆等。

二、控制之分散:分配式系統中之每一電腦均有其相當的自主權,但是,在不同電腦中的程式之間又必須互相合作以達成任務。

三、訊息之交換:當地的程式與遠處異地的程式放在不同的電腦中,故必須互相交換訊息以便合作。

四、通訊之延遲及失敗:通訊的等待時間長短未可預料,而且電腦或電腦網路的損壞均會造成通訊的失敗。

所以,分配式系統的使用乃兼有集中式系統,如共用資源(軟體、資料、硬體、設備)的長處;同時也得到分散式系統的優點,如使用者有較大的控制權、自主性及可靠性高等。

分配式系統的例子很多,例如銀行的提存款業務的連線作業,在總行各部門及各分行均可設電腦,連接起來,即可供顧客在任一部門或分行提存現款。

以下分別敘述分配式系統的重要軟體,包括分配式作業系統、分配式資料庫系統以及分配式程式語言及系統。

分配式作業系統

既有了分配式系統,則應有一涵蓋整個系統及網路的作業系統,以便統一管理資料及處理運算。然而,分配式作業系統與網路作業系統是有所不同的。

網路作業系統(network operating systems)為每一電腦的原有作業系統加上負責管理網路之責的軟體,因其不揚棄現有軟體,故較易建置。此類系統較適用於使用大電腦的長距離網路,該系統已有相當多的軟體可用,而大電腦的結構懸殊而分布範圍廣。

分配式作業系統則為單一和諧的、整體的作業系統,一個網路只有一個分配式作業系統,故易於設計及建置。傳統的作業系統服務,如檔案系統、處理機的使用等均可由特別的程式來處理。分配式作業系統應可提供的服務有遠方資料的存取、遠方檔案的傳送與程式的執行等。

分配式作業系統的主要問題乃程式之間的通訊,有兩種方法:程式傳喚與訊息傳送。分配式作業系統適合用於由迷你及微電腦組成的區域性網路。

分配式資料庫

分配式資料庫即邏輯資料庫,有數份重覆的資料分配貯存在電腦網路中數個安置在各地的電腦中。其好處是可以增加可靠度,採用漸進式擴展、改進反應時間、分配工作量。分配式資料庫的例子很多,譬如機票定位、銀行存放款作業、零售庫存系統等。

由使用者看來,分配式資料庫的使用就如集中式資料庫一樣。資料的分散、資料的重覆貯存及電腦網路的傳輸延誤應不影響邏輯資料庫系統的運作,但是實質上的運作則有許多分配式系統特有的性質需加考慮。亦即設計建置分配式資料庫的方式與步驟大約與集中式資料庫相同,問題在於分配式系統中電腦間的通訊傳輸遠慢於當地資料庫系統所在的貯存體,因此在設計、建置與使用分配式資料庫系統時,傳輸的延誤為極重要的考慮因素。

分配式資料庫具有兩大特性:

一、資料的分散建置:例如一大公司所屬的分公司都各有其本身的職員、庫存、訂單及生產資料。而大部分的資料使用需求可由當地資料庫中得到服務,少數需求偶爾需經由電腦網路到遠處其他地方的資料庫中去尋找。

二、資料的重覆建置:例如一家公司除在總公司有一份資料之外,並在分公司存有全部或部分重覆的資料,並隨時保持重覆資料的統一。如此,則更多的需求可經由當地的資料庫取得資料。

分配式資料庫有下列問題值得討論研究:

一、資料的分配:如何分配資料及其間的關係於不同的電腦之中,資料的分散及重覆的貯存應顧及使用需求。

二、同時的需求:如何處理自不同電腦發出的對同一資料的同料需求。因資料可能是分散的,也可能是重覆的,故應安排同時需求接受服務的先後秩序。此外,因服務需求而必須鎖住資料時,應考慮傳輸方面的長時間的延遲與失誤。

三、詢問的銓釋:如何處理分配式的詢問。因資料的分散或重覆,而必須把詢問送到電腦網路中各電腦加以處理。

四、損壞的復原:如何處理因電腦或網路的損壞而引起的問題,電腦或網路的損壞而引起的問題,應在修好後及時復原。

分配式程式語言及系統

既有了上述的分配式作業系統及分配式資料庫系統,為了要建置這些系統,一個能適合分配式系統並能處理分配式系統特性的程式語言必然需要,這個分配式程式語言本身則需要一個分配式程式系統去處理它。

分配式程式語言及系統,不僅應提供系統設計及程式師一個製作分配式系統軟體的工具,同時亦應可提供系統使用的人一個可撰寫分配式應用程式的高階語言。

分配式程式語言應能提供語言能力,來處理下列的分配式系統的特性:資料的分散、控制的分散、訊息傳送時不定時的延遲、通訊網路的損壞等。

分配式語言所應提供的分配式語言能力可分下列數類:

一、程式的通訊:如當地、遠方及全系統的程式行為、通訊的延遲及失敗、多目的地的通訊及通訊的等待等。

二、資料的分散:如程式行為的不可分單元(atomic operations)、程式行為的時間戳記(times tamps)、多來源回訊的選擇等。

三、執行的平行進行:如由資料驅使的通訊(datadriven)、多節管道式的通訊(pipelines)、可監守的程式行為(guarded operations)等。

分配式語言的設計,不但應提供上述的語言能力,並應符合當前程式語言設計的目標,例如單元性(modularity)、摘要性(abstraction)、可偵錯性(verifiability)等。

一個分配式程式設計的環境不但需要一個分配式程式語言,並且也需要一個分配式程式系統來處理此語言。此分配式程式系統不但應在翻譯分配式程式語言時處理分配式系統的特性,並應在程式執行時處理諸如訊息、名稱等分配式系統特有的問題。

結語

以上簡要地介紹了分配式系統、分配式作業系統、分配式資料庫和分配式程式語言及系統。目前國內外正大力推動的區域性網路、辦公室自動化、電子信件系統(electronic mail system)等,都需要依賴上述的分配式系統研究發展的成果,可以說八十年代將會是一個分配式系統的時代。

 

 

 
   

回到最上面

 

科學月刊全文資料庫

最佳瀏覽解析度800*600,請使用IE4.0以上版本的瀏覽器

科學月刊雜誌社.金台灣資訊事業有限公司.圖龍文化事業股份有限公司版權所有
Copyright 2000 Science Monthly and King-Taiwan Information Technology Inc. All Rights Reserved.