版本 64ac6c3e5b71ecb800a1e020d1526fed962944c6
JUTUSVMOS (侯廷錡)
2025 Linux 核心設計 春季班 自我評量
- 簡介:國立成功大學 人工智慧機器人 114 級 (2023 ~ 2025)
- GitHub: JUSTUSVMOS
- HackMD: Carpenter666
貢獻
自評分數:9分
課程教材修訂
現代處理器設計: 更新 [淺談 memory cache] 筆記連結
現代處理器設計: 更新 [Introduction to VLIW] 影片連結
現代處理器設計: 更新教材 [Introduction to High Performance Scientific Computing] 連結
現代處理器設計: 得益於 8 位元處理能力 > 刪除多於空格
現代處理器設計: cache 的原理是利用一小塊高速記憶體來存放最近使用過的的 -> 刪除重複字[的的]
Linux 核心設計: RCU 同步機制: 當所有執行緒都都離開 CS 時 ->「刪除重複字都都」
作業與隨堂測驗
自評分數:7分
- 2025q1 Homework1 (lab0)
- 2025q1 Homework2 (quiz1+2)
- 2025q1 Homerwork3 (kxo)
- 2025q1 Homework4 (quiz3+4)
- 2025q1 Homework5 (assessment)
期末專題
自評分數:8分
Pub/Sub模擬: HackMD
我改進第 15 週測驗題程式碼,設計 RCU 效能評測工具,並將其應用於 Valkey 實作以評估與優化高並行效能(改進方案還沒做)。
與授課教師的互動
自評分數:8分
一對一討論:6月18日 (星期三)⋅下午 3:30 - 4:00
CFS 如何確保 fairness?
Hyperthreading: 在單一 processor core 上同時執行多個 (hardware) thread,但是共用 ALU、FPU,於是一個 core 有幾組 pipeline?
修課心得
自評分數:7分
第一週上課開始,我就有明顯感受到自己的「腦發育」──例如使用 git 的時候,能利用 git hook 來統一 commit 訊息的格式,必須遵循相同的規範,不但提升了專案管理的效率,也讓未來回溯或審查程式碼時更有條理。這不只是技術層面的學習,更讓我意識到規範與自動化在團隊合作中的價值。
我是在課堂測驗中第一次接觸到 RCU,了解到 lockless 設計帶來的效能優勢,於是決定在期末專題中動手實作。過程中,查資料最讓我卡關的就是 quiescent state,花了很多時間才勉強理清楚這個機制到底在做什麼。另外,像 memory order 和 atomic 操作,原本沒特別注意,沒想到它們在 RCU 中竟然有這麼大的作用。直到我實際開始寫程式,反覆 debug、遇到各種意想不到的同步問題,才真的意識到這些底層細節的重要性。這次經驗讓我體會到,光靠查資料和想像很多時候還是霧煞煞,唯有親自實作、遇到真實問題,才能真正掌握這些抽象的理論,讓它們轉化為自己的能力。
閱讀〈因為自動飲料機而延畢的那一年〉這篇文章,讓我對系統軟體開發者所需要具備的態度有了更深刻的體會。文中描述作者從一個小小的自動飲料機專題,一路跌跌撞撞到因延畢而自省,不僅面對了技術層面的挑戰,更經歷了態度、細節和責任感的考驗。這些心得,正好呼應了課堂上老師反覆強調的三個重點:「誠實面對自己」、「理論與實務結合」、以及「細節決定成敗」。
在與老師面談的過程中,我提出了自己反覆思考許久的問題。沒想到老師很直接地點出:我對 CPU 的理解其實還遠遠不夠,而這些答案早已記載在算盤書中。這才讓我發現,原來自己以為懂的,其實還有許多細節被忽略了;很多時候,不是我真的懂了,只是自己在裝懂。這讓我深刻反思,開發者必須保持誠實、謙虛,並且時時提醒自己不要忽略細節,也唯有這樣才能真正成長。
最後,老師講的笑話很好笑,請打加一定要來上課。
自我評量總分
\((9 \times 6 \times 8 \times 7 \times 7 ) ^ {1/5} = 7.33\)
使用方案 B 計分:\(1 + floor(7.33) = 8\)
