linux内核详解(内核linux-2.6.22.x各目录讲解)
linux内核详解(内核linux-2.6.22.x各目录讲解)fs子目录 文件系统目录;子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。内核帮助文档,包含对每个目录的作用进行说明。(我们常用到的目录)包含设备驱动,其内容几乎占内核的一半。drivers子目录
1,arch目录包含所有与体系结构相关的核心代码。每个子目录代表一种体系结构,子目录中包含boot、kernel、lib、mm等子目录。
arch目录的子目录
2,block
包含块设备的基本框架和I/O调度算法。
3,crypto
包含加密,压缩,CRC校验等算法。
4,Documentation
内核帮助文档,包含对每个目录的作用进行说明。
5,drivers
(我们常用到的目录)包含设备驱动,其内容几乎占内核的一半。
drivers子目录
6,fs
文件系统目录;子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。
fs子目录
7,include
包含内核所需要的头文件,子目录linux存放于硬件无关的头文件,其它子目录与硬件对应。
include子目录
include子目录中的linux子目录
8,init
包含内核初始化代码(不是系统引导代码),包含main.c和Version.c两个文件。
9,ipc
包含进程间通信的实现代码(含信号量等相关代码)。
10,kernel
包含内核最核心的代码(与体系结构无关)(比如:进程管理,进程调度器,中断处理,时钟管理,同步等);与平台有关的核心代码在目录arch中。
11,lib
包含核心库文件,与体系结构无关的部分。
12,mm
包含内存管理代码(与体系结构无关的部分)。
13,net
包含网络核心代码,子目录对应网络的一个方面。
net子目录
14,scripts
配置内核的脚本和应用程序的源码。当输入make menuconfig 进行内核配置时,系统首先编译应用程序源码,生成可执行文件。
(1)该执行文件读取当前体系结构对应子目录树中的Kconfig文件对内核进行配置,生成.config文件。
(2)提取可执行内核镜像vmLinux的符号表信息,存入文件System.map中,用于内核调试。
15,security
包含selinux的模块等。
16,sound
包含音频设备的驱动程序。
17,usr
用户空间代码实现。
其它文件如下:
.config
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile:内核目录的第一个MakeFile文件
README:介绍内核以及其编译配置方法
REPORTING-BUGS
System.map