前言
Linux是完全免費、開放、跨平臺的操作系統,越來越受到開發商和廣大師生、讀者及開發者的青睞。特別是嵌入式浪潮的出現,使學習Linux成為時尚。
一個典型的Linux發行版包括Linux內核、GNU程序庫和工具,Linux的發行版本與內核版本號是相互獨立的,Linux的發行版本號隨發布者的不同而不同。
學習Linux的關鍵在于對內核的理解和把握,全面、系統、深入介紹Linux和對Linux內核進行深度剖析的書就成為必需。本書的作者長期從事Linux系統特別是嵌入式系統產品的研發,積累了豐富的經驗。
本書共15章,包括概述、Linux內核啟動、進程、進程地址空間、進程的調度、內存管理、進程間通信、系統調用、內核同步、設備驅動程序、中斷、時鐘、文件系統、ext文件系統和內核模塊。每一章的內容都深入淺出,文字和程序相結合,每一部分的說明都比較詳細,盡可能讓讀者看得懂、能理解。
本書由南京師范大學鄭阿奇主編、孫承龍編著。參加本書編寫的還有梁敬東、顧韻華、王洪元、劉啟芬、丁有和、曹弋、徐文勝、殷紅先、張為民、姜乃松、彭作民、高茜、陳冬霞、錢曉軍、朱毅華、時躍華、周何駿、趙青松、周淑琴、陳金輝、李含光、王一莉、徐斌、王志瑞、孫德榮、周怡明、劉博宇、鄭進、劉毅、陳杰、劉友春等。
本書配有光盤1張,內含教學課件和教學、學習、開發參考源文件,其中:
arch目錄中包含與體系結構相關的核心代碼。每一個子目錄為一種支持的體系結構,其中包含該體系結構的板級通用驅動。讀者一般只需關注arch\x86子目錄內容。
include文件夾包括編譯核心所需要的大部分頭文件。與平臺無關的頭文件在include/linux子目錄下。
mm目錄包括所有獨立于CPU體系結構的內存管理代碼。
kernel目錄包括主要的核心代碼文件,它實現了大多數Linux系統的內核函數。
drivers目錄包含系統所有的設備驅動程序。
對于Windows平臺,可以使用Source Insight工具新建工程加載代碼、方便代碼跟蹤;對于Linux平臺,可以使用Kscope等工具。
由于作者水平有限,不當之處在所難免,懇請讀者批評指正。
編者
2013年1月