# 一、整體概念:三層分工 在電腦的開機與操作過程中,會依序經歷下列三大層級角色: | 層級角色 | 主要任務 | 地位 | | --- | --- | --- | | Firmware(韌體) | 開機、檢查硬體、載入 OS | 最早啟動的低階程式 | | Kernel(核心) | 控制所有硬體資源與系統底層 | 作業系統的心臟 | | Shell(殼層) | 提供使用者互動的介面 | 使用者與系統之間的橋梁 | ## 二、Firmware(韌體)是什麼? 韌體是嵌入在硬體中的小型軟體,會在電腦一開機就被執行。 ### 功能: - 開機自我檢測(POST) - 檢查硬體元件是否存在、是否正常 - 找到作業系統的開機磁區(Boot Loader) - 將控制權交給作業系統(Kernel) ### 比喻: Firmware 就像舞台的燈光師與舞監,確認一切設備正常、舞台準備好後,才讓主角上場。 ## 三、Kernel(核心)是什麼? Kernel 是作業系統的真正核心,掌控整台電腦的所有硬體與資源配置。 ### 核心職責: - 記憶體管理 - 處理器排程與多工處理 - 檔案系統存取(開檔、存檔) - I/O 裝置控制(鍵盤、滑鼠、網路) - 提供系統呼叫(System Calls)給上層應用程式與 shell 使用 ### 比喻: Kernel 就像舞台上的導演兼舞台總指揮,負責調度演員(應用程式)、設備(硬體),讓整場戲順利演出。 ## 四、Shell 是什麼? Shell 是提供使用者與作業系統互動的介面,透過打指令(CLI)或點選圖形化介面(GUI)間接控制系統資源。 ### Shell 的角色: - CLI 指令解析器:如 bash、zsh、PowerShell - GUI 應用背後也可能觸發 shell 指令(例如 build 按鈕) - 接收人類輸入的操作,呼叫系統功能(經由 Kernel) ### 比喻: Shell 就像舞台上的主持人或操作面板,把使用者的需求(指令)翻譯成系統能執行的語言。 ## 五、開機流程回顧:從電源到互動 ``` [1] 按下電源 ↓ [2] Firmware(BIOS / UEFI) 啟動 - 硬體檢查 + Boot loader 載入 ↓ [3] Kernel 載入並接手 - 控制硬體與資源 - 啟動系統程序與 Shell ↓ [4] Shell 啟動,接受使用者或應用程式輸入 - CLI / GUI 開始互動 ``` ## 六、角色總結對照表 | 角色 | 所在層級 | 代表例子 | 用戶可見 | 是否可修改 | | --- | --- | --- | --- | --- | | Firmware | 硬體內部 | BIOS / UEFI | 一般情況不可見 | 通常只能更新,不易修改 | | Kernel | 作業系統核心 | Linux kernel / NT kernel | 不直接操作 | 透過作業系統更新 | | Shell | 作業系統外層 | bash / zsh / PowerShell | 是(終端機) | 可更換或自訂(.zshrc 等) | ## 總結 - Firmware 是電腦啟動的第一棒,確認一切就緒後,交棒給 Kernel - Kernel 是核心控制中心,負責與硬體對話與分配資源 - Shell 是人機橋梁,不管 CLI 或 GUI 背後都可能透過它執行指令 這三者協同合作,讓我們每次打開電腦後,可以順利看到桌面、打開終端機、開始工作
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up