版本 1bbcf0ee3086e8d6ea7df74735b2c95740300634
chiangkd (江坤諦)
簡介
- 國立中央大學 機械工程學系 110 級 (2017-2021)
- 國立成功大學 機械工程研究所 (2021 ~)
- GitHub:
chiangkd
2023 Linux 核心實作 春季班 自我評量
作業
隨堂測驗
1 對 1 討論時間
2023年3月29日 (週三) 下午9點 - 下午9:30
- commit message 寫的很差,例如在實作 fast doubling 後應該 commit message 提及其效益
__copy_to_user執行時間並不是嚴格的線性關係 (cache miss, page fault)- (fibdrv)嘗試使用 hash table 保存已計算過得 Fibonacci 數
- 問了關於為何不該在虛擬機器進行實驗的問題,
perf會去呼叫 PMU (共用硬體下的時間量測沒有參考價值),在效能分析中的間接記憶體存取 (type-2 hypervisor) 會大幅影響效能只是其中一個問題
2023年5月5日 (週五) 下午10點 - 下午10:30
- commit message 還是很差,善用
git rebase進行修正並詳閱 How to Write a Git Commit Message - 期末專題指派 (rhashtable)
期末專題
所見所聞所感
在進入碩士之前的我完全就是自以為自己會寫程式,進入碩士之後發現差得遠,甚至應該要說自己是完全不會寫程式,在碩二時修計算機結構更大的認識到自己真的爛到爆,而
Linux 核心設計課程又再次讓我認識到這一點,光是第一週的 lab0-c
在動手之前就花費了非常大量的時間在讀書上
(儘管在去年已經有嘗試自己做過練習),第二週開始海量的教材已經讓我不知道該讀哪些東西,在撰寫
fibdrv 時,《Linux Kernel Module Programming
Guide》幫了我很多,從一開始連帶有 __init 及
__exit
運作流程都不知道就開始嘗試編譯並掛載核心模組,所以在這過程中當然讓電腦壞掉很多次,回頭看文獻發現自己根本就是在瞎忙亂
try,動手之前根本就沒有好好閱讀文獻或者資料,在課程中花費最多時間的是在
fibdrv 作業中,第一次面談過後老師拋出一個 “可以試著用 hashtable
紀錄已計算過的值”,雖然最後成果並不算顯著,但在這過程中真的認知到自己很多地方都是在不懂裝懂
(隨著課程推進已經早早放棄追逐進度,決定回頭解決不懂裝懂的部份)
