内核源码下载地址:www.kernel.org
目录:以linux-2.6.38为例(现已经更新到linux-4.15)
arch目录
arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。
block目录:部分块设备驱动程序
crypto目录:加密、压缩、CRC校验算法
documentation:内核的文档
drivers目录:设备驱动程序
fs目录:存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。
include目录:内核所需要的头文件。与平台无关的头文件在include/linux 子目录下,与平台相关的头文件则放在相应的子目录 中。
init目录:内核初始化代码
ipc目录:进程间通信的实现代码
kernel目录:linux大多数关键的核心功能都是在这个目录实现。(调度程序、经常控制、模块化)
lib目录:库文件代码
mm目录:mm目录中的文件用于实现内存管理中与体系结构无关的部分(与体系结构相关的部分在arch)
net目录:网络协议的实现代码
samples:一些内核编程的范例
scripts:配置内核的脚本
security:SElinux的模块
sound:音频设备的驱动程序
usr:cpio命令实现
virt:内核虚拟机