l arch目录 arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。 | --x86 /* 英特尔cpu及与之相兼容体系结构的子目录*/ | |--boot /*引导程序*/ | | |--compressed /*内核解压缩*/ | |--tools /*生成压缩内核映像的程序*/ | |--kernel /*相关内核特性实现方式,如信号处理、时钟处理*/ | |--lib /*硬件相关工具函数*/
l block目录 部分块设备驱动程序
l crypto目录 加密、压缩、CRC校验算法
l documentation 内核的文档
l drivers目录 设备驱动程序
l fs目录 存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。 | |--devpts /* /dev/pts虚拟文件系统*/ | |--ext2 /*第二扩展文件系统*/ | |--fat /*MS的fat32文件系统*/ | |--isofs /*ISO9660光盘cd-rom上的文件系统*/
l include目录 内核所需要的头文件。与平台无关的头文件在include/linux 子目录下,与平台相关的头文件则放在相应的子目录中。
l init目录 内核初始化代码
l ipc目录 进程间通信的实现代码
l kernel目录 Linux大多数关键的核心功能都是在这个目录实现。(调度程序,进程控制,模块化)
l lib目录 库文件代码
l mm目录 mm目录中的文件用于实现内存管理中与体系结构无关的部分(与体系结构相关的部分在哪里实现?)
l net目录 网络协议的实现代码| |--802 /*802无线通讯协议核心支持代码*/ | |--appletalk /*与苹果系统连网的协议*/ | |--ax25 /*AX25无线INTERNET协议*/ | |--bridge /*桥接设备*/ | |--ipv4 /*IP协议族V4版32位寻址模式*/ | |--ipv6 /*IP协议族V6版*/
l samples 一些内核编程的范例
l scripts 配置内核的脚本
l security SElinux的模块
l sound 音频设备的驱动程序
l usr cpio命令实现
l virt 内核虚拟机
|
|