操作系統的結構需要從這幾個方面來考慮:他為用戶提供了哪些服務和界面,系統各個組成部分及其相互關系
操作系統的操作
大致可分為:進程管理,主存管理,文件管理,輔存管理和IO管理
進程管理
- 進程的創建和結束
- 進程的掛起和恢復
- 進程鎖\進程交互\進程死鎖的規則
內存管理
- 記錄內存使用
- 分配和回收內存資源
文件管理
- 文件的創建和刪除
- 文件目錄的創建和刪除
- 文件二進制操作
- 映射文件到二級存儲
- 在非易失性存儲上備份
輔存管理
- 空閑存儲空間管理
- 存儲分配
- 磁盤調度
IO管理
管理IO設備
操作系統的服務
對于用戶
- 程序的執行:最關鍵的服務,從輔存中加載程序到內存中并執行
- IO操作,用戶不能直接驚醒IO操作,這也需要系統來提供服務
- 文件操作,用戶需要讀寫,創建和刪除文件
- 信息交流:在兩個進程間傳送消息:方法一般分為發送報文和共享內存
- 錯誤檢測
對于確保系統正常運行
- 資源分配:多個程序同時運行下資源分配顯得更為重要
- 記錄任務
- 保護:所有資源被正確回收,所有連接使用后被斷開
操作系統界面 接口
用戶界面
- GUI 用戶圖形界面
- cmd命令行
- batch 批處理命令
程序接口
-
系統調用
與一個固定ID關聯,參數傳遞時可以傳寄存器里的數,也可應從堆棧中,內存中傳遞
-
API
API建立在系統調用之上,只要知道AIP函數入口很容易使用,但需要運行庫來支持.最常用的AIP有
win32API (WINDOWS) POSIX(UNIX,LINUX) JAVA API (JVM)附注:系統調用的種類
進程管理類 文件管理 設備管理 信息維護 信息傳遞
操作系統結構
簡單結構
-
分層結構
系統分為很多層,高層只能調用低一層的功能
-
微內核結構
如名,提供精簡的內核,提供最小化的進程管理,內存管理,和通訊設備(通訊使用消息傳遞的方式)
-
模塊結構
最常用的結構,類似分層結構,但和分層結構相比,模塊結構更加松散,每個模塊不分高低,相互依賴使用
舉例說明:
如 MS-DOS 雖然有一定的分層,但模塊之間的區分很不清楚,而UNIX就分為了內核部分和系統程序兩個模塊