Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251727
  • 博文数量: 89
  • 博客积分: 4246
  • 博客等级: 上校
  • 技术积分: 2184
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-16 09:55
文章分类

全部博文(89)

文章存档

2013年(1)

2012年(17)

2010年(10)

2009年(58)

2008年(3)

我的朋友

分类: LINUX

2009-01-10 18:03:25

一.内核结构
/arch       所有硬件结构特定的kernel代码。多平台设计所用,如i386,alpha,arm(与体系结构相关的代码都存放在arch//和include/asm-/目录下。如arm体系则是arch/arm和include/asm-arm.);
/drivers   内核中所有的设备驱动程序,如usb和sound;
/fs   所有的文件系统的代码,如ntfs,ext3,jffs2等;
/include   建立内核代码时所需要的大部分库文件,这个模块利用其他模块重建内核。该目录也包括了不同平台需要的库文件,如asm-arm是arm平台需要的库文件;
/init  内核的初始化代码,内核从此处开始工作;
/ipc  进程间通信代码;
/kernel       主内核代码;
/mm 所有内存管理代码;
/net  和网络相关的代码,如atm,ipv6等;

一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。

1./arch
  linux系统能支持如此多平台的部分原因是因为内核把sourcecode清晰地划分为与体系结构无关部分和体系结构相关部分。/arch包含与体系结构相关的代码.其中每一个目录代表一种硬件平台,such as arm,i386.对任何平台,都必须包括以下几个目录:
/boot:启动内核所使用的部分或全部平台特有代码;
/kernel:存放支持体系结构特有的(如信号处理和SMP)特征的实现;
/lib:存放告诉的体系结构特有的(如strlen和memcpy)通用的函数的实现;
/mm:存放体系结构特有的内存管理程序的实现;
/math-emu:模拟FPU的代码。对于arm处理器来说,此目录用mach-xxx代替。
So,移植工作的重点就是 /arch目录下的文件。

2./dirvers
  所有的设备驱动程序。它占整个内核发行版本代码的一半以上,非常庞大。有些驱动程序是与硬件平台无关的而有些是相关的。

3./fs
  所有的文件系统的代码。如ntfs,ext3,jffs2等。一般来说,文件系统也
阅读(909) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~