[Home] [Top] [Previous] [Next]
0.2.1 Overview
在开发面向基于IBM PC平台的OS之前,你需要准备相应的工具和环境。或许你并不需要太精通它们,但你必须了解和能够使用它们。
这些工具和环境既包括硬件平台,又包括软件环境,既包括编译和调试工具,又包括一些模拟工具。它们是如此的繁杂,以至于没有固定的组合。这里所给出的只是一种建议。你可以使用任何你所能得到的环境和工具,只要它们有助于你的目标的完成。
0.2.2 Environment 在你准备为你的OS编码之前,至少在你打算测试运行你的OS之前,你需要首先搭建相应的环境。它们主要分为硬件环境和软件环境。 0.2.2.1 Hardware Environment 我们的目标是开发基于IBM
PC平台的OS,硬件环境,当然,指的当然是IBM PC及其兼容机。是的,你需要至少一台标记有Intel Inside或者安装有兼容CPU的IBM
PC及其兼容机。如果你的OS是基于Protected Mode的,那么你的PC至少要是80286,如果你想完全发挥Protected
Mode的特点,那么找一台80386及其更高系列的PC会是比较明智的选择。当然,如果只是想开发一个基于Real
Mode的OS,并且完全不需要任何Protected
Mode的特性,那么8086/8088就足够了。但就目前的情况来说,拥有一台PIII以上的PC并不是一件非常困难的事情。 这台PC除了拥有必备的显示器,键盘,硬盘等外设之外,最好能够有一个软盘驱动器,因为这有利于你在真实的环境下测试你的OS。 当然,如果你没有PC,或者你并不想在PC平台上开发,你也可以找一个能够在运行在你的平台之上的模拟器(Simulator),但你必须能够保证你的编译器能够编译出PC平台的指令。 0.2.2.2 Software Environment 这里所说的Software
Environment指的主要是OS环境,它可以有很多选择,但我的建议是最好你能够安装一套Linux发布版本(Linux Distribution),比如Red
Hat或Slackware。 首先,Linux是免费的(对于发布版本来说,会收取少量的费用,但少的足以负担的起),并且很稳定(即使这样,我仍然鼓励定期做备份);其次Linux
Distributions已经自带了许多方便于OS开发的开发调试环境和工具;另外,Linux上还有自身的所有源码,以及许多开发文档,这些对于你的OS的设计和开发很有参考价值。
0.2.3 Tools 在搭建了相应硬件和软件环境之后,我们需要准备和安装相应的工具软件。 0.2.3.1 GCC GCC是GNU组织的旗舰产品,由GNU创始人Richard
Stallman首创。GCC过去的全称为GNU C Compiler,但后来GCC发展为C,C++,Object
C等编译器的集成体,所以后来GCC的全称改为GNU Compiler
Collection。当前版本为2.8.1,但据说与2.7.*有兼容性问题,而当前使用较广的是gcc 2.7.2。几乎所有的(actually, I'm not
sure:) )Linux Distribution都自带GCC,你可以使用
gcc -version 来查看你的Linux上所安装的gcc的版本。 GCC的不断发展完善让许多商业编译器相形见绌。没有任何一个商业编译器像GCC一样有高度的可移植性——GCC已经被移植到几乎所有的常见平台,其中硬件平台包括x86,
ia64, alpha, hppa, m68k, Power PC,mips, IBM rs6000,
sparc/sparc64,而操作系统平台则包括从Win32/DOS,到各种Unix。 GCC对ANSI
C进行了有效的扩展,它们使得C语言的功能更加强大。使用这些扩展,可以更加方便自然的开发OS。 0.2.3.2 Binutils 0.2.3.3 Make 0.2.3.4 CVS 0.2.3.5 Bochs