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

版本 b59b90163189aa69e61f67ed64dc2fb5aa9feae4

User/JiggerChuang

Changes from b59b90163189aa69e61f67ed64dc2fb5aa9feae4 to current

---
title: JiggerChuang (莊集)
categories: User
...

# 簡介
* 國立成功大學 資訊工程所 111 級

* GitHub: [`JiggerChuang`](https://github.com/JiggerChuang)

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

* lab0-c: [GitHub](https://github.com/JiggerChuang/lab0-c) / [HackMD](https://hackmd.io/@y8jRQNyoRe6WG-qekloIlA/H1FVg7ZCo)
* fibdrv: [GitHub](https://github.com/JiggerChuang/fibdrv) / [HackMD](https://hackmd.io/@y8jRQNyoRe6WG-qekloIlA/BJL4ZGuyh)

## 期末專題

* semu: [Github](https://github.com/JiggerChuang/semu) / [HackMD](https://hackmd.io/@sysprog/Skuw3dJB3)
* 一對一討論時間
    * 4/26, 5/10
* 啟發

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

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

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

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

## 自我評量 (1 ~ 10)
我給自己 7 分

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