一、linux操作系統的層次結構
? ? ? ? 1.內核的主要功能
? ? ? ? 1)進程管理
? ? ? ? 2)內存管理
? ? ? ? 3)文件系統
? ? ? ? 4)進程間通信、I/O系統、網絡通信協議等
? ? ? ? 2.系統程序
? ? ? ? 1)系統接口函數庫,比如libc
? ? ? ? 2)shell程序
? ? ? ? 3)編譯器、編輯器等基礎設施
? ? ? ? 3.最關鍵的部分
? ? ? ? 1)CPU管理:進程的抽象,以及借助中斷機制進行的進程管理與調度
? ? ? ? 2)內存:進行地址空間的抽象,以及物理內存的分配與進程地址空間的映射
? ? ? ? 3)文件:一切皆文件。通過文件系統多磁盤和I/O設備進行管理
? ? ? ? ?
????????對于操作系統的目的,需要把握兩個分界線。對底層來說,與硬件交互,管理所有的硬件資源;對上層來說,通過系統調用及基礎庫為系統程序和應用程序提供一個良好的執行環境。
? ? ? ? 中間稍靠下的區域為內核實現,內核為上為用戶提供系統調用接口,向下調用硬件服務接口。其自身實現來如上文提到進程管理等功能,在內核外還提供如Shell命令行工具、編譯器、編輯器、函數庫等基礎設施