內核功能及作用
內核的作用範圍
內核功能簡介
內核,是基於硬件的第一層軟件擴充,是操作系統的核心,提供操作系統最基礎的功能,是操作系統的基礎。它為眾多應用軟件提供計算機硬件的安全訪問的一部分軟件,這種訪問資源是有限的,並且內核決定一個程序對某部分硬件資源分配和占用多久進行管理。直接對硬件操作是非常復雜的,所以內核通過提供硬件抽象的方法來完成操作,硬件的抽象隱藏了復雜性,對軟件提供和硬件交互的一個簡潔的接口,是程序設計更為簡單。但嚴格的說內核並不是計算機系統的必要組成部分。它主要對系統進程管理、內存管理、設備管理、網絡管理及文件系統管理。
內核的作用
1、進程管理
內核負責創建和銷毀進程, 並處理它們與外部世界的聯系(輸入和輸出). 不同進程間通訊(通過信號, 管道, 或者進程間通訊原語)對整個系統功能來說是基本的, 也由內核處理. 另外, 調度器, 控制進程如何共享 CPU, 是進程管理的一部分. 更通常地, 內核的進程管理活動實現了多個進程在一個單個或者幾個 CPU 之上的抽象.
2、內存管理
計算機的內存是主要的資源, 處理它所用的策略對系統性能是至關重要的. 內核為所有進程的每一個都在有限的可用資源上建立了一個虛擬地址空間. 內核的不同部分與內存管理子系統通過一套函數調用交互, 從簡單的 malloc/free 對到更多更復雜的功能.
3、文件系統
Linux在很大程度上基於文件系統的概念; 幾乎 Linux中的任何東西都可看作一個文件. 內核在非結構化的硬件之上建立了一個結構化的文件系統, 結果是文件的抽象非常多地在整個系統中應用. 另外, Linux 支持多個文件系統類型, 就是說, 物理介質上不同的數據組織方式. 例如, 磁盤可被格式化成標準 Linux 的 ext4文件系統, 普遍使用的 FAT 文件系統, 或者其他幾個文件系統.
4、設備管理
幾乎每個系統操作最終都映射到一個物理設備上. 除了處理器, 內存和非常少的別的實體之外, 全部中的任何設備控制操作都由特定於要尋址的設備相關的代碼來進行. 這些代碼稱為設備驅動. 內核中必須嵌入系統中出現的每個外設的驅動, 從硬盤驅動到鍵盤和磁帶驅動器.
5、網絡管理
網絡必須由操作系統來管理, 因為大部分網絡操作不是特定於某一個進程: 進入系統的報文是異步事件. 報文在某一個進程接手之前必須被收集, 識別, 分發. 系統負責在程序和網絡接口之間遞送數據報文, 它必須根據程序的網絡活動來控制程序的執行. 另外, 所有的路由和地址解析問題都在內核中實現.
內核官方網站:www.kernel.org
內核功能及作用