內核功能以及作用

內核概述        

            內核指的是一個提供硬件抽象層、磁盤及文件系統控制、多任務等功能的系統軟件。內核是一個操作系統的核心,是操作系統最基本的部分。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統等,決定着系統的性能和穩定性。它是爲衆多應用程序提供對計算機硬件的安全訪問的一部分軟件,這種訪問是有限的,並且內核決定一個程序在什麼時候對某部分硬件操作多長時間。直接對硬件操作是非常複雜的,所以內核通常提供一種硬件抽象的方法來完成這些操作。硬件抽象隱藏了複雜性,爲應用軟件和硬件提供了一套簡潔,統一的接口,使程序設計更爲簡單。         
            一個內核不是一套完整的操作系統。比如一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。

內核作用        

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

作者:xm11211
鏈接:https://www.jianshu.com/p/fb744f37e364
來源:簡書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章