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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章