Kernel目录下包含了操作系统内核的所有源文件和开发控制文件(由开发工具生成的工程文件、项目管理文件等)。该目录实际上是一个Visual C++6.0的工程,双击master.dll文件,即可把该目录下的所有文件加载到集成开发环境中,前提是安装了VC++6.0。
由于内核的源代码数量比较多,为了管理上的方便,又根据功能进一步划分成了下列几个子目录:
arch子目录:包含了与硬件平台相关的代码,比如BIOS调用代码、x86 CPU相关的汇编语言代码等。该目录进一步包含了sysinit目录,这个目录下存放了引导扇区、实模式初始化代码、miniker等由汇编语言写的代码。在移植Hello China到其他硬件平台的时候,只需要修改该目录下的代码即可,其他目录下的代码可不作大的改动。
(1)drivers子目录:包含了IDE接口硬盘、键盘、鼠标等硬件设备的驱动程序源代码。若需要增加其他硬件的支持,建议在这个目录下增加对应的驱动程序。
(2)fs目录:文件系统实现代码,包含NTFS、FAT32等两个文件系统的实现代码。
(3)include目录:包含操作系统内核相关的所有头文件。操作系统内核相关的对象和数据结构、全局函数等,都是在这个目录下定义的。把所有头文件放在一个目录中,可把这个目录增加到开发环境的包含目录列表中,这样在源代码中只需要使用尖括号包含需要的头文件即可(即#include<headfile.h>),无需指明整个头文件的目录。
(4)kernel目录:操作系统内核的所有源代码。(www.xing528.com)
(5)kthread目录:内核线程的实现代码,这里的内核线程,是必须随内核一起运行的线程,目前主要是一个idle线程。这个线程的优先级最低,在系统中无任何其他线程需要调度的时候,Hello China将调度该线程。电源管理代码、一些低优先级的系统级任务等,可在这个线程内实现。
(6)lib目录:操作系统内核开发过程中需要的支撑库代码,主要是字符串操作代码、格式化输出代码、内存复制和清零代码等。
(7)osentry目录:存放操作系统初始化代码。
(8)shell目录:包含字符界面Shell的实现代码,以及内嵌在字符Shell中的应用程序代码。主要有磁盘格式化程序fdisk、文件系统fs、系统诊断程序sysdiag、硬件诊断程序ioctrl等几个字符界面程序的源代码。
其他几个由开发环境生成的目录,比如Debug和Release等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。