操作系統結構
- 分層法
- 模塊化
- 宏內核
- 微內核
- 微內核的基本概念
- 微內核的基本功能
- 內核
分層法
分層法是將操作系統分為若干層,最底層為硬件,最高層為用戶接口,每層只能調用緊鄰它的底層的功能和服務(單向依賴)
分層法的優點:
1:便于系統的調試和驗證。簡化了系統的設計和實現。第一層可以調試而無需考慮其他部分,因為它只使用了基本硬件。第一層調試完且驗證正確之后,就可以調試第二層,如此向上。如果調試某層出現問題 那么錯誤應就在這一層上,因為它的底層都調試好了,
2:易擴充和易維護。在系統匯總增加、修改或者替換一層中的模塊或整層時,只要不改變相應層間的接口,就不會影響其它層
分層法的問題:
1:合理定義各層比較困難,因為依賴關系固定后,往往就顯得不夠靈活、
2:效率較差。操作系統每執行一個功能,通常要自上而下穿越多層,各層之間都有相應的層間通信機制,這無疑增加了額外的開銷
模塊化
模塊化是將操作系統按功能劃分為若干具有一定獨立性的模塊。每個模塊具有某方面的管理功能,并規定好各模塊間的接口,是各模塊之間能夠通過接口進行通信。還可以進一步將各模塊細分為若干具有一定功能的子模塊,同樣也規定好各模塊之間的接口。這種設計方法被稱為模塊接口法,
在劃分模塊時,如果將模塊劃分的很小,雖然能降低模塊本身的復雜性,但會使得模塊之間的聯系過多,造成系統比較混亂;如果模塊劃分的過大,又會增加模塊內部的復雜性,顯然應在兩者之間權衡。此外,在劃分模塊時,要充分考慮模塊的獨立性問題,因為模塊獨立性越高,各模塊之間的交互越少,系統的結構也就清晰,衡量模塊的獨立性主要有兩個標準:
內聚性,模塊內部各部分間聯系的緊密程度。內聚性越高,獨立模塊性越好耦合度,模塊間相互聯系和相互影響的程度。耦合度越低,模塊獨立性越好
模塊化的優點:
1:提高了操作系統設計的正確性,可理解性和可維護性
2:增強了操作系統的可適應性,
3:加速了操作系統的開發過程
模塊化的缺點:
1:模塊化的借口規定很難滿足各接口的實際需求
2:各模塊設計者起頭并進,每個決定無法建立在一個已驗證的正確決定的基礎上,因此無法找到一個可靠的決定順序
宏內核
從操作系統是哪個的內核架構來劃分,可分為宏內核和微內核
宏內核,也稱單內核或大內核,是指將系統的主要功能模塊都作為一個緊密聯系的整體運行在核心態,從而為用戶程序提供高性能的系統服務。因為各管理模塊之間共享信息,能有效利用相互之間的有效特性,所以具有無可比擬的性能優勢
微內核
微內核的基本概念
微內核構架,是指將內核中最基本的功能保留在內核,而將那些不需要要核心態執行的功能移到用戶態執行,從而降低內核的設計復雜性。那些移出內核的操作系統代碼根據分層的原則被劃分成若干服務程序,他們的執行相互獨立,交互則都能借助于微內核進行通信
微內核結構將操作系統劃分為兩大部分:微內核和多個服務器。微內核是指將精心設計的、能實現操作系統最基本核心功能的小型內核,通常包含:1) 與硬件處理緊密相關的部分 2)一些較基本的功能 3)客戶和服務器之間的通信。 這些部分只是為構建通用操作系統提供一個重要基礎,這樣就可以確保將內核做的很小
微內核的基本功能
微內核結構通常利用“機制與策略分離”的原理來構造os結構,將機制部分以及硬件緊密相關的部分放入微內核。微內核通常具有如下功能:
1:進程(線程)管理。進程(線程)之間的通信功能是微內核os最基本的功能,此外還有進程的切換。進程的調度以及需要處理機之間的同步功能
2:低級存儲器管理。在微內核中,只配置最基本的低級存儲器管理機制,如用于實現將邏輯地址轉換為物理地址等的頁表機制和地址變換機制,這一部分依賴于硬件的,因此放入微內核。
3:中斷和陷入處理。
微內核的特點
1:擴展性和靈活性
2:可靠性和安全性
3:可移植性
4:分布式計算
微內核結構的主要問題是性能問題,因為需要頻繁地在核心態和用戶態之間進行切換,操作系統的執行開銷較大。為了改善運行效率,可以將那些頻繁使用的系統服務移回內核,從而保證系統性能
內核
不同于虛擬機克隆真實機器,另一種策略是對機器分區,給每個用戶整個資源的一個子集。在底層中,一種稱為外核的程序在內核態中運行。它的任務是為虛擬機分配資源。
外核機制的優點是減少了映射層