分享到plurk 分享到twitter 分享到facebook

版本 1bbcf0ee3086e8d6ea7df74735b2c95740300634

chiangkd (江坤諦)

簡介

  • 國立中央大學 機械工程學系 110 級 (2017-2021)
  • 國立成功大學 機械工程研究所 (2021 ~)
  • GitHub: chiangkd

2023 Linux 核心實作 春季班 自我評量

作業

隨堂測驗

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
  2. 期末專題指派 (rhashtable)

期末專題

所見所聞所感

在進入碩士之前的我完全就是自以為自己會寫程式,進入碩士之後發現差得遠,甚至應該要說自己是完全不會寫程式,在碩二時修計算機結構更大的認識到自己真的爛到爆,而 Linux 核心設計課程又再次讓我認識到這一點,光是第一週的 lab0-c 在動手之前就花費了非常大量的時間在讀書上 (儘管在去年已經有嘗試自己做過練習),第二週開始海量的教材已經讓我不知道該讀哪些東西,在撰寫 fibdrv 時,《Linux Kernel Module Programming Guide》幫了我很多,從一開始連帶有 __init__exit 運作流程都不知道就開始嘗試編譯並掛載核心模組,所以在這過程中當然讓電腦壞掉很多次,回頭看文獻發現自己根本就是在瞎忙亂 try,動手之前根本就沒有好好閱讀文獻或者資料,在課程中花費最多時間的是在 fibdrv 作業中,第一次面談過後老師拋出一個 “可以試著用 hashtable 紀錄已計算過的值”,雖然最後成果並不算顯著,但在這過程中真的認知到自己很多地方都是在不懂裝懂 (隨著課程推進已經早早放棄追逐進度,決定回頭解決不懂裝懂的部份)

自我評量