kernel第10讲 内核源代码目录树
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10讲内核源代码目录树
内核代码安装在/usr/src/linux下,该目录下的各子目录都代表一个特定的内核功能性子集,下面针对kernel-devel-2.6描述。
所有与体系结构相关的代码,每个体系结构特有的子目录arch
下又至少包含3个子目录:kernel、lib、mm、boot include 编译内核所需要的头文件。
init 内核的初始化代码,但不是系统的引导代码,其中main.c
和Version.c是研究Linux内核的起点。
mm 体系结构无关部分的内存管理代码,另:arch/*/mm
drivers 驱动目录,是内核中最庞大的目录
ipc 进程间通信。它包含了共享内存、信号量以等代码。
modules 存放了已建好的、可动态加载的模块。
fs VFS和各个不同文件系统的代码都在这个目录中。 firmware 使用某个驱动需要的设备固件
kernel 主要内核代码实现大多数内核函数:进程调度sched.c、进程创建fork.c、撤销exit.c等,另arch/*/kernel。
net 各种网络协议相关代码
lib 内核的库代码,实现了一个标准C库的通用子集,包括字符串和内存操作的函数以及有关sprintf和atoi的系列函数。
tools 辅助Linux开发的工具 security 不同的Linux安全模型的代码 block 块I/O层,block层的实现。
crypto 内核本身所用的加密API,实现了常用的加密和散列算法,还有一些压缩和CRC校验算法。
sound 声卡驱动等相关代码
usr 用于打包和压缩的的cpio等用户空间程序的代码
scripts 无内核代码,子目录下多有depend和makefile文件。运行make menuconfig或make xconfig时,就与这些脚本交互。
scripts 用于生成内核的脚本 Documentation 内核源代码文档 samples 示例,示范代码 crypto 加密API