通用計算機操作系統典型體系結構綜述

學識都 人氣:1.71W

操作系統是一個有多種功能的系統程序,也可以看成是一個大的可執行體,以下是小編蒐集自的了一篇探究操作系統應用的論文範文,供閱讀與借鑑。

通用計算機操作系統典型體系結構綜述

 摘要:隨着操作系統應用領域的擴大,以及操作系統硬件平臺的多樣化,操作系統的體系結構和開發方式都在不斷更新,目前通用機上常見操作系統的體系結構有如下幾種:模塊組合結構、層次結構、虛擬機結構和微內核結構。

 關鍵詞:操作系統;體系結構

一、模塊組合結構

模塊組合結構是在軟件工程出現以前的早期操作系統以及目前一些小型操作系統最常用的組織方式。

操作系統剛開始發展時是以建立一個簡單的小系統爲目標來實現的,但是爲了滿足其他需求又陸續加入一些新的功能,其結構漸漸變得複雜而無法掌握。以前我們使用的MS-DOS就是這種結構最典型的例子。這種操作系統是一個有多種功能的系統程序,也可以看成是一個大的可執行體,即整個操作系統是一些過程的集合。系統中的每一個過程模塊根據它們要完成的功能進行劃分,然後按照一定的結構方式組合起來,協同完成整個系統的功能。如圖1所示:

在模塊組合結構中,沒有一致的系統調用界面,模塊之間通過對外提供的接口傳遞信息,模塊內部實現隱藏的程序單元,使其對其它過程模塊來說是透明的。但是,隨着功能的增加,模塊組合結構變得越來越複雜而難以控制,模塊間不加控制地相互調用和轉移,以及信息傳遞方式的隨意性,使系統存在一定隱患。

 二、層次結構

爲了彌補模塊組合結構中模塊間調用存在的固有不足之處,就必須減少模塊間毫無規則的相互調用、相互依賴的關係,尤其要清除模塊間的循環調用。從這一點出發,層次結構的設計採用了高層建築結構的理念,將操作系統或軟件系統中的全部構成模塊進行分類:將基礎的模塊放在基層(或稱底層、一層),在此基礎上,再將某些模塊放在二層,二層的模塊在基礎模塊提供的環境中工作;它只能調用基層的模塊爲其工作,反之不行。嚴格的層次結構,第N+l層只能在N層模塊提供的基礎上建立,只能在N層提供的環境中工作,也只能向N層的模塊發調用請求。

在採用層次結構的操作系統中,各個模塊都有相對固定的位置、相對固定的層次。處在同一層次的各模塊,其相對位置的概念可以不非常明確。處於不同層次的各模塊,一般而言,不可以互相交換位置,只存在單向調用和單向依賴。Unix/Linux系統採用的就是這種體系結構。如圖2:

在層次結構中,強調的是系統中各組成部分所處的位置,但是想要讓系統正常運作,不得不協調兩種關係,即依賴關係和調用關係。

依賴關係是指處於上層(或外層)的軟件成分依賴下層軟件的存在、依賴下層軟件的運行而運行。例如,瀏覽器這部分軟件就依賴GUI的存在和運行,GUI又依賴操作系統的存在和運行。在操作系統內部,外圍部分依賴內核的存在而存在,依賴內核的運行而運行,內核又依賴HAL而運行。處在同層之內的軟件成分可以是相對獨立的,相互之間一般不存在相互依賴關係。

三、虛擬機結構

虛擬機的基本思想是系統能提供兩個功能:①多道程序處理能力;②提供一個比裸機有更方便擴展界面的計算機。操作系統是覆蓋在硬件裸機上的一層軟件,它通過系統調用向位於它之上的用戶應用程序服務。從應用程序的角度看來,操作系統像是一臺“計算書”,只不過它的功能比硬件裸機更強,它的指令系統是系統調用集而己。因此,從概念上來講,操作系統是“虛擬機”。這是“虛擬機”概念的來源。利用CPU調度以及虛擬內存技術,操作系統可以給運行於系統中的進程以假象:好像進程擁有自己的CPU和存儲器,如同系統中只有一個進程,系統所有資源都爲它服務。從這個角度來講,操作系統爲每一個進程創建了一個使該進程獨立運行於其中的“虛擬機”,在這個“虛擬機”中,進程擁有自己的`“CPU”和“存儲器”,同時進程還得到了硬件所無法提供的文件系統功能。虛擬機操作系統就是根據這一想法而產生的。

虛擬機操作系統不提供傳統操作系統中的文件系統的功能。最初的虛擬機僅僅爲進程提供一個訪問底層的接口,它通過對硬件的複用提供給每一個進程以硬件的一個拷貝,因此能夠直接的運行在硬件上的程序都可以直接運行在虛擬機之上。後來出現了另外三種體系結構的虛擬機:由機器虛擬指令映射構成的虛擬機。

虛擬機操作系統並沒有提供一個供應用程序直接運行的現成環境,它僅僅是對硬件進行(分時)複用從而得到硬件的多個拷貝,應用程序不可以直接運行在硬件之上,因此它也無法運行在虛擬機操作系統之上。通常的情況是,普通的操作運行在虛擬機之上。而應用程序運行在各自的操作系統之上,由於虛擬機操作系統是通過(分時)複用硬件資源同時提供多臺虛擬機,因此同時可以有多個不同的操作系統運行在同一物理硬件機器之上,因此可以有多個不同操作系統的應用程序可以同時運行在同一臺物理硬件機器之上。

雖然虛擬機操作系統有着誘人的特性,但是最突出的一個問題是實現比較困難。如果要實現的是底層硬件的完全拷貝,也即它要模擬硬件幾乎所有的特性,那將是相當困難的一件事情。因此現代許多商業虛擬機採用映射部分指令結合直接調用宿主操作系統功能的方法,但這樣必然會導致虛擬機性能的損失,所以虛擬機操作系統在業界是屬於非主流的,但是在學術界有着重要意義,因爲它是研究操作系統技術的理想平臺。

 四、微內核結構

操作系統研究領域最近十幾年突出的成就應該是微內核技術。微內核的研究動機是爲克服已有的操作系統內核由於功能的增加而逐漸變大的缺點。圖3所示:

微內核體系結構的基本思想是把操作系統中與硬件直接相關的部分抽取出來作爲一個公共層,稱之爲硬件抽象層(HAL)。這個硬件抽象層其實就是一種虛擬機,它向所有基於該層的其它層通過API接口提供一系列標準服務。在微內核中只保留了處理機調度、存儲管理和消息通訊等少數幾個組成部分,將傳統操作系統內核中的一些組成部分放到內核之外來實現。如傳統操作系統中的文件管理系統、進程管理、設備管理、虛擬內存和網絡等內核功能都放在內核外作爲一個獨立的子系統來實現。因此,操作系統的大部分代碼只要在一種統一的硬件體系結構上進行設計就可以了。

微內核體系結構的主要特點有:①內核非常小。②許多操作系統服務不屬於內核,而是運行在內核之上的,這樣,當高層模塊更新時內核無須重新編譯。③有一個硬件抽象層,內核能方便地移植到其它的硬件體系結構中。因爲當需要移植到新的軟件或硬件環境中時,只需對與硬件相關的部分稍加修改即可把微內核嵌入到新的硬件環境中,在多數情況下並不需要移植外部服務器或客戶應用。④靈活性和擴展性.微內核最大的優點之一就是它的靈活性和擴展性。如果要實現另一個視圖,可以增加一個外部服務器。若要想擴展功能,可以增加和擴展內部服務器。

微內核思想雖然是一種非常理想的,理論上具有明顯先進性的操作系統設計思想,但是現代微內核結構操作系統還存在着許多問題,現代微內核操作系統結構和性能還不夠理想。在市場和應用領域,微內核的應用在近幾年逐漸廣泛,很多過程控制計算機不以通用計算機的面貌出現,只是完成特定的專用功能,常常採用微內核結構。

 五、分析、評價

以上介紹的模塊組合結構、層次結構、虛擬機結構和微內核結構四種典型的操作系統體系結構主要是通用機上採用的體系結構,如模塊組合結構是早期MS-DOS系統採用的結構,層次結構是Unix、Linux和Windows9x系統採用的結構,這些系統的功能相對完善,處理能力很強,但是這些系統內核都比較大,對於嵌入式系統裏硬件系統多元化以及小存儲空間的問題,這些通用的操作系統不可能直接移植到嵌入式產品上進行使用。因此研究更加合理嵌入式操作系統體系結構將有利於提高嵌入式系統的開發效率,降低開發成本,提高系統的可複用性。

 參考文獻

[1]顧明,趙曦濱,郭險等.現代操作系統的思考.電子學報,2002,12(12A)

[2]潘清.操作系統體系結構研究.計算機科學.2002;27(4)

[3]徐光裕,史元春,謝偉凱.普適計算.計算機學報.2003,9