---
title: 2026 年 Linux 核心設計課程作業 —— introspect
image: https://i.imgur.com/robmeiQ.png
description: 做好探索 Linux 主體的準備
tags: linux2026
---
# 2026 年 [Linux 核心設計](https://wiki.csie.ncku.edu.tw/linux/schedule)課程作業: introspect
> 主講人: [jserv](https://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2026 年系統軟體課程](https://www.facebook.com/groups/system.software2026/)
:mega: 返回「[Linux 核心設計](https://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表
## :memo: 預期目標
* 充分檢視[前 6 週教材](https://wiki.csie.ncku.edu.tw/linux/schedule),從第一手材料理解 C 語言程式設計和 Linux 核心內部機制
* 觀摩學員[第三次作業的成果](https://hackmd.io/@sysprog/linux2026-homework3)並學習 code review 原則
## 注意須知
本次作業提供兩種進行方式,學員須擇一執行,並依所選路線完成相應要求。
* 第一種路線:即刻投入期末專題
學員自本次作業起即展開專題開發,持續至學期結束。專案須具備充分之技術深度與完整性,並於開發過程中主動對外公開成果,接受公眾評論與外部協作。
選擇此路線者須[簽署同意書](https://docs.google.com/document/d/1fbvrbyikJbyrc95WzWrmwUXyKJZhRc63XPsR-aM5uns/edit?usp=sharing),其內容包括:縱因不可抗力於學期中途退選或停修,仍應持續推進專題,並於 2026 年 9 月 1 日前完成並提交完整成果。必要時須於暑期投入相應時間補強進度,成果須包含原始程式碼、開發紀錄、解說錄影,以及對授課教師與產業專家所有提問之完整回覆。
若能於學期中穩定投入,專題原則上可於 2026 年 7 月第一週前完成;前述暑期投入係針對中途退選、停修或進度落後情形之補救機制。
授課教師將與學員密切合作,定期追蹤進度,並協助爭取於國內外研討會發表成果,同時安排資訊科技產業主管參與觀摩與交流。
本路線之第一個查核點為 5 月 26 日,學員須完成一次公開發表,內容包含詳實開發紀錄、完整原始程式碼,以及專題展示與解說錄影,並依各方建議持續修正與強化專案,直至第二十週完成最終成果。
> 在 5 月 25 日前限單人進行,其後得邀請其他學員協作。
* 第二種路線:穩健回顧與深化課程內容
學員須完整回顧前六週所有教材、課堂問答、隨堂測驗與延伸題目,並整理與回應授課教師及其他學員所提出之問題與指教(即前三次作業應完成之內容)。
完成回顧後,須參考〈[UNIX 作業系統 fork/exec 系統呼叫的前世今生](https://hackmd.io/@sysprog/unix-fork-exec)〉與〈[從 CPU cache coherence 談 Linux spinlock 可擴展能力議題](https://hackmd.io/@sysprog/linux-spinlock-scalability)〉之寫作風格,自作業與延伸問題中擇定主題,撰寫具技術深度之報告。
報告內容須涵蓋 C 語言規格說明、Linux 核心原始碼分析,並包含實驗設計與結果、推理過程,以及對應之數學模型與分析(至少涵蓋機率統計、線性代數、微積分或離散數學其中一項),以展現對系統層機制之整合理解。所有論述應以第一手資料為主要依據。
無論選擇何種路線,作業皆須具備清晰之技術脈絡、可驗證之內容,以及對外界回饋之實質回應,作為評量依據。
## 期末專題的命題
參照:
* [2026 年開放原始碼專案協作](https://hackmd.io/@sysprog/collab2026)
* [2025 年 Linux 核心設計課程期末展示](https://hackmd.io/@sysprog/linux2025-showcase)
* [2024 年 Linux 核心設計/實作課程期末展示](https://hackmd.io/@sysprog/linux2024-showcase)
* [2023 年 Linux 核心設計/實作課程期末專題](https://hackmd.io/@sysprog/linux2023-projects)
期末專題命題須明確聚焦於 Linux 核心,並具可驗證之實質價值,且符合下列原則:
* 專題須圍繞 Linux 核心或同等層級之系統機制。可直接於 Linux 核心進行設計與實作,或自行開發作業系統並重現 Linux 核心關鍵機制(如 RCU)。惟採後者者,須清楚說明設計於理論或實務上優於既有 Linux 實作,並以具體實驗與分析佐證其效能、可擴展性或正確性之提升,避免流於形式重製。
* 專題須對應真實世界問題,且具可重現性。學員需提供完整之實驗設計、執行流程與評估方法,使第三方可依文件與程式碼重建結果。評量以可重現性與實質貢獻為核心,並須經授課教師與外部專家認定具明確突破,方具評分資格。單純投入時間或完成基本功能不構成評分依據;若成果無法重現、開發過程不透明(應持續更新且完整揭露),或存在重大設計與實作缺失,授課教師得拒絕評分。
可參考之題目包括但不限於:開發具完整 journaling 機制且兼顧效能與一致性的 Linux 檔案系統;實作符合最新規範之高速虛擬無線網路裝置驅動程式;針對 Linux 核心之 MGLRU 機制提出改進並完成實作與評估;改進 kbox 之效能、可用性與實務部署能力;或設計並實作 RISC-V 處理器以運行 Linux,且其效率與完整性需優於現有若干開源實作。學員亦可自訂題目,惟須符合本課程對系統層深度與實作強度之要求,並經授課教師充分討論與確認。
## 繳交方式
* 第一種路線:
以電子郵件寄送至授課教師 `jserv.tw@gmail.com`,並副本課程助教 `P76144150@gs.ncku.edu.tw`,格式如下:
* 信件標題:`Linux2026/project: 姓名`
* 信件內容:學號、GitHub 帳號、前三次作業投入情況回顧,以及專題提案與考量因素
* 附件:「務必」包含已簽署之同意書(列印、簽名並掃描),限 PDF 格式
* 第二種路線: 自 4 月 18 日起填寫指定之 Google 表單,務必確保報告完整詳實,兼顧理論和實作議題
* 截止時間:2026 年 4 月 27 日 23:59