0.2 Tools & Environment

 http://www.huihoo.com/gnu_linux/own_os/preparing-tools_2.htm

0.2 Tools & Environment

 

[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

 

你可能感兴趣的:(OS,tools,gcc,ibm,linux,编译器,平台)