--- title: kstoko02 (陳沁妤) categories: User ... # 簡介 * 國立成功大學 人工智慧科技碩士學位學程 116 級 * GitHub: [`kstoko02`](https://github.com/kstoko02) * HackMD: [`winterchen`](https://hackmd.io/@winterchen) # 2026 Linux 核心設計 春季班 自我評量 ## 成果發表和貢獻 2分。 * 2026/07/15: * 頁面:[Linux 核心設計: 不只是執行單元的 process ](https://hackmd.io/7F6fBU6tRzuWM6ZPyoq0xA?both=#) * 修正:用詞不一致 - 身份 / 身分,參考教育部規範用字,[分身](https://dict.revised.moe.edu.tw/dictView.jsp?ID=131140&la=0&powerMode=0),指個人的出身、職業、資格或社會地位等。已將文章統一為「身分」。 * 2026/07/15: * 頁面:[Linux 核心設計: 淺談同步機制 ](https://hackmd.io/0JIAU2l_QeO5FhxjD-V_ow?both=#) * 修正:用詞錯誤,將「另闢蹊蹺」改為正確成語「另闢蹊徑」,參考教育部規範用字,[另闢蹊徑](https://dict.revised.moe.edu.tw/dictView.jsp?ID=65743&la=0&powerMode=0),指另外開闢一條路;[蹊蹺](https://dict.revised.moe.edu.tw/dictView.jsp?ID=104495&la=0&powerMode=0),指怪異而違背常情。 ## 作業/隨堂測驗 7分。 * 作業: * [2026q1 Homework1 (warmup)](https://hackmd.io/@winterchen/linux2026-warmup) * [2026q1 Homework2 (stdc)](https://hackmd.io/@winterchen/linux2026-stdc) * [2026q1 Homework3 (basics)](https://hackmd.io/@winterchen/linux2026-basics) * [2026-06-23 模擬面試](https://hackmd.io/@winterchen/ryO8JSbQMl) ## 期末專案 9分。 * [Linux 核心設計專題: 圖形函式庫的效能改進](https://hackmd.io/@sysprog/HJwI6OgkGe) 使用 perf 對 TinyGL 進行效能分析,加入 -O3 -march=native 編譯優化後,透過 perf stat 與 perf annotate 找出六個主要效能熱點函式(glopVertex、光柵化函式、clampf、gl_shade_vertex、glopMaterial、glopCallList),並針對每個熱點做了組合語言層級的根因分析,歸納出三類問題:記憶體存取模式不佳(cache locality)、小函式呼叫開銷過高、以及未利用 SIMD 向量化。 這學期完成的是診斷階段,暑假將針對這些問題進行實際優化並重新量測效能改善幅度。 **交流提問** * [Linux 核心專題: RCU](https://hackmd.io/@sysprog/H12QuDn6Zg) * [Linux 核心設計專題: 強化 kxo](https://hackmd.io/@sysprog/HJv7vqR0bg) * [Linux 核心專題: qspinlock 量化分析](https://hackmd.io/@sysprog/SyC5lS3gMg) ## 與授課教師的互動 9分。 **1 對 1 討論** * 2 次下課後實體討論 * 5/12 下課後找老師討論期末專案題目,並確定以 TinyGL 為主題,找出效能瓶頸並進行改進,同時以科學化方法量化改進成效。 * 6/23 下課後找老師討論,第一次測試已使用 perf 量出 cache miss 數據,但只針對單一場景進行量測。老師提醒不同的場景可能造成截然不同的 cache miss 行為,回去後針對靜止和轉動兩種場景以及其他不同場景分別測了 cache miss ,並記錄在期末專案中。 **課堂問答次數** * [第 9 週](https://hackmd.io/gdgKXMGYRdaNUgsEBKaypg) * [第 18 周(模擬面試)](https://hackmd.io/@winterchen/ryO8JSbQMl) ## 所見所聞所感 10分。 看完〈因為自動飲料機而延畢的那一年〉這篇文章後,感觸很深。因為我現在做的期末專題,也是一個過去從未接觸過的領域。現今 AI 技術過於強大,加上越來越多人轉行投入資訊業,科技領域的競爭日益激烈,這讓我對未來的看法和大學剛入學時已經完全不同。資訊這個領域太廣了,正因為看清了現在的局勢,我決定要確立一個明確的方向,好好深耕下去。過去曾做過與圖像相關的期末專題,讓我覺得可以朝這個方向繼續走下去。在提出這次期末專題之前,我花了兩週時間自學 3D render 的原理,參考了 [tinyrender](https://haqr.eu/tinyrenderer/) 這份教學。我發現這和我過去做過的東西完全不同,是一套全新的概念,對我來說是個不小的挑戰,但我相信自己有能力完成它。實際進行專題的過程中,因為對 render 相關知識還不夠熟悉,導致一開始測出來的效能數據不夠準確,常常測完之後才發現方法有誤,只好重新再測一次。不過也正是這樣反覆試錯的過程,讓我對 render 原理和效能測試方法越來越熟悉。 在做 Homework2 (stdc) 之前,「0.1 + 0.2 ≠ 0.3」對我來說只是大家熟知的電腦常識,卻沒有真正理解背後的原因。透過這次作業,我第一次從 bit 層級分析浮點數表示方式,理解這並不是電腦計算錯誤,而是十進位與二進位在表示分數時存在本質上的差異。十進位能精確表示的數值(例如 0.1),二進位不一定能精確表示,因此浮點誤差是有限 bit 表示下必然存在的限制。這份作業讓我體會到,許多看似錯誤的程式行為,深入分析後可能並非實作問題,而是底層規格與設計取捨造成的結果。 這門課中,老師經常提醒我們要先閱讀規格書與相關文件,而不是直接依賴 AI 提供的答案,因為 AI 的回答不一定完全正確。雖然一開始閱讀規格書需要花費較多時間,但在實際學習過程中,我也曾發現 AI 提供的答案與規格內容有所差異,進一步驗證了理解原始文件的重要性。此外,老師分享了許多教材與學習資源,也讓我有更多機會深入探索課程相關內容。 ## 自我評量 (1 ~ 10): 方案 B : $$ 1+floor(GEOMEAN) = 1+ (2 \times 7 \times 9 \times 9 \times 10)^{1/5} \approx 1+6.47 = 1+6 =7 $$