# 一、整體概念:三層分工 在電腦的開機與操作過程中,會依序經歷下列三大層級角色: | 層級角色 | 主要任務 | 地位 | | --- | --- | --- | | 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.