第一章 Linux內核簡介linux
1.2追尋Linus足跡:linux簡介git
Linus開發。Linux是類Unix系統。Linux內核也是自由軟件。shell
1.3操做系統和內核簡介服務器
操做系統:在整個系統中負責完成最基本功能和系統管理的那些部分。包括內核、設備驅動程序、啓動引導程序、命令行shell或者其餘種類的用戶界面、基本的文件管理工具和系統工具。網絡
內核:內核纔是操做系統的核心。由負責響應中斷和中斷服務程序、負責管理多個進程從而分享處理器時間的調度程序,負責管理進程地址空間的內存管理程序和網絡、進程間通訊等系統服務程序共同組成。獨立於普通應用程序,通常處於系統態。併發
1.4Linux內核和傳統內核的比較異步
單內核工具
從總體是做爲一個單獨的大過程實現。你們都身處同一地址空間,內核之間的通訊是微不足道的。單模塊具備簡單和性能高的特色。性能
微內核網站
微內核功能被劃分爲多個獨立的過程。經過消息傳遞處理微內核通訊,採用進程間通訊(IPC)機制
實際應用的基於微內核的系統都讓大部分或所有服務器位於內核。
Linux內核
支持動態加載內核模塊;支持對稱多處理機制;內核能夠搶佔;對內核來講全部進程都同樣;提供北郵設備類的面向對象的設備模型;
1.5Linux內核版本
穩定的和處於開發中的。
1.6Linux內核開發者社區
Linux內核郵件列表頗有用。
第二章 從內核出發
2.1獲取內核源碼
Linux內核官方網站http://www.kernel.org
使用GIt:
獲取最新提交到Linux版本樹的一個副本:git clone git://git.kernel.org/pub/scm/linux/kernel/gie/Torvalds/linux-2.6.git
使用補丁;
至關於更新版本:patch –pl<../patch-x.y.z
2.3編譯內核
編譯內核以前須要進行配置。配置爲二選一(yes or no)或三選一(yes or no or module)
配置工具:make config 遍歷全部配置項,耗時長
Make menuconfig 基於ncurse庫編制的圖形界面工具
Make gconfig 基於gtk+的圖形工具
Make defconfig 缺省配置
配置完成須要make就能夠編譯
2.4內核開發的特色
與應用程序開發的不一樣: