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

JiggerChuang (莊集)

簡介

  • 國立成功大學 資訊工程所 111 級

  • GitHub: JiggerChuang

2023 Linux 核心設計 春季班 自我評量

作業

期末專題

  • semu: Github / HackMD

  • 一對一討論時間

    • 4/26, 5/10
  • 啟發

    在與老師一對一面談中學到很多參與大型專案要注意的事情,例如 commit message 的寫法,用字要簡潔,但該有的內容都不能少,像是為何要做這筆變更、變更後會有什麼影響、如何驗證這筆變更,還有統一的 coding style 等等,在進行期末專題的期間也順利的發了 Pull Request 到原本的專案中,雖然只是很小的貢獻,但也算是邁出了參與開源專案的第一步。

  • 目前成果

    • 整理系統模擬器所需的背景知識
    • 整理 semu 的運作原理
    • 利用 Buildroot 建構自訂的系統
    • 解決原本模擬器無法正確處理鍵盤輸入的問題

修課心得

在課程開始的前兩周有退選的衝動,一方面是課程本身很扎實,意味著內容非常豐富,要看完都很吃力了,更不用說要看懂,另一方面作業也是不小的挑戰,就以 lab0 來說,作業說明就有好幾頁,我陸陸續續看了接近三天才看完「作業說明」,放在其他課程,作業可能都已經完成了,但作業說明是我這學期學到最多東西的地方,像是如何優化程式、如何用工具 (例如: valgrind) 來檢驗程式、如何對程式做量測並量化 (例如: gnuplot) 等等,認真讀作業說明的話絕對可以得到非常大的收穫。

另外 fibdrv 也是收穫滿滿的一個作業,這是我第一次進行 Linux 核心的開發,一開始怕把系統寫壞,只敢在虛擬機器上做測試,結果真的就把系統寫壞了,在系統死當後只能重新安裝,除了 Linux 核心的開發方式外,還學到很多相關的議題,像是如何降低核心到使用者空間傳輸的負擔等等,其實很多部分還是一知半解,如果有機會還會想再修一次課,好課值得一修再修。

自我評量 (1 ~ 10)

我給自己 7 分

在 fibdrv 作業卡了一段時間,導致中間有一大段課程沒跟上,本來想說等寫完作業後再來補進度,但作業寫完已經是一個多月後的事情了,這也是我覺得可惜想再修一次課的原因,撇除課程進度,在作業跟期末專題上花蠻多心力也有一定的收穫跟成果,因此給自己 7 分。