版本 dd5ff5a26c0d55a30cfc9f7a64308e0cf5ad6757
JiggerChuang (莊集)
簡介
國立成功大學 資訊工程所 111 級
GitHub:
JiggerChuang
2023 Linux 核心設計 春季班 自我評量
作業
期末專題
一對一討論時間
- 4/26, 5/10
啟發
在與老師一對一面談中學到很多參與大型專案要注意的事情,例如 commit message 的寫法,用字要簡潔,但該有的內容都不能少,像是為何要做這筆變更、變更後會有什麼影響、如何驗證這筆變更,還有統一的 coding style 等等,在進行期末專題的期間也順利的發了 Pull Request 到原本的專案中,雖然只是很小的貢獻,但也算是邁出了參與開源專案的第一步。
目前成果
- 整理系統模擬器所需的背景知識
- 整理 semu 的運作原理
- 利用 Buildroot 建構自訂的系統
- 解決原本模擬器無法正確處理鍵盤輸入的問題
修課心得
在課程開始的前兩周有退選的衝動,一方面是課程本身很扎實,意味著內容非常豐富,要看完都很吃力了,更不用說要看懂,另一方面作業也是不小的挑戰,就以 lab0 來說,作業說明就有好幾頁,我陸陸續續看了接近三天才看完「作業說明」,放在其他課程,作業可能都已經完成了,但作業說明是我這學期學到最多東西的地方,像是如何優化程式、如何用工具 (例如: valgrind) 來檢驗程式、如何對程式做量測並量化 (例如: gnuplot) 等等,認真讀作業說明的話絕對可以得到非常大的收穫。
另外 fibdrv 也是收穫滿滿的一個作業,這是我第一次進行 Linux 核心的開發,一開始怕把系統寫壞,只敢在虛擬機器上做測試,結果真的就把系統寫壞了,在系統死當後只能重新安裝,除了 Linux 核心的開發方式外,還學到很多相關的議題,像是如何降低核心到使用者空間傳輸的負擔等等,其實很多部分還是一知半解,如果有機會還會想再修一次課,好課值得一修再修。