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