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高级程序设计》 杨宗德 邓玉春 曾庆华 编著
linkstack 于 2008-04-12 20:52:25发表:
这是文档区还是讨论区(讨论问题的地方)啊?