首页 理论教育 开发辅助工具:操作系统实现之路

开发辅助工具:操作系统实现之路

时间:2023-10-21 理论教育 版权反馈
【摘要】:在操作系统开发过程中,除用到编译器链接器、代码编辑器、调试器、文档管理工具等常规通用工具外,还会用到大量的辅助工具。在Hello China的开发过程中,同样也会用到一些辅助工具。本章就对Hello China开发过程中用到的一些辅助工具的原理和用法进行介绍,以使读者对操作系统的运行原理有更进一步的理解。Hello China V1.75的PC实现版本,使用的是Visual C++作为开发环境。在正式介绍辅助工具之前,先简单介绍一下PE文件格式,这是理解辅助工具的基础。

开发辅助工具:操作系统实现之路

在操作系统开发过程中,除用到编译器链接器、代码编辑器、调试器、文档管理工具等常规通用工具外,还会用到大量的辅助工具。所谓辅助工具,指的是专门为一个特定操作系统开发而制作的专用小型软件

常规的开发工具生成的是通用的、格式固定的二进制可执行模块。大多数情况下,这些二进制可执行模块不能被直接加载到内存中运行,而必须由操作系统的加载器进行一些预处理才能运行。而操作系统核心模块在加载之前,是没有任何已有软件(比如加载器)进行支撑的,这时候如果把操作系统核心模块也编译成这种需要预处理的二进制格式,显然无法正常工作。因此需要一些辅助的工具,把编译器生成的二进制模块处理成可直接加载到内存中运行的二进制模块。

有的时候,为了加载方便,需要把几个二进制模块连接在一起,形成一个大的二进制模块,这时候也需要辅助工具的帮助。还有一种情况是,在启动虚拟机(比如Virtual PC)的时候,需要有一个虚拟软盘文件。编译器是无法生成这个虚拟软盘文件的,必须由辅助工具完成。(www.xing528.com)

在Hello China的开发过程中,同样也会用到一些辅助工具。本章就对Hello China开发过程中用到的一些辅助工具的原理和用法进行介绍,以使读者对操作系统的运行原理有更进一步的理解。虽然操作系统的核心机制和实现原理与这些辅助工具无关,但千万不要小看这些工具,它们在整个操作系统开发过程中起到黏合剂的作用。正是因为这些工具的存在,才使得操作系统核心的不同模块有效结合、统一运行。

Hello China V1.75的PC实现版本,使用的是Visual C++作为开发环境。缺省情况下,这个开发环境生成的二进制可执行文件都是PE(Portable Executable)格式的。而PE格式文件显然不能直接作为操作系统核心模块使用,必须经过处理。本书引入的几个工具,最主要的工作就是对PE格式的文件进行处理,使之变成一种可直接加载运行的格式。在正式介绍辅助工具之前,先简单介绍一下PE文件格式,这是理解辅助工具的基础。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈