操作系統實驗報告
實驗目的:
隨著操作系統應用領域的擴大,以及操作系統硬件平臺的多樣化,操作系統的體系結構和開發方式都在不斷更新,目前通用機上常見操作系統的體系結構有如下幾種:模塊組合結構、層次結構、虛擬機結構和微內核結構。為了更好的了解計算機操作系統體系結構,以及linux的體系結構,特作此報告。
實驗內容:
計算機操作系統體系結構
一、模塊組合結構
操作系統剛開始發展時是以建立一個簡單的小系統為目標來實現的,但是為了滿足其他需求又陸續加入一些新的功能,其結構漸漸變得復雜而無法掌握。以前我們使用的MS-DOS就是這種結構最典型的例子。這種操作系統是一個有多種功能的系統程序,也可以看成是一個大的可執行體,即整個操作系統是一些過程的集合。系統中的每一個過程模塊根據它們要完成的功能進行劃分,然后按照一定的結構方式組合起來,協同完成整個系統的功能。如圖1所示: 在模塊組合結構中,沒有一致的系統調用界面,模塊之間通過對外提供的接口傳遞信息,模塊內部實現隱藏的程序單元,使其對其它過程模塊來說是透明的。但是,隨著功能的增加,模塊組合結構變得越來越復雜而難以控制,模塊間不加控制地相互調用和轉移,以及信息傳遞方式的隨意性,使系統存在一定隱患。二、層次結構
為了彌補模塊組合結構中模塊間調用存在的固有不足之處,就必須減少模塊間毫無規則的相互調用、相互依賴的關系,尤其要清除模塊間的循環調用。從這一點出發,層次結構的設計采用了高層建筑結構的理念,將操作系統或軟件系統中的全部構成模塊進行分類:將基礎的模塊放在基層(或稱底層、一層),在此基礎上,再將某些模塊放在二層,二層的模塊在基礎模塊提供的環境中工作;它只能調用基層的模塊為其工作,反之不行。嚴格的層次結構,第N+l層只能在N 層模塊提供的基礎上建立,只能在N層提供的環境中工作,也只能向N層的模塊發調用請求。
在采用層次結構的操作系統中,各個模塊都有相對固定的位置、相對固定的層次。處在同一層次的各模塊,其相對位置的概念可以不非常明確。處于不同層次的各模塊,一般而言,不可以互相交換位置,只存在單向調用和單向依賴。Unix/Linux系統采用的就是這種體系結構。
在層次結構中,強調的是系統中各組成部分所處的位置,但是想要讓系統正常運作,不得不協調兩種關系,即依賴關系和調用關系。
依賴關系是指處于上層(或外層)的軟件成分依賴下層軟件的存在、依賴下層軟件的運行而運行。例如,瀏覽器這部分軟件就依賴GUI的存在和運行,GUI又依賴操作系統的存在和運行。在操作系統內部,外圍部分依賴內核的存在而存在,依賴內核的運行而運行,內核又依賴HAL而運行。處在同層之內的軟件成分可以