本專題以 30 天實作方式建立作業系統核心基礎。前半段以 RISC-V 為平台,從零實作小型 Kernel,逐步完成開機、例外處理、實體記憶體配置、行程管理、Context Switch、CPU 排程、分頁、User Mode、System Call、VirtIO 與檔案系統。
後半段進入 xv6,對照分析相同機制在 Unix-like 作業系統中的完整實作,並進一步擴充 xv6,加入行程資訊、System Call Trace 與排程統計等觀察功能。
最終完成一套可實際執行與觀察 Kernel 行為的實作成果,建立從 OS 原理、原始碼閱讀到核心開發的完整學習路徑。
在 xv6 Shell 按下 Ctrl+P,終端機會列出目前的行程。其中有正在等待輸入的 Shell,也有開機時建立的 init,這些名字背後都對應到核心中的一...
CPU 在 swtch() 中執行 ret,下一個位置卻可能是另一份堆疊上的程式。這個現象在 Day 11 已經出現過,今天換成 xv6,並把中間的 sched...