要解釋什么是linux內核,經過整理,寫了下面的內容,主要介紹什么是linux內核,以及它有什么功能。
Linux內核的起源可追溯到1991年芬蘭大學生Linus Torvalds編寫和第一次公布Linux的日子。盡管到目前為止Linux生態系統早已遠遠發展到了Torvalds本人之外的范圍,但Torvalds仍保持著對Linux內核的控制權,并且是Linux名稱的唯一版權所有人。自發布Linux 0.12版起,Linux就一直依照GPL(通用公共許可協議)自由軟件許可協議進行授權。
Linux內核本身并不是操作系統,它是一個完整操作系統的組成部分。Red Hat、Novell、Debian和Gentoo等Linux發行商都采用Linux內核,然后加入更多的工具、庫和應用程序來構建一個完整的操作系統。
Linux發行商一般會根據自己的需要對基本內核進行定制,在一些情況下,不同的Linux版本會在自己的內核中加入主內核中沒有的特性和支持,如Red Hat將部分2.6內核的特性向前移植到它自己的2.4.x內核中;再如Ubuntu Linux版本近在Ubuntu的2.6.15 Linux內核中增加了對Sun T1處理器的支持,而這種支持目前還沒有出現在主內核中。
linux內核有什么功能呢?
1、進程管理
內核負責創建和銷毀進程,并處理它們與外部世界的聯系(輸入和輸出)。不同進程間通訊(通過信號,管道,或者進程間通訊原語)對整個系統功能來說是基本的,也由內核處理。另外,調度器,控制進程如何共享CPU,是進程管理的一部分。更通常地,內核的進程管理活動實現了多個進程在一個單個或者幾個CPU 之上的抽象。
2、內存管理
計算機的內存是主要的資源,處理它所用的策略對系統性能是至關重要的。內核為所有進程的每一個都在有限的可用資源上建立了一個虛擬地址空間。內核的不同部分與內存管理子系統通過一套函數調用交互,從簡單的malloc/free對到更多更復雜的功能。
3、文件系統
Unix 在很大程度上基于文件系統的概念;幾乎Unix中的任何東西都可看作一個文件。內核在非結構化的硬件之上建立了一個結構化的文件系統,結果是文件的抽象非常多地在整個系統中應用。另外,Linux 支持多個文件系統類型,就是說,物理介質上不同的數據組織方式。例如,磁盤可被格式化成標準Linux的ext3文件系統,普遍使用的FAT 文件系統,或者其他幾個文件系統。
4、設備控制
幾乎每個系統操作終都映射到一個物理設備上。除了處理器,內存和非常少的別的實體之外,全部中的任何設備控制操作都由特定于要尋址的設備相關的代碼來進行,這些代碼稱為設備驅動.。內核中必須嵌入系統中出現的每個外設的驅動,,從硬盤驅動到鍵盤和磁帶驅動器。內核功能的這個方面是本書中的我們主要感興趣的地方。
5、網絡
網絡必須由操作系統來管理,因為大部分網絡操作不是特定于某一個進程:進入系統的報文是異步事件。報文在某一個進程接手之前必須被收集,識別,分發。系統負責在程序和網絡接口之間遞送數據報文,它必須根據程序的網絡活動來控制程序的執行。另外,所有的路由和地址解析問題都在內核中實現。
現在你了解什么是linux內容了嗎?它的功能你都知道了嗎?