作業系統的建置與開機程序 (Building and Booting an Operating System)
備註
本系列文章內容參考自經典教材 Operating System Concepts, 10th Edition (Silberschatz, Galvin, Gagne)。本文對應章節:Section 2.9 Building and Booting an Operating System。
一個 OS 在能夠實際使用之前,必須先經歷兩個截然不同的過程:首先是生成(Generation),決定 OS 的哪些功能要被編 譯進最終的二進位檔案;其次是開機(Boot),讓剛生成或已存在的 OS 核心被正確地載入記憶體並開始執行。這兩個問題乍看像是瑣事,但它們背後各自藏著影響深遠的設計取捨。
2.9.1 作業系統的生成 (OS Generation)
大多數消費者買到電腦時,OS 已經預先安裝好了。但如果要更換 OS、新增另一個 OS,或者買到的是沒有 OS 的裸機,就必須自行將 OS 放上去並配置好。
如果要從頭建置一個 OS,必須依序完成以下五個步驟:
- 撰寫或取得 OS 原始碼(Write/obtain the operating system source code)
- 為目標硬體配置 OS(Configure the OS for the system on which it will run)
- 編譯 OS(Compile the operating system)
- 安裝 OS(Install the operating system)
- 開機並執行新 OS(Boot the computer and its new operating system)
其中,配置(Configuration) 是最關鍵的步驟。配置的工作是指定 OS 應該包含哪些功能,通常以一個組態檔(Configuration File) 的形式記錄,描述目標系統的硬體規格與所需功能。這份組態檔一旦建立,後續生成 OS 時有三種不同的做法。