iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

打造 OS Kernel:從 OS in 1,000 Lines 到 xv6 系列

本專題以 30 天實作方式建立作業系統核心基礎。前半段以 RISC-V 為平台,從零實作小型 Kernel,逐步完成開機、例外處理、實體記憶體配置、行程管理、Context Switch、CPU 排程、分頁、User Mode、System Call、VirtIO 與檔案系統。
後半段進入 xv6,對照分析相同機制在 Unix-like 作業系統中的完整實作,並進一步擴充 xv6,加入行程資訊、System Call Trace 與排程統計等觀察功能。
最終完成一套可實際執行與觀察 Kernel 行為的實作成果,建立從 OS 原理、原始碼閱讀到核心開發的完整學習路徑。

參賽天數 22 天 | 共 22 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21|恐龍書的 PCB 在 xv6 裡長什麼樣?深入 struct proc

在 xv6 Shell 按下 Ctrl+P,終端機會列出目前的行程。其中有正在等待輸入的 Shell,也有開機時建立的 init,這些名字背後都對應到核心中的一...

2026-10-01 ‧ 由 日班工頭 分享
DAY 22

Day 22|swtch.S:把 Tiny OS 與 xv6 Context Switch 放在一起比較

CPU 在 swtch() 中執行 ret,下一個位置卻可能是另一份堆疊上的程式。這個現象在 Day 11 已經出現過,今天換成 xv6,並把中間的 sched...

2026-10-02 ‧ 由 日班工頭 分享