首先,可充分利用已有的大量的操作系統(tǒng)相關代碼和文檔。x86硬件平臺是一個高度標準化的計算機平臺,不論是其初始化和加載過程,還是常用硬件的資源配置(端口號、內(nèi)存映射等),都有明確定義。沒有任何其它的計算機硬件平臺能夠象x86這樣完善,雖然從純技術(shù)角度上說,x86 CPU本身的體系架構(gòu)不一定是最優(yōu)的。真是因為這樣的特點,很多系統(tǒng)軟件愛好者開發(fā)了大量的面向x86平臺的操作系統(tǒng)代碼片斷,放到互聯(lián)網(wǎng)上共享。這些代碼片斷包含了操作系統(tǒng)開發(fā)過程中的方方面面,是操作系統(tǒng)開發(fā)過程中最寶貴的資源。借鑒這些資源和文檔,可大大加速操作系統(tǒng)開發(fā)過程,尤其是初期的開發(fā)過程。
其次,由于x86硬件平臺的廣泛應用,可大大加快新操作系統(tǒng)的推廣和使用速度。一旦有一個操作系統(tǒng)雛形,能夠成功引導計算機,并能夠做一些基本的操作,只要你放到網(wǎng)上,肯定會有很多的操作系統(tǒng)愛好者下載使用。這無疑會大大提升新開發(fā)操作系統(tǒng)的推廣范圍和推廣速度。同時可能會收到大量的對新系統(tǒng)的改進建議和bug報告,有助于操作系統(tǒng)軟件質(zhì)量的提升。
最后,對操作系統(tǒng)的進一步擴展開發(fā)有重大意義。比如,你完成了操作系統(tǒng)核心部分的開發(fā),然后公布API接口,設備驅(qū)動程序開發(fā)接口,甚至源代碼,會吸引很多系統(tǒng)軟件愛好者繼續(xù)開發(fā)驅(qū)動程序和應用程序。這對整個操作系統(tǒng)生態(tài)鏈的構(gòu)建是非常重要的。如果操作系統(tǒng)是直接面向x86硬件平臺的,這個驅(qū)動程序和應用程序進一步開發(fā)的過程,就無需模擬器的支持,得到的相應必然會更多。
總而言之,如果不是針對一個固定硬件平臺做的功能有限的操作系統(tǒng)開發(fā),建議以x86為首要開發(fā)平臺,以充分發(fā)揮已有優(yōu)勢。如果你開發(fā)的操作系統(tǒng)非常封閉,只適應于固定的一種硬件平臺,則無需開發(fā)x86平臺版本。但只要是一個功能相對豐富的操作系統(tǒng),適應多種硬件平臺是必然的,這時候,x86就是繞不過的門檻了。
作者:辛慶祥,操作系統(tǒng)開發(fā)愛好者,目前正從事開源操作系統(tǒng)Hello China的開發(fā),曾以藍楓葉為筆名,出版《嵌入式操作系統(tǒng):設計與實現(xiàn)》一書。QQ:89007638