發展概況
多機系統是由兩台以上的電子計算機組成的計算機系統。一般配置在同一地點且不需通信系統來聯接。其中任一台計算機發生故障,不影響整個系統的正常運轉。建立多機系統的目的是為了提高可靠性和運算速度
多處理機與多機系統、分布處理系統和
計算機網:多處理機與多機系統是進一步發展並行技術的必由之路,是巨型、
大型機主要發展方向。它們是多指令流多數據流(MIMD)系統,各機處理各自的指令流(進程),相互通信,聯合解決大型問題。它們比並行處理機有更高的並行級別,潛力大,靈活性好。用大量廉價
微型機,通過
互連網路構成系統,以獲得高性能,是研究多處理機與多機系統的一個方向。多處理機與多機系統要求在更高級別(進程)上研究並行算法,高級程式語言提供並發、同步進程的手段,其作業系統也大為複雜,必須解決多機間多進程的通信、同步、控制等問題。
分布系統是多機系統的發展,它是由物理上分布的多個獨立而又相互作用的單機,協同解決用戶問題的系統,其系統軟體更為複雜(見
分布計算機系統)。
現代大型機幾乎都是功能分布的多機系統,除含有高速中央處理器外,有管理輸入輸出的輸入輸出處理機(或前端用戶機)、管理遠程終端及
網路通信的
通信控制處理機、全系統維護診斷的維護診斷機和從事資料庫管理的資料庫處理機等。這是分布系統的一種低級形態。
多個地理上分布的計算機系統,通過通信線路和網路協定,相互聯絡起來,構成計算機網。它按地理上分布的遠近,分為局部(本地)計算機網和遠程計算機網。網路上各計算機可相互共享信息資源和軟硬體資源。訂票系統、情報資料檢索系統都是計算機網套用的實例。
工作原理
工作流程 用戶使用計算機系統算題的一般流程:
①通過系統操作員建立
帳號,取得使用權。帳號既用於識別並保護用戶的檔案(程式和數據),也用於系統自動統計用戶使用資源的情況(記帳,付款)。
②根據要解決的問題,研究算法,選用合適的語言,
編寫源程式,同時提供需處理的數據和有關控制信息。
③把②的結果在脫機的專用設備上放入
軟磁碟,建立用戶檔案(也可在在線上終端上進行,直接在
輔助存儲器中建立檔案,此時第四步省去)。
④藉助軟碟機把軟碟上用戶檔案輸入計算機,經加工處理,作為一個作業,登記並存入輔助存儲器。
⑤是要求編譯。作業系統把該作業調入
主存儲器,並調用所選語言的編譯程式,進行編譯和連線(含所調用的子程式),產生機器可執行的目標程式,存入輔助存儲器。
⑥要求運算處理。作業系統把目標程式調入主存儲器,由中央處理器運算處理,結果再存入輔助存儲器。
⑦運算結果由作業系統按用戶要求的格式送外部設備輸出。
計算機內部工作(④~⑦)是在
作業系統控制下的一個複雜過程。通常,一台計算機中有多個用戶作業同時輸入,它們由作業系統統一調度,交錯運行。但這種調度對用戶是透明的,一般用戶無需了解其內部細節。用戶可用一台終端,互動式的控制③~⑦的進行(分時方式);也可委託操作員完成③~⑦,其中④~⑦是計算機自動進行的(批處理方式)。批處理方式的自動化程度高,但用戶不直觀,無中間干預。分時方式用戶直觀控制,可隨時干預糾錯,但自動化程度低。現代計算機系統大多提供兩種方式,由用戶選用。
一般特點
多機系統計算機有三個特性:
①模組性:多機系統計算機系統的資源元件形成相對獨立的模組,經互連網路的相互聯繫構成單一系統。模組在一定範圍內的增減替換不致於影響系統的整體性。
②
並行性:分散的資源元件可以合作解決一個共同問題,在分布作業系統的控制下,實現資源重複(按任務)或時間重疊(按功能)等不同形式的並行性。
③自治性:系統資源的操作是高度自治的,既不存在全系統的主從控制關係,又能利用處理局部化的原則以減少各結點間的數據通信量。
多機系統計算機系統的產生和發展受多種因素的推動。首先是技術方面的因素:
大規模積體電路和微處理器為多機系統計算機系統提供了廉價的硬體;
數字通信技術和計算機網技術的發展,使數量很大的計算機結點相互連線和高速通信成為可能。此外更為重要的是用戶因素。集中式分時計算機系統雖能連線大量遠程和近程終端來滿足地理上分散的多用戶使用的需要,但處理功能的過度集中將產生通信開銷大、回響時間長,系統複雜昂貴等問題,因而用戶逐漸轉向分布計算機系統,以謀求更高的技術經濟效益。
主從式(master-slave)作業系統由一台主處理機記錄、控制其它從處理機的狀態,並分配任務給從處理機。例如,Cyber-170就是主從式多處理機作業系統,它駐留在一個外圍處理機Po上運行,其餘所有處理機包括中心處理機都從屬於Po。另一個例子是DECSystem10,有兩台處理機,一台為主,另一台為從。作業系統在主處理機上運行,從處理機的請求通過陷入傳送給主處理機,然後主處理機回答並執行相應的服務操作。主從式作業系統的監控程式及其提供服務的過程不必遷移,因為只有主處理機利用它們。當不可恢復錯誤發生時,系統很容易導致崩潰,此時必須重新啟動主處理機。由於主處理機的責任重大,當它來不及處理進程請求時,其它從屬處理機的利用率就會隨之降低。
主從式作業系統有如下特點:
A.作業系統程式在一台處理機上運行。如果從處理機需要主處理機提供服務,則向主處理機發出請求,主處理機接受請求並提供服務。不一定要求把整個管理程式都編寫成可重入的程式代碼,因為只有一個處理機在使用它,但有些公用例程必須是可重入的才行。
B.由於只有一個處理機訪問執行表,所以不存在管理表格存取衝突和訪問阻塞問題。
C.當主處理機故障時很容易引起整個系統的崩潰。如果主處理機不是固定設計的,
管理員可從其他處理機中選一個作為新主處理機並重新啟動系統。
D.任務分配不但容易使部分從處理機閒置而導致系統效率下降。
E.用於工作負載不是太重或由功能相差很大的處理機組成的非對稱系統。
F.系統由一個主處理機加上若干從處理機組成,硬體和
軟體結構相對簡單,但靈活行差。
獨立監督式
獨立監督式(separatesupervisor)與主從式不同,在這種類型中,每一個處理機均有各自的管理程式(核心)。採用獨立監督式作業系統的多處理機系統有IBM370/158等。
獨立監督式的特點:
A.每個處理機將按自身的需要及分配給它的任務的需要來執行各種管理功能,這就是所謂的獨立性。
B.由於有好幾個處理機在執行管理程式,因此管理程式的代碼必須是可重入的,或者為每個處理機裝入專用的管理程式副本。
C.因為每個處理機都有其專用的管理程式,故訪問公用表格的衝突較少,阻塞情況自然也就較少,系統的效率就高。但衝突仲裁機構仍然是需要的。
D.每個處理相對獨立,因此一台處理機出現故障不會引起整個系統崩潰。但是,要想補救故障造成的損害或重新執行故障機未完成的工作非常困難。
E.每個處理機都有專用的I/O設備和檔案等。
F.這類作業系統適合於松耦合多處理機體系,因為每個處理機均有一個局部存儲器用來存放管理程式副本,存儲冗餘太多,利用率不高。
G.獨立監督式作業系統要實現處理機負載平衡更困難。
浮動監督式
浮動監督式(floatingsupervisor)每次只有一台處理機作為執行全面管理功能的“主處理機”,但根據需要,“主處理機”是可浮動的,即從一台切換到另一台處理機。這是最複雜、最有效、最靈活的一種多處理機作業系統,常用於對稱多處理機系統(即系統中所有處理機的許可權是相同的,有公用主存和I/O子系統)。浮動監督式作業系統適用於緊耦合多處理機體系。採用這種作業系統的多處理機系統有IBM3081上運行的MVS,VM以及C·mmp上運行的Hydra,等等。
浮動監督式的特點:
A.每次只有一台處理機作為執行全面管理功能的“主處理機”,但容許數台處理機同時執行同一個管理服務子程式。因此,多數管理程式代碼必須是可重入的。
B.根據需要,“主處理機”是可浮動的,即從一台切換到另一台處理機。這樣,即使執行管理功能的主處理機故障,系統也能照樣運行下去。
C.一些非專門的操作(如I/O中斷)可送給那些在特定時段內最不忙的處理機去執行,使系統的負載達到較好的平衡。
D.服務請求衝突可通過優先權辦法解決,對共享資源的訪問衝突用互斥方法解決。
E.系統內的處理機採用處理機集合概念進行管理,其中每一台處理機都可用於控制任一台I/O設備和訪問任一存儲塊。這種管理方式對處理機是透明的,並且有很高的可靠性和相當大的靈活行。