Operating System Design
操作系统
OSDesign


Linux-2.4分析
ToolChain


Configuration of OS Source


为了实现最大限度的模块化,必须有一个Infrastructure,处于依赖树的金字塔的最低层,不依赖于任何其他模块。初步入选的模块和文件是:printf系统,types定义,基本string操作,link list操作,其他基础数据结构(暂无)。只有这些模块的头文件是直接放到include目录的根目录的.其实C99标准定义了一个standalone模式供编译器选择编译像OS这样的程序,这里选择的文件并非和C99完全相同.其他模块的头文件 通过makefile创建的符号链接放到include,这样, 具体模块的头文件和C文件放在一起,很容易移植和学习。

1.build  doc scripts tools debug: 这些不是OS的一部分,但又不可或缺。build和scripts包含Makefile的源文件。debug是Bochs的配置和脚本。
2.boot  由bootsect.S setup.S 和 setup32构成的启动支持。扩展方便。
3.includekernel 现在这两个目录构成kernel的主体部分。最基本的原则是尽量剥离OS的各个部分
4.fs 将具体的文件系统和OS的逻辑做最大限度的隔离,在FAT部分不会涉及任何和OS相关的东西,目标是一个FS的driver lib。
5.driver 和fs的思路一直,对硬件的操作逻辑和OS对driver的要求彻底分离。
6.lib  现在放了一些杂七杂八的东西。

 
 
GNU 1997-2007 hyl