/arch:硬件体系结构相关的代码,每种平台占一个相应的目录
/drivers:设备驱动程序,每个不同的驱动占用一个子目录
/fs:文件系统,包含所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统
/include:包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux 子目录下,与intel cpu 相关的头文件在 include/asm-i386
子目录下,而 include/scsi 目录则是有关scsi 设备的头文件目录
init:这个目录包含核心的初始化代码(不是系统的引导代码),包含两个文件 main.c 和 Version.c,这是研究核心如何工作的好起点之一
/ipc:核心的进程间通讯的代码
/kernel:主要的核心代码,此目录下的文件是内核的最核心部分,包括进程调度、定时器等,实现了大多数Linux 系统的内核函数,其中重要的
文件尾 sched.c ;同样,和体系结构相关的代码在 arch/*/kernel 中
/lib:放置核心库代码
/mm:这个目录包括所有独立于 CPU 体系机构的内存管理代码,如页式存储管理内存的分配和释放等;而合体系结构相关的内存管理代码则
位于 arch/*/mm
/net:网络相关代码,实现了各种常见的网络协议
/scripts:描述文件,脚本,用于对核心的配置
/security:主要是一个SELinux 的模块
/sound:常用音频设备的驱动程序等
/usr:实现了一个 cpio
/block:部分块设备驱动程序
/crypto:常用加密和散列算法(如AES、SHA等),以及一些压缩和CRC 校验算法
/Documentation:一套关于内核部分的调用解释和注释用的英文文档
根目录下几个文件:
COPYING:GPL 版权申明,对具有GPL 版权的源代码改动而形成的程序,具有使用GPL 发表的义务,如公开源代码
CREDITS:光荣榜。对Linux 做出过很大贡献的一些人的信息
Kbuild:是编译内核的软件环境,它泛指构建一个完全并能够运行Linux 内核所需要的一切资源。这些资源包含构建程序、脚本、中间件、配置
文件和Makefile
MAINTAINERS:维护人员列表,对当前版本的内核部分都有谁负责
Makefile:第一个Makefile 文件。用来组织内核的各模块,记录了各模块相互之间的联系和依托关系,编译时使用;仔细阅读各子目录下的
Makefile文件对弄清各个文件之间的联系和依托关系很有帮助
ReadMe:核心以及编译配置方法简单介绍取模
REPORING-BUGS:有关报告 Bug 的一些内容