前言
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月