Code::Blocks中搭建Nachos環境

Nachos的全稱是「Not Another Completely Heuristic Operating System」,它是一個可修改和跟蹤的操做系統教學軟件。具體可參考百度百科。若是是在學習操做系統課程,並使用Nachos做爲輔助教學,本文將會有所幫助。在網上沒有找到使用Code Blocks搭建nachos的教程,只好本身琢磨,總算有所小成。sass

說明,如下操做都是在Ubuntu 11.10中進行的。函數

一、獲取Nachos源碼:能夠在這裏下載源碼。下載後,右擊,選擇解壓到此處,把解壓獲得的文件夾,修更名稱爲nachos,放在某一目錄下,這裏直接放在主文件夾下。工具

二、系統安裝g++。學習

sudo apt-get install g++

三、直接使用gcc編譯。ui

先將nachos\nachos3-4\code\下的Makefile文件中的操作系統

MAKE = gmake 改爲 MAKE = make

而後在clean:後邊加上如下幾行:.net

clean:
    cd threads; rm *.o nachos
    cd network; rm *.o nachos
    cd filesys; rm *.o nachos
    cd test; rm *.o
    cd userprog; rm *.o nachos
    cd vm; rm *.o nachos
    rm -f *~ */{core,nachos,DISK,*.o,swtch.s,*~} test/{*.coff} bin/{coff2flat,coff2noff,disassemble,out}

上面的這幾行是用來實現clean時清楚全部子目錄下的目標文件已經可執行文件。由於原來的那行貌似不起做用。調試

運行終端,切換目錄到nachos\nachos3-4\code下,直接輸入make,回車:code

正常的話,就編譯成功了。再進入threads目錄下,執行nachos:教程

若運行如上圖,則表示編譯成功。

再運行命令

cd ..
make clean

清除目標文件及可執行文件。

四、安裝Code::Blocks:在軟件中心搜索Code Blocks,並安裝

五、運行Code::Blocks,新建一個空工程,名稱爲nachosCb,其餘路徑以下:

下一步,編譯器選擇GNU GCC Compiler,完成。

六、右擊工程,選擇Add files recursively,選擇nachos-3.4下的code目錄,選擇Select All:

肯定,將全部文件加到工程。

七、右擊工程,選擇Properties,設置Makefile以及路徑,勾選上This is a custom Makefile,下面的路徑是Makefile所在目錄,即code目錄。圖中使用的是相對路徑:

八、選擇Build targets標籤,單擊Add,增長一個Target,名稱爲Threads,其餘設置以下:

說明:由於nachos下有不少子目錄,執行make以後,不少目錄下都會生成可執行文件nachos,它們表明nachos不一樣的部分。你能夠爲每一個會生成可執行文件的目錄創建一個Target,這樣,在Code Blocks裏能夠經過在工具欄切換Target來實現運行、調試整個系統的不一樣部分。不過,雖然每一個目錄下都有各自的Makefile文件,Build的時候用的仍是code目錄下的那個Makefile。固然,你能夠在第7步裏邊進行選擇,不過仍是建議使用code下的Makefile,比較方便。

單擊肯定,使得設置生效。

九、再次右擊工程,選擇Properties,打開上圖所示窗口,Build targets選擇Threads,單擊上圖中的Build Options按鈕,找到Make Commands選項,把$target都去掉:

肯定,完成操做。

十、試試可否編譯、運行和調試:

在工具欄選擇Target爲Threads,而後執行Build。能夠右擊工程選擇Build或者單擊工具欄中的Build圖標。這裏是Build成功的,下圖是運行截圖:

十一、調試。在Code Blocks中打開threads目錄下的main.cc,在main函數的開始處設置一個斷點,在菜單中依次選擇Debug——Run或者直接按F8,則調試開始。此時,能夠在菜單中依次選擇Debug——Debuging Windows,添加調試時能夠用到的窗口,如Watches能夠顯示變量值。

能夠按F7一步步執行。截圖以下:

十二、重複第八、9步,爲其餘幾個子目錄建立Target,並刪掉原來的Debug與Release,以下圖:

1三、關閉以前Code Block以前最好保存工程。右擊工程選擇Save project。

開源中國社區 雙子座

相關文章
相關標籤/搜索