Nachos 是 UC Berkeley 大學以 C++ 開發,做為「作業系統課程」教學用的作業系統模擬軟體。很多美國大學、國內大學使用這個軟體來教作業系統。
Nachos 和一般作業系統不同在於,Nachos 是運行在作業系統之上,一般作業系統是運行在實體機器上。可以把 Nachos 想像成一個作業系統運行在另一個作業系統上面。
Nachos 4.0 以前的版本運行在 32-bit Linux ;4.0 可運行在 64-bit OS 或 DOS。(實際上如何,讀者自己測試了)
Nachos 使用 MIPS R2/3000 精簡指令集,再將這些指令轉譯為 x86 指令集的指令給 X86 架構的實體主機執行。
因此,當撰寫自己的程式後,需使用 Nachos 編譯指令將程式編譯為 MIPS binary code。
回到安裝主題。
Nachos 需安裝在 Linux。我的電腦是 Windows,我打算把 Nachos 安裝在虛擬機 VirtualBox。因此我要做幾件事。
- 在 Windows 上安裝 VirtualBox
- 在 VirtualBox 安裝 Ubuntu Desktop 14.04 LTS 32-bit
- 在 Ubuntu 安裝 Nachos
架構會是這樣:
恩,看起來有點複雜。
在 VirtualBox 安裝 Ubuntu 很簡單,這部分就跳過了。以下說明 Nachos 安裝:
安裝 Nachos
(1)安裝 C shell (csh) 和 g++:
sudo apt-get install csh sudo apt-get install g++
(2)下載 nachos 4.0 和 mips-x86.linux-xgcc
從 Ubuntu 下指令到王凡老師網站下載
wget -d http://cc.ee.ntu.edu.tw/~farn/courses/OS/OS2015/projects/project.1/mips-x86.linux-xgcc.tar.gz wget -d http://cc.ee.ntu.edu.tw/~farn/courses/OS/OS2015/projects/project.1/nachos-4.0.tar.gz
(3)解壓縮
解壓縮 nachos-4.0.tar.gz
tar –zxvf nachos-4.0.tar.gz
將 mips-x86.linux-xgcc 複製到根目錄並解壓縮
sudo mv mips-x86.linux-xgcc.tar.gz / tar –zxvf /mips-x86.linux-xgcc.tar.gz
(4) 執行 make
切至 code 資料夾,執行 make
cd nachos-4.0/code make
完成~~
測試
cd userprog ./nachos –e ../test/test1
應該會出現以下畫面
解釋一下上面指令:
(1) cd userprog 是進入 userprog 資料夾。
(2) ./nachos –e ../test/test1
./nachos ,執行目前工作目錄下的 nachos 檔案,透過 nachos 執行在 test 資料夾的一個名為 test1 的可執行檔。
之後,我們可以把自己撰寫的 C/C++ 檔案放在 test 資料夾,透過上面指令以 nachos 執行。
有關 make 指令,參考鳥哥說明