如下討論操做系統的五種不一樣的結構:java
最經常使用的一種組織方式。它的結構實際上就是「無結構」,整個操做系統是一組函數的集合,每一個函數能夠去調用任何其餘的函數。服務器
操做系統提供的服務(系統調用)的請求過程:分佈式
這種模型中,每一個系統調用都由一個服務列程來完成。而工具函數則負責一些輔助性的工做,如從用戶程序獲取數據。函數
在總體結構模型的基礎上進一步推廣獲得分層結構。工具
分層方案只是在設計上提供一些方便,系統的各個部分最終仍然被連接成一個完整且單一的目標程序。操作系統
VM/370系統設計
java虛擬機JVM3d
在內核下運行的最底層軟件是一個稱爲外核的程序,其任務是爲虛擬機分配資源並確保資源的使用不會發生衝突。blog
外核方案的優勢在於它省去了一個映射層。進程
將大多數操做系統功能由用戶進程來實現,只保留一個最小的內核。
爲了獲取某項服務,用戶進程(客戶進程),將此請求發送給一個服務器進程,服務器進程隨後完成此操做並將應答信息送回。
此模型還適用於分佈式系統: