Linux内核目录结构arch:该子目录包括了所有和体系结构相关的内核代码。它的每一个子自录都代表一种支持的体系结构,例如i386就是关于intelcpu及与之相兼容体系结构的子目录。PC机一般都基于此目录。Include:该子包括编译内核所需要的大部分头文件。与平台无关的头文件在include/linux子目录下,与intelcpu相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关scsi设备的头文件目录。init:该子目录包含内核的初始化代码,包含两个文件main.c和version.c。mm:该子目录包括所有独立于cpu体系结构的内存管理代码,如页式存储管理内存的分配和释放等;而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/fault.c3.6
3.6 Linux内核目录结构 arch:该子目录包括了所有和体系结构相关的内核代码。 它的每一个子目录都代表一种支持的体系结构,例如i386 就是关于intel cpu及与之相兼容体系结构的子目录。PC 机一般都基于此目录。 Include: 该子包括编译内核所需要的大部分头文件。与平 台无关的头文件在include/linux 子目录下,与intel cpu相关的头文件在include/asm-i386子目录下,而 include/scsi目录则是有关scsi设备的头文件目录。 init:该子目录包含内核的初始化代码,包含两个文件 main.c和version.c。 mm:该子目录包括所有独立于cpu体系结构的内存管理 代码,如页式存储管理内存的分配和释放等;而和 体系 结构相关的内存管理代码则位于arch/*/mm/,例如 arch/i386/mm/fault.c
Linux内核目录结构(续)kernel:主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数其中最重要的文件当属sched.c;同样,和体系结构柜关的代码在arch/*/kernel中。drivers:放置系统所有的设备驱动程序:每种驱动程序又各占用一个子自录:如,/block下为块设备驱动程序,比如ide(ide.c)。设备初始化程序在drivers/block/genhd.c中的device_setup()。lib:放置核心的库代码,net:核心与网络相关的代码ipc:这个目录包含核心的进程间通讯的代码。fs:所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2scripts,此目录包含用于配置核心的脚本文件等。一般,在每个自录下,都有一个.depend文件和一个Makefile文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件这间的联系和依托关系很有帮助;而且,在有的自录下还有Readme文件,它是对该自录下的文件的一些说明,同样有利于对内核源码的理解。3.7
3.7 Linux内核目录结构(续) kernel:主要的核心代码,此目录下的文件实现了大多数linux系统 的内核函数,其中最重要的文件当属sched.c;同样,和体系结构相 关的代码在arch/*/kernel中。 drivers:放置系统所有的设备驱动程序;每种驱动程序又各占用一个 子目录:如,/block下为块设备驱动程序,比如ide(ide.c)。设备 初始化程序在drivers/block/genhd.c中的device_setup()。 lib:放置核心的库代码。 net:核心与网络相关的代码。 ipc:这个目录包含核心的进程间通讯的代码。 fs:所有的文件系统代码和各种类型的文件操作代码,它的每一个子 目录支持一个文件系统,例如fat和ext2; scripts, 此目录包含用于配置核心的脚本文件等。 一般,在每个目录下,都有一个.depend文件和一个Makefile文 件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对 弄清各个文件这间的联系和依托关系很有帮助;而且,在有的目录下 还有Readme文件,它是对该目录下的文件的一些说明,同样有利于 对内核源码的理解