红联Linux门户
Linux帮助

手头上一点关于内核源代码文件目录结构的文章

发布时间:2008-04-12 16:42:20来源:红联作者:ykde
  Linux每次升级到稳定版本,内核都有较大的修改。因而,在某些程序中(特别是与内核直接相关的程序)会出现不兼容的情况,因此,建议读者在使用本书时保持和笔者一致的系统内核版本。

  本书所使用的操作系统平台为Linux平台(FC4),其内核为2.6版本。如果读者使用的是其他较低内核版本,为避免出现系统软件版本兼容问题,请首先升级内核,关于内核升级,读者可以参阅由笔者编写的《Red Hat Linux 9系统管理与服务器配置》一书中内核升级到2.6版本的详细操作。下面命令显示当前系统平台以及内容版本。

  [root@localhost ~] # uname //平台
  Linux
  [root@localhost ~] # uname -r //内核版本
  2.6.11-1.1369_FC4

  内核目录结构
  Linux内核程序以源代码形式发布,其源代码程序位于/usr/src目录下,主要包含一下几个主要的目录:

  [root@localhost ~] # ls /usr/src/kernels/2.6.11.1.1369_FC4-i686/
  arch fs ipc Makefile net sound
  ...
  drivers init lib Module.symvers security

  (1)/arch子目录包含所有与硬件结构相关的特定内核代码。Linux支持多种微处理架构,如常见的i386、alpha、ARM、PPC等微处理器,分别用不同的文件夹来管理不同类型的处理器代码。

  (2)/drivers子目录包含内核中所有常见的设备驱动程序,如块设备、SCSI设备、CDROM设备以及串口等。

  (3)/fs子目录包含所有的文件系统的代码,如ext2/3、VFAT、JFFS、NTFS、FAT、USB以及PROC等类型的文件系统。如果读者需要自己添加文件系统驱动程序,一般都防止在本目录下。

  (4)/include子目录包含建立内核代码时所需的大部分包含文件,包括大量的*.h格式的文件。

  (5)/init子目录包含内核的初始化代码,这是内核工作的起点。

  (6)/ipc子目录包含进程间通信代码,如信号量信息。

  (7)/net子目录包含内核的网络相关的代码,如802、IPV4/6、IPX、IRDA、X25、ATM、ETHERNET等。所有与网络相关的文件都在此目录中。

  (8)/mm子目录包含所有内存管理代码。

  (9)/kernel子目录包含主内核相关的代码。

  文章摘自:《Linux高级程序设计》 杨宗德 邓玉春 曾庆华 编著
文章评论

共有 1 条评论

  1. linkstack 于 2008-04-12 20:52:25发表:

    这是文档区还是讨论区(讨论问题的地方)啊?