2-focus開發平臺

       在介紹開發環境之前,有兩點需要注意:

1:如果文中提到linux操作系統,就是泛指的意思,因爲linux是個概念比較泛的名詞,他可以專指由純淨linux源代碼編譯的操作系統,也可以是其他公司或團體在linux源代碼的基礎之上進行優化和改編的發行版本,因爲linux是開源的,很多公司在linux的基礎之上進行了優化和個性化的開發,然後重新發行,如ubuntu和紅帽等,那麼這些操作系統就稱爲linux發行版本,在文中介紹這些操作系統時,會以具體的名字提及,如介紹ubuntu時,就使用ubuntu這個名詞。

2:在文中出現編譯這個名詞時,大家可以先簡單的理解爲將文本形式的源代碼轉換成可執行文件的過程,至於文中出現了彙編、鏈接這些過程名詞,不明白的讀者,可以不用細究,你僅僅認爲彙編、鏈接就是編譯的一個子過程,隨着以後的介紹,會詳細介紹編譯的相關內容。

好的,那我們就開始正文吧。。。

focus的開發是基於linux環境進行的,因爲linux下的工具使用起來很靈活,在開發過程中會方便很多,andrew使用的ubuntu10.04版本的操作系統,gcc編譯器版本爲4.4.3,。andrew在研二的時候,給大三的學生做過微機原理這門課的助教,當時設計了一個關於操作系統啓動代碼的實驗,當時不大可能爲了一次實驗就去讓學生們都裝一個linux系統來用,所以當時andrew在設計這門課的時候,實驗是在windows系統下,使用masm編譯器完成的,當時真覺得這個實驗設計起來有點麻煩,因爲masm編譯器使用起來不太方便,段間跳轉指令沒有gcc用的靈活,但好在只是給本科上做一個啓動代碼的講解,不需要進行深入的介紹,masm還是能夠完成任務的,倒不是說masm就不能編寫啓動代碼,只是相對來說沒有gcc用的方便而已。

其實現在linux系統的發行版本已經很多了,比較常用的有ubuntu、紅帽和雨林木風等,而且現在的發行版本做的都非常人性化,使用起來很方便,即使你之前沒有接觸過linux系統,也可以很容易上手,大家首先不要有心理壓力,andrew在大四快畢業的時候纔開始接觸linux,使用的第一個linux系統就是紅帽,當時沒有想過linux好不好學,難不難,只是自己想學,一直到今天,幾乎使用linux和windows的時間各佔一半吧,在這個過程中,有好多的朋友告訴我,linux很難學,其實不是這樣的,如果你想學,你就不會去想難不難,如果你不想學,那你就不會去了解linux,連基本的瞭解都沒有,你肯定會覺得linux學起來很難,所以這裏大家放心,只要你有興趣使用linux系統,完全不需要門檻,但需要一點一點的積累。

 

       上圖是ubuntu的桌面,andrew很喜歡ubuntu這種酒紅色的主題,很溫暖又不失情調,最關鍵的是,andrew喜歡桌面整潔,其實linux下很少使用圖標的,所以桌面上就不需要放置圖標,可能這個是andrew的“潔癖”吧。。。嘿嘿

Linux有很多的發行版本,你可以根據自己的興趣,選擇一款,andrew研究生階段一直使用的是ubuntu,感覺很棒,推薦使用,你可以使用虛擬機安裝ubuntu,虛擬機就是在你的計算機中,通過軟件的方式模擬出一臺計算機,這樣你的電腦就相當於兩臺電腦來使用,也可以在你的計算機中裝雙系統,就是windows操作系統和linux操作系統同時存在你的電腦中,電腦啓動時,你可以在啓動界面選擇啓動哪個系統,andrew使用的是雙系統,因爲安裝虛擬機很佔用資源,而且andrew一直使用雙系統,在開發環境上不存在任何問題,如果有問題,可以和andrew一起交流解決。Ubuntu的系統鏡像網上很容易找到下載鏈接,安裝方法的介紹也有很多,andrew這裏就不對ubuntu的安裝進行介紹了,如果有問題,可以與andrew聯繫,文章後面會有andrew的聯繫方式。

gcc編譯器包括了編譯、彙編和鏈接的工具,其生成的代碼是32位的,在編寫操作系統時,啓動代碼開始的部分需要使用彙編語言編寫,而且最開始的部分需要用16位的編譯器,因爲計算機剛運行時,CPU還處於16位的狀態,這時的CPU就相當於一個8086CPU,學過微機原理的朋友一定知道8086,如果沒有學過微機原理,可能會覺得陌生一些,那麼你就認爲計算機剛開始上電運行時,CPU還沒有得到充分的配置,不管你的處理器多麼高端,此時的CPU就是一個古老的狀態,其性能和早期的CPU性能一樣。而編寫16位的彙編代碼,我們使用的編譯工具是as86和ld86,as86完成16位代碼的彙編,ld86完成16位代碼的鏈接,爲了不給各位朋友帶來太大的學習壓力,這次的交流,andrew只介紹as86和ld86的安裝,關於as86的彙編語言語法,在後面andrew會進行詳細介紹

 

安裝方法:

在linux命令行狀態下輸入以下命令,andrew假定你使用的是ubuntu系統哈。

sudo apt-get install bin86

 

 

好了,這裏andrew總結下今天的內容:

1——你需要安裝一個linux操作系統,推薦ubuntu,因爲和andrew使用的一樣的話,有問題可以方便解決。

2——編譯器的問題,32位的代碼使用linux自帶的gcc即可,對於啓動代碼部分需要16位的彙編語言編寫,我們使用as86和ld86進行代碼編譯。


————————————————————————————

QQ:64879927

博客:http://blog.csdn.net/andrew_yau

請關注focus微信公共平臺:OS的探索之旅

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