1. 程式人生 > >Linux核心有什麼功能?

Linux核心有什麼功能?

1、程序管理

 核心負責建立和銷燬程序, 並處理它們與外部世界的聯絡(輸入和輸出). 不同程序間通訊(通過訊號, 管道, 或者程序間通訊原語)對整個系統功能來說是基本的, 也由核心處理. 另外, 排程器, 控制程序如何共享 CPU, 是程序管理的一部分. 更通常地, 核心的程序管理活動實現了多個程序在一個單個或者幾個 CPU 之上的抽象.

2、記憶體管理

 計算機的記憶體是主要的資源, 處理它所用的策略對系統性能是至關重要的. 核心為所有程序的每一個都在有限的可用資源上建立了一個虛擬地址空間. 核心的不同部分與記憶體管理子系統通過一套函式呼叫互動, 從簡單的 malloc/free 對到更多更復雜的功能.

3、檔案系統
 Unix 在很大程度上基於檔案系統的概念; 幾乎 Unix 中的任何東西都可看作一個檔案. 核心在非結構化的硬體之上建立了一個結構化的檔案系統, 結果是檔案的抽象非常多地在整個系統中應用. 另外, Linux 支援多個檔案系統型別, 就是說, 物理介質上不同的資料組織方式. 例如, 磁碟可被格式化成標準 Linux 的 ext3 檔案系統, 普遍使用的 FAT 檔案系統, 或者其他幾個檔案系統.

4、裝置控制

 幾乎每個系統操作最終都對映到一個物理裝置上. 除了處理器, 記憶體和非常少的別的實體之外, 全部中的任何裝置控制操作都由特定於要定址的裝置相關的程式碼來進行. 這些程式碼稱為裝置驅動. 核心中必須嵌入系統中出現的每個外設的驅動, 從硬碟驅動到鍵盤和磁帶驅動器. 核心功能的這個方面是本書中的我們主要感興趣的地方.

5、網路

 網路必須由作業系統來管理, 因為大部分網路操作不是特定於某一個程序: 進入系統的報文是非同步事件. 報文在某一個程序接手之前必須被收集, 識別, 分發. 系統負責在程式和網路介面之間遞送資料報文, 它必須根據程式的網路活動來控制程式的執行. 另外, 所有的路由和地址解析問題都在核心中實現.