HeLunWu0317 (吳和倫)
簡介
- 國立成功大學 工程科學系 114 級
- GitHub:
HeLunWu0317 - HackMD:
WuHeLun
2025 Linux 核心設計/實作 春季班 自我評量
成果發表和貢獻
1分。 沒有具體的貢獻
作業/隨堂測驗
5分 * 2025q1 Homework1 (lab0) * 2025q1 Homework2 (quiz1+2) * 2025q1 Homework5 作業是這一堂課最重要的部分之一,每一份作業在做之前都需要做大量的前置準備,需要閱讀論文了解數學公式,了解觀念,才可以實際去動手實作,否則會瞎子摸象一般無從下手。
期末專題
5分 * Linux 核心專題: 重作 kxo 首先必須要閱讀大量的教材,才有辦法了解作業內容以及老師的作業目,而我一開始就想馬上 clone 下來,直接做 trace ,最後的結果就是不知如何下手,甚至老師寫的作業目標都不懂,因此我重新從教材開始看起,主要都是跟者老師的教材以及教學走,當真的遇到不了解的就去做搜尋或是詢問 LLM (詢問後必須去驗證才是正確做法),那光是讀完教材,並且有大約的概念,花了 6 天的時間,我才開始從每一項作業目標做起,並因為此時已經了解老師的作業目標,因此自行設置了執行實作的步驟,並在最後一周作出了4個目標。
與授課教師的互動
4分 2025/6/11 一對一討論 * 決定專題題目:Linux 核心專題: 重作 kxo。 * 要解決的問題以及該去讀的教材(1): 找出 Linux 核心原始程式碼中,用到 geomean (或其變形,不要傻到用關鍵字搜尋,注意是某種 average) 的片段程式碼並予以解說 * 要解決的問題以及該去讀的教材(2): 重作 Q1 和 Q2,包含測試驗證,要討論連續乘法導致的溢位、誤差,和提高精度的方式,不該佔用過多記憶體,尤其避免 O(n) 空間複雜度 (space complexity) * 重新閱讀 https://hackmd.io/@sysprog/binary-representation 並紀錄問題
所見所聞所感
6分 看到了很多人重修了兩次甚至三次持續的吸收知識,而經歷這堂課的上課內容、教材、作業、考試以及期末專題,我發現自身仍然有很多的不足,就如同〈因為自動飲料機而延畢的那一年〉中提到的,當我真正的想要做好時,才發現自身的實做能力非常的不足,沒有學習好數學或是沒有學習好老師的上課教材,等到期末專題真正動手時,才發現資工相關的內容,不是只要會打 code 而已。 在觀看教學影片或是做作業時,知道了自身的不足,就像老師說的不要不懂裝懂,有問題就要誠實面對自己,缺什麼補什麼,這是老師每一堂課都會強調的名言金句,而老師自身也是非常認真的人,因此,到了這時我就會去重新翻看老師的教材,就算是以前學過的,但是既然我作業做不出來且回答不出老師的問題,那就是沒有學習充足,因此我在那一周將bitwise的操作又重新看了一遍,而在一對一討論後,再次閱讀浮點數運算,例如在做期末專題時,為了將棋盤的繪製由核心空間轉移到使用者空間,我用 row major 的方式,將從 ASCII 的輸出轉成 bit 方式輸出的值,以 bitmask 的方式精準地確認是對弈的位置是在棋盤的哪一格,以及為了瞭解 coroutine 如何時坐在專案上,研讀並行程式設計: 排程器原理,以其中的 coro 專案為目標 trace code 詳細了解 setjmp的時機, longjmp 的用途,如何加入到 task 中之後進行 schedule,而這過程又牽扯到了 lab0 中使用的 kernel 雙向串列。
自我評量 (1 ~ 10):
$GEOMEAN = ( 0 )^{1/5} ≈ 3.245 方案 B :\(1 + floor(GEOMEAN) = 1 + 3 = 4\)
