日期:2014-05-16  浏览次数:21612 次

Linux源代码目录结构介绍

1.arch目录:存放不同平台的相关代码,每种平台用不同的目录来区分。

******Alpha平台

******Arm平台

******Arv32平台

******X86平台

2.drivers目录:存放驱动程序的目录,不同的驱动用不同的目录来加以区分。

******ftape:磁带驱动

******hfmodem:无线电设备驱动

******joystick:游戏杆驱动

******paride:从并口访问IDE设备的支持

******cdrom:光驱驱动

******char:字符设备驱动

******fc4:光纤设备驱动

******misc:杂项设备驱动

******net:网卡驱动

******PCI:PCI总线驱动

scsi:SCSI设备驱动

sound:音频设备驱动

usb:usb串行总线驱动

video:视频卡设备驱动

block:块设备驱动

3.fs目录:存放Linux所支持的所有文件系统的相关代码,不同的文件系统用不同的目录加以区分。

******ext2:Linux支持的Ext2文件系统

******nfs:一种网络文件系统

******proc:/proc文件系统

******ufs:Linux的一种文件系统

4.其他目录

1).include目录:存放了编译内核时所需要的大部分头文件,其中在include/linux目录中,存放的头文件是与平台无关的,与平台相关的存放在了相关平台的不同目录里了。

2).init目录:存放着内核的初始化代码,包含了系统启动的main()函数。

3).ipc目录:存放着进程间通信的相关代码

4).kernel目录:存放着最核心的代码,管理内核的相关代码,如进程调度,内存管理等。

5).lib目录:存放着库模块代码

6).mm目录:存放着独立于CPU的内存管理代码,对于不同平台的代码来说用不同的目录来区分。

7).net目录:存放各种网络协议的代码

8).scripts目录:存放着配置内核的相关脚本文件

9).security目录:一个SELinux(Linux内核的一个强制访问控制系统)模块

10).sound目录:常用的音频设备驱动程序

11).usr目录:一个cpio(cpio是用来建立、还原备份文件的工具程序,它可以加入、解开cpio或tar备份档内的文件。)

12).block目录:块设备驱动程序。

13).crypto目录:常用的加密和压缩算法。

14).Documentation目录:内核部分功能的解释文档。

15).COPYING文件:GPL版权声明文件。

16).CREDITS文件:内核开发者列表

17).Kbuild文件:用来编译内核的脚本

18).MAINTAINERS文件:维护人员列表

19).Makefile文件:第一个Makefile文件,用来组织内核的各个模块,记录了各个模块相互之间的联系,编译器根据这个文件来编译内核。

20).Readme文件:内核及编译方法的介绍

21).REPORTING-BUGS文件:关于bug的一些内容。