「工欲善其事,必先利其器」。開發作業系統(OS Dev)與一般應用程式開發不同,我們是在硬體的最底層工作,因此需要一套能處理組合語言、編譯二進位檔案並進行模擬的工具鏈。
為了確保開發過程順暢,我選擇在 Windows 10/11 環境下透過 WSL2 (Windows Subsystem for Linux) 來建立 Ubuntu 開發環境,因為 Linux 下的開發工具鏈(Toolchains)支援最為完整。
在 OS 開發的世界裡,x86 是資料最豐富、社群支援最強大的架構。無論是經典的 OSDev Wiki 還是各類開源教材,大多以此為基礎,這能讓我們在遇到問題時更容易找到答案。
在開始寫程式碼之前,我們需要準備以下四類工具:
| 工具名稱 | 用途說明 |
|---|---|
| NASM | 彙編器 (Assembler),將彙編語言轉換成機器碼。 |
| QEMU | 硬體模擬器,讓我們不需實體機就能運行與測試 OS。 |
| GCC / Binutils | 用於編譯 C 語言程式碼及鏈結二進位檔。 |
| VS Code | 強大的程式碼編輯器,建議安裝 Remote - WSL 擴充功能。 |
如果你還沒有安裝 WSL2,請開啟 PowerShell 並執行:
wsl --install
安裝完成後重啟電腦,並確保進入的是 Ubuntu 系統。
在 Ubuntu 終端機中,執行以下指令來更新系統並安裝開發工具:
# 更新套件清單
sudo apt update
# 安裝 nasm (彙編器) 與 qemu (模擬器)
sudo apt install -y nasm qemu-system-x86 build-essential gdb
[!TIP]
為什麼不用實體機測試?
寫作業系統初期很容易發生致命錯誤(如 Triple Fault),這會導致電腦直接重啟。使用 QEMU 模擬器可以極大地縮短「修改-編譯-測試」的週期。