複製鏈接
請複製以下鏈接發送給好友

多處理機操作系統

(多處理機操作系統)

鎖定
操作系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。多處理機操作系統是操作系統管理和調度多個處理器。多處理機操作系統引入原因主要有:增加系統的吞吐量;節省投資和提高系統的可靠性。
中文名
多處理機操作系統
外文名
Multi - processor operating system
學    科
計算機科學
定    義
管理和調度多處理器
原    因
增加吞吐量、提高可靠性
領    域
操作系統

多處理機操作系統簡介

目前存在着多種類型的 OS,不同類型的 OS,其目標各有所側重。一般地説,在計算機硬件上配置的 OS,其目標有以下幾點:1、有效性,操作系統的有效性可包含如下兩方面的含意:(1) 提高系統資源利用率,(2) 提高系統的吞吐量;2、方便性是指配置 OS 後可使計算機系統更容易使用;3、可擴充性是指以便於方便地增加新的功能和模塊,並能修改老的功能和模塊;4、開放性是指系統能遵循世界標準規範,特別是遵循開放系統互連(OSI)國際標準。 [1] 
多處理機是指兩個或兩個以上處理機(包括PU和CU),通過高速互連網絡連接起來,在統一的操作系統管理下,實現指令以上級(任務級、作業級)並行。
多處理機操作系統的目標也是以上幾點,不過多處理機操作系統側重於提高系統的吞吐量和可擴充性這兩點。按照多處理機系統的類型來分,可以分為:緊密耦合MPS和鬆散耦合MPS。按照多處理機操作系統的類型來分,可以分為:非對稱多處理模式,對稱多處理模式。

多處理機操作系統多處理機是否對稱分類

多處理機(Multi processor)是具有多個處理機的計算機,能夠大大提高計算機的處理速度。

多處理機操作系統非對稱多處理

非對稱多處理(英語:Asymmetric multiprocessing,縮寫為AMP、ASMP),也譯為非對稱多重處理、非均衡多元處理,一種多元處理的架構。在這種架構下,存在多個處理器;每個中央處理器在某個特定時間內,被指定一個特定的任務去運行。在對稱多處理系統還沒完全發展好之前,它曾被視為是一種軟件的權宜之計,可以用來讓多個處理器同時運作。在對稱多處理系統開發好之後,現今它仍然被視為是一個較簡單廉價的軟件選項

多處理機操作系統對稱多處理

對稱多處理(英語:Symmetric multiprocessing,縮寫為 SMP),也譯為均衡多處理、對稱性多重處理,是一種多處理器的電腦硬件架構,在對稱多處理架構下,每個處理器的地位都是平等的,對資源的使用權限相同。現代多數的多處理器系統,都採用對稱多處理架構,也被稱為對稱多處理系統(Symmetric multiprocessing system)。在這個系統中,擁有超過一個以上的處理器,這些處理器都連接到同一個共享的主存上,並由單一操作系統來控制。在多核心處理器的例子中,對稱多處理架構,將每一個核心都當成是獨立的處理器。
對稱多處理系統上,在操作系統的支持下,無論進程是處於用户空間,或是核心空間,都可以分配到任何一個處理器上運行。因此,進程可以在不同的處理器間移動,達到負載平衡,使系在計算領域,對稱多處理是一種多處理機硬件架構,有兩個或更多的相同的處理機(處理器)共享同一主存,由一個操作系統控制。當前最常見的多處理機系統使用了對稱多處理架構。以多核處理器為例,對稱多處理架構就是這些核,它把這些核當作不同的處理器。不同的處理器之間可以由總線、矩陣開關或片上mesh網絡來連接。使用總線或矩陣開關的對稱多處理架構有可擴展性方面的瓶頸,它是由處理器之間連接的帶寬、能耗,以及內存和磁盤陣列等引起的。使用mesh連接的架構避免了這些瓶頸。它能夠支持更多數量的處理器,具有幾乎線性的可擴展性,代價是犧牲可編程性。統的效率提升。

多處理機操作系統控制方式分類

多處理機操作系統主從式(master-slave)

主從式操作系統由一台主處理機記錄、控制其它從處理機的狀態 ,並分配任務給從處理機。例如,Cyber-170就是主從式多處理機操作系統,它駐留在一個外圍處理機Po上運行,其餘所有處理機包括中心處理機都從屬於Po。另一個例子是DEC System 10,有兩台處理機,一台為主,另一台為從。操作系統在主處理機上運行,從處理機的請求通過陷入傳送給主處理機,然後主處理機回答並執行相應的服務操作。主從式操作系統的監控程序及其提供服務的過程不必遷移,因為只有主處理機利用它們。當不可恢復錯誤發生時,系統很容易導致崩潰,此時必須重新啓動主處理機。由於主處理機的責任重大,當它來不及處理進程請求時,其它從屬處理機的利用率就會隨之降低。主從式的特點:主從式操作系統有如下特點:
A.操作系統程序在一台處理機上運行。如果從處理機需要主處理機提供服務,則向主處理機發出請求,主處理機接受請求並提供服務。不一定要求把整個管理程序都編寫成可重入的程序代碼,因為只有一個處理機在使用它,但有些公用例程必須是可重入的才行。
B.由於只有一個處理機訪問執行表,所以不存在管理表格存取衝突和訪問阻塞問題。
C.當主處理機故障時很容易引起整個系統的崩潰。如果主處理機不是固定設計的,管理員可從其他處理機中選一個作為新主處理機並重新啓動系統。
D.任務分配不但容易使部分從處理機閒置而導致系統效率下降。 E.用於工作負載不是太重或由功能相差很大的處理機組成的非對稱系統。 F.系統由一個主處理機加上若干從處理機組成,硬件和軟件結構相對簡單,但靈活行差。

多處理機操作系統獨立監督式(separate supervisor)

獨立監督式與主從式不同,在這種類型中,每一個處理機均有各自的管理程序(核心)。採用獨立監督式操作系統的多處理機系統有IBM 370/158等。獨立監督式的特點:
A.每個處理機將按自身的需要及分配給它的任務的需要來執行各種管理功能,這就是所謂的獨立性。
B.由於有好幾個處理機在執行管理程序,因此管理程序的代碼必須是可重入的,或者為每個處理機裝入專用的管理程序副本。
C.因為每個處理機都有其專用的管理程序,故訪問公用表格的衝突較少,阻塞情況自然也就較少,系統的效率就高。但衝突仲裁機構仍然是需要的。
D.每個處理相對獨立,因此一台處理機出現故障不會引起整個系統崩潰。但是,要想補救故障造成的損害或重新執行故障機未完成的工作非常困難。
E.每個處理機都有專用的I/O設備和文件等。 F.這類操作系統適合於松耦合多處理機體系,因為每個處理機均有一個局部存儲器用來存放管理程序副本,存儲冗餘太多,利用率不高。 G.獨立監督式操作系統要實現處理機負載平衡更困難。

多處理機操作系統浮動監督式(floating supervisor)

每次只有一台處理機作為執行全面管理功能的“主處理機”,但根據需要,“主處理機”是可浮動的,即從一台切換到另一台處理機。這是最複雜、最有效、最靈活的一種多處理機操作系統,常用於對稱多處理機系統(即系統中所有處理機的權限是相同的,有公用主存和I/O子系統)。浮動監督式操作系統適用於緊耦合多處理機體系。採用這種操作系統的多處理機系統有IBM 3081上運行的MVS,VM以及C·mmp上運行的Hydra,等等。浮動監督式的特點:
A.每次只有一台處理機作為執行全面管理功能的“主處理機”,但容許數台處理機同時執行同一個管理服務子程序。因此,多數管理程序代碼必須是可重入的。
B.根據需要,“主處理機”是可浮動的,即從一台切換到另一台處理機。這樣,即使執行管理功能的主處理機故障,系統也能照樣運行下去。
C.一些非專門的操作(如I/O中斷)可送給那些在特定時段內最不忙的處理機去執行,使系統的負載達到較好的平衡。
D.服務請求衝突可通過優先權辦法解決,對共享資源的訪問衝突用互斥方法解決。 E.系統內的處理機採用處理機集合概念進行管理,其中每一台處理機都可用於控制任一台I/O設備和訪問任一存儲塊。這種管理方式對處理機是透明的,並且有很高的可靠性和相當大的靈活行。

多處理機操作系統多處理機系統的類型分類

多處理機操作系統緊密耦合多處理機

處理機之間共享主存儲器,通過高速總線或高速開關連接。主存儲器有多個獨立的存儲模塊。每個CPU能夠訪問任意一個存儲器模塊,需要通過映象部件MAP把全局邏輯地址變換成局部物理地址。通過互連網絡尋找合適的路徑,並分解訪問存儲器的衝突。多個輸入輸出處理機IOP也連接載互連網絡上,輸入輸出設備與CPU共享主存儲器。處理機個數不能太多,一般幾個到十幾個。

多處理機操作系統鬆散耦合多處理機

為了支持大數目的處理器,存儲器必須分佈到各個處理器上,否則存儲系統將不能滿足處理器帶寬的要求。處理機之間的連接頻帶比較低,一般通過輸入輸出接口連接。處理機之間互為外圍設備進行連接。 [2] 

多處理機操作系統特點

多處理機的體系結構由若干台獨立的計算機組成,每台計算機能夠獨立執行自己的程序。在多處理機系統中,處理機與處理機之間通過互連網絡進行連接,從而實現程序之間的數據交換和同步。 [3] 
多處理機屬於多指令流多數據流系統,即MIMD,它和SIMD(單指令流多數據流系統的並行處理機)相比,有很大差別:
⑴ 結構靈活性。SIMD帶有專用性,主要針對特定的算法設計其結構,其特點是處理單元數量很多,但只需設置較為有限和固定的機間互連通路,即可滿足一批並行性很高的算法的需要。而多處理機應有較強的通用性,也不止於向量數組處理。
⑵ 程序並行性。由於專用性,加上並行處理機的並行性存在於指令內部,所以並行性的識別還是比較容易的,在指令類型及硬件結構上已考慮,可由程序員在編制程序時掌握。但對於MIMD,並行性存在於指令外部,即表現在多個任務之間。
⑶ 並行任務派生。SIMD依靠單指令流對多數據組實現並行操作,這種並行操作是通過各條單獨的指令加以反映和控制的。但多處理機是多指令流操作方式,一個程序當中就存在多個併發的程序段,需要專門的指令來表示它們的併發關係以及控制它們的併發執行,使一個任務正在被執行時就能派生出可與它並行執行的另一些任務,這稱為並行任務派生(Parallel Task Spawning)。
⑷ 進程同步。SIMD實現操作級的並行,所有處於活動狀態的處理單元同時執行同一條指令操作,受同一個控制器控制,工作自然是同步的。但MIMD實現指令,任務,程序級的並行,一般説,在同一時刻,不同的處理機執行着不同的指令,由於執行時間互不相等,它們的工作進度不會也不必保持相同。
⑸ 資源分配和任務調度。SIMD主要執行向量數組運算,處理單元數目是固定的,程序員據以編寫程序,並只能利用屏蔽手段設置處理單元的活動狀態來改變實際參加並行操作的處理單元數目。但MIMD執行併發任務,需用處理機的數目沒有固定要求,各個處理機進入或退出任務以及所需資源變化的情況都要複雜的多,這就提出了一個資源分配和任務調度問題,解決的好壞對整個系統的效率都有很大的直接影響。
參考資料