内核源码树由很多目录组成,而大多数目录又包含很多子目录。
源码树根目录极其子目录如下表:
目录 | 描述 |
---|---|
arch/ | 特定体系结构的源码 |
block/ | 快设备I/O层 |
crypto/ | 加密API |
Documentation/ | 内核源码文档 |
drivers/ | 设备驱动程序 |
firmaware/ | 某些驱动程序需要的设备固件 |
fs/ | VFS和各种文件系统 |
include/ | 内核头文件 |
init/ | 内核引导和初始化 |
ipc/ | 进程间通信代码 |
kernel/ | 核心子系统,例如调度程序 |
lib/ | 通用内核函数 |
mm/ | 内存管理子系统和VM |
net/ | 网络子系统 |
samples/ | 示例,示范代码 |
scripts/ | 编译内核所用的脚本 |
security/ | Linux安全模块 |
sound/ | 语音子系统 |
usr/ | 早期用户空间代码(所谓的initramfs) |
tools/ | 在Linux开发中有用的工具 |
virt/ | 虚拟化基础基础结构 |
在源码树根目录由很多文件值得提及:
- COPYING文件,是内核许可证(GNU GPL v2);
- CREDITS,是开发了很多内核代码的开发者列表;
- MAINTAINERS,维护者列表,他们负责维护内核子系统和驱动程序;
- Makefile,基本内核的Makefile。
[参考]
- 《Linux内核设计与实现》(第三版)
网友评论