内核源码预览
目录结构与说明:
- Documentation一些文档,主要用来描述模块功能和协议规范神马的
- arch不同平台体系结构的相关代码:每种体系结构对应一个子目录,子目录中主要包含了
- kernel,lib,mm目录分别对应了信号量处理实现、通用函数库实现、内存管理功能实现。
- blockBlock子系统代码,2.6.15的内核开始,从drivers和fs目录中抽取独立出来。
- crypto内核常用加密、散列和压缩算法代码。
- drivers各类驱动程序的实现,如USB总线、蓝牙、PCI总线、显卡驱动等等。
- firmware
- fs虚拟文件系统(VFS)代码,内核中支持的所有原生文件系统各自为一个子目录,如ext3、ntfs、fat等。
- include内核源码依赖的绝大部分头文件。
- init内核初始化代码,联系内核各组件的入口。
- ipc进程间通信实现,如共享内存、信号量、匿名管道等。
- kernel内核核心代码,包含进程管理、IRQ、时间等。
- libC标准库的子集,方便内核代码使用。
- mm内存管理相关实现。
- net网络协议代码,如TCP、IPv6、WiFi、以太网实现等。
- samples内核实例代码,里面有尚未纳入内核代码的新功能,供内核开发新手参考入门使用。
- scripts编译和配置内核所需脚本。基于Perl和Bash的脚本居多。
- security内核安全模型相关的代码,例如最有名的SELINUX。
- sound声卡驱动源码。
- tools与内核交互,以便在用户态时测试相关内核功能。
- usr用户打包和压缩内核的实现源码。
- virt/kvm虚拟化相关支持实现。
- Kbuild配置内核设定,如选择指定体系架构类型。
- Kconfig配置内核时脚本,里面包含了可选项和菜单功能。