並行作業系統

並行作業系統

並行作業系統是一種挖掘現代高性能計算機和現代作業系統的潛力的計算機作業系統,能夠最大限度地提高並行計算系統的計算能力。

並行作業系統是針對計算機系統的多處理器要求設計,它除了完成單一處理器系統同樣的作業與進程控制任務外,還必須能夠協調系統中多個處理器同時執行不同作業和進程,或者在一個作業中由不同處理器進行處理的系統協調。因此,在系統的多個處理器之間活動的分配、調度也是作業系統的主要任務。

基本介紹

  • 中文名:並行作業系統
  • 外文名:concurrent operating system
  • 所屬學科:計算機科學
  • 簡寫:COS
  • 起源時間:1975年
  • 目的:提高計算機計算能力
發展,特點,分類,

發展

並行作業系統是隨著並行計算機的發展而發展的。早期的並行計算機只是簡單地利用向量板或數組機來提高串列計算機的性能,此時作業系統最多只需要做一些諸如載入的簡單操作,並不算是並行作業系統。最早的並行作業系統要算是美國的卡內基梅隆大學於1975年在16台PDP11/40互聯而成的C.mmp上實現的Hydra系統。儘管這一系統主要是致力於機器性能的管理與保護,但是它在並行作業系統方面作了許多有益的探索,這些對於現代並行作業系統的設計仍然有相當重要的影響。並行作業系統在發展初期具有一個較明顯的特徵,即大量地使用專門的彙編語言來編寫專用作業系統,這樣做是因為,一是當時高級語言對並行的描述還不完善;二是發展較成熟的作業系統如UNIX通常存在巨額的系統開銷,這與並行機的系統結構和昂貴代價不適應,因此要使並行機達到較高的性能必須採用高效的彙編語言,以針對並行計算機的自身特點和其特殊的套用領域來編寫作業系統。這樣形成的並行作業系統雖然遠不如傳統的UNIX那樣功能豐富、使用方便,但是它的簡潔高效又是傳統的UNIX所望塵莫及的。早期並行計算機的主要開發商Cray公司的早期並行作業系統COS就是用專門的彙編語言編寫成的。
但是這種使用專門的彙編語言編寫成的並行作業系統具有一個很顯著的缺點,即它的應用程式界面沒有一個統一的標準,這樣使得在作業系統上的應用程式的移植變得十分困難;隨著計算機並行技術的不斷提高以及半導體工業的飛速發展,並行計算機的價格比早期的並行計算機已有大幅度的下降,因此人們對於統一的並行作業系統的應用程式界面的要求已遠大於由此引起的系統開銷。於是,為了迎合用戶的需要,占領更多的市場,計算機的製造商提供了模擬的標準界面,如UNICOS。
隨著並行計算機的普及,傳統的UNIX廠商(從USL到NOVELL、SCO、HP)為了自身的生存,均對傳統的UNIX的結構進行修改,吸收許多的新技術、新功能,以適應並行計算機市場的需要;例如推出了支持多處理機的UNIX system V Release 4.2 for MP以及UNIXWare2.0。在1998年2月,SCO和HP還聯合發布了下一代64位UNIX的開發計畫,在該計畫中,首次提出了作業系統的三維體系結構(3DA)構想,從而更好地有利於作業系統的並行性的開發。
進入20世紀80年代,隨著計算機網路的發展,出現了分布處理的概念,即把一個任務分散到多個計算機上去運行,而這些計算機可能在物理上是分散的,相互之間採用網路互連,通過訊息傳遞進行通信。

特點

傳統的作業系統為了提高硬體資源的利用效率,採用了多任務並發執行的技術。即通過切換不同的用戶程式以達到多道程式的運行目的。而並行作業系統是要提供真正的多道程式運行環境。當可運行的用戶程式數目小於或者等於處理器個數,它們將真正地得到並行執行。並行作業系統除了要管理各個節點機之外,還要負責各節點與宿主機的通信以及節點機相互之間的通信和同步等功能。
早期的並行操作一般是在單機作業系統的基礎上擴展通信模組、分散式檔案系統或網路伺服器等組成。已有微核心化、面向對象等全新的並行作業系統出現。

分類

一、按控制方式分類可分為以下四類:
1、主從式(Master-Slave)
主從式是並行作業系統中較為簡單且較古老的一種。它比較適合於有主從關係的體系結構的並行計算機中,也可用於對稱式環境。主從式作業系統的主要特點就是它將所有系統服務和中斷處理安排在一個處理器(該處理器稱為主處理器)上運行;其它處理器(稱為從處理器)的管態進程均要送到主處理器上去處理。
2、獨立式(Separate Supervisor)
獨立式作業系統是指在每一個處理器上有一個作業系統核心,它是與主從式截然不同的結構,而與網路上的作業系統有類似之處。這種方式的作業系統的資源共享是一種較高級別的資源共享方式,如檔案共享。
3、浮動式(Floating Supervisor)
浮動式結構的主要特徵是作業系統的核心不是固定在某一個處理器上(就像主從式),而是根據需要在幾台能執行核心的處理器上浮動運行。
4、多執行緒(Multithread)
執行緒是可以單獨執行的實體,是一些具有必要的最小狀態的輕量級進程;所謂最小狀態包括進程狀態和相關暫存器的內容。所謂多執行緒的並行作業系統其實是對核心重新進行設計或對浮動式的進一步改進,即使核心的分塊足夠小,足以使多個處理器可以同時在核心中運行,這時便形成了多執行緒核心。
二、按核心結構可分為以下幾類:
1、整體核心系統
並行作業系統的核心如果是一個整體,僅通過一個簡單的硬體邊界與用戶程式分離,而在作業系統內部各模組之間無邊界保護的核心結構,我們就稱之為整體核心。在整體核心的結構中,進程間的通信作為一種高級的作業系統功能是通過系統支持的共享記憶體或可見的基於訊息的通信機制來實現的。
2、基於能力的系統
在這種系統下,每一個核心模組或硬體資源中的可訪問實體均有自己的保護域,同時所有的實體均位於單一的有名空間下。
3、訊息傳遞系統
這種作業系統核心中,各進程一直存在於自己的地址空間下,同時進程的通信是通過通信通道上的訊息傳遞實現的。

相關詞條

熱門詞條

聯絡我們