--- title: marsh-fish (俞鑫昌) categories: User ... # 簡介 * 國立中山大學 資訊工程研究所 * GitHub: [`marsh-fish`](https://github.com/marsh-fish) * HackMD: [`marsh-fish`](https://hackmd.io/@marsh-fish) # 2024 Linux 核心實作 春季班 自我評量 ## 第一項、成果發表和貢獻 評分: 我給自己 6 分 [Fix the example typo patch](https://lore.kernel.org/all/20240628142229.69419-1-zxcvb600870024@gmail.com/T/#u) 在研究 [rbtree.c](https://elixir.bootlin.com/linux/v6.9.6/source/lib/rbtree.c) 的程式碼時,發現了例子錯誤,便順手發了 patch,這也是我第一次發 patch,雖然僅僅是修改例子錯誤,能被接受還是令我相當雀躍。 ## 第二項、作業/隨堂測驗 評分: 我給自己 7 分 Homework1 (lab0) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework1)/[GitHub](https://github.com/marsh-fish/lab0-c) 這份作業中主要在熟悉鍊結串列的操作,也引入的不同 shuffle, sort,雖然測資沒有到滿分但至少有看到卡比。 Homework2 (quiz1+2) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework2) 回顧第一週及第二週的隨堂測驗。 Homework3 (tic-tac-toe) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework1#%E5%BC%95%E5%85%A5-ttt)/[GitHub](https://github.com/marsh-fish/lab0-c) 藉由改寫井字遊戲來熟悉數值系統、bitwise 操作、排程器原理和 Linux 核心的 List API。 Homework4 (quiz3+4) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework4) 回顧第三週及第四週的隨堂測驗。 Homework5 (assessment) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework5) 閱讀〈因為自動飲料機而延畢的那一年〉並寫下心得。 Homework6 (integration) [HackMD](https://hackmd.io/@marsh-fish/linux2024-homework6)/[GitHub](https://github.com/marsh-fish/ksort) 在自己的實體電腦運作 GNU/Linux、閱讀〈Linux 核心模組運作原理〉、閱讀論文 Pattern Defeating Quicksort (pdqsort)。 ## 第三項、期末專題 評分: 我給我自己 10 分。 Linux 核心專題: 紅黑樹實作 [HackMD](https://hackmd.io/@sysprog/HkZcqus8R) 最初我的 TODO 並沒有被明確的寫下來,令我有些不知所措,猶豫半刻後,便決定先把知道的部分做出來,後來,我為了真正的了解紅黑樹,往後的時間我都拿來研讀紅黑樹的相關教材,和 [rbtree.c](https://elixir.bootlin.com/linux/v6.9.6/source/lib/rbtree.c) 的程式碼,也因此讓我有機會修正其中的錯誤,最讓我驚訝的是 TODO 的 extra 內容竟然和我在做的事情一模一樣,這也令我又一次體會到「機會是留給準備好的人」。 ## 第四項、與授課教師的互動 評分: 我給自己 10 分。 與授課教師「一對一討論」的時間為 2024/5/16 15:30。 詳細討論可見[HackMD](https://hackmd.io/@marsh-fish/linux2024-homework5#%E6%83%B3%E6%8A%95%E5%85%A5%E7%9A%84%E5%B0%88%E6%A1%88) 在討論中我問老師浮點數乘以十的運算如何用 bit-wise 的方式實現,老師給了我一些提示並要我現場寫出來,但我當下想不出來,在討論結束後,進一步解析 IEEE 754 的格式,便成功寫出來了,也許就如老師所說,我常常陷入先做再說而未能全面理解我要實作的事物。進行期末專題時,便記起此次的教訓,先理解再實作。 ## 第五項、 所見所聞所感 評分: 我給自己 10 分。 學到的越多不知道的就更多,這趟 Linux 的學習之旅沒有終點,在最一開始接觸的內容,還有一些熟識感,可能在過去有學習過,但越往後越多的是未見過的事物,投入的時間也增加。到了現在,回顧起來,每個禮拜投入的時間不過20個小時,也許是我不夠努力吧,但一路上學習到的東西一言難盡,如同[〈因為自動飲料機而延畢的那一年〉](https://blog.opasschang.com/the-story-of-auto-beverage-machine-1/)的作者,他在做自動飲料機的過程,學到的不只有如何做自動飲料機。往後,我也將繼續精進。 閱讀[〈因為自動飲料機而延畢的那一年〉](https://blog.opasschang.com/the-story-of-auto-beverage-machine-1/) 的心得寫在[HackMD](https://hackmd.io/@marsh-fish/linux2024-homework5#%E6%83%B3%E6%8A%95%E5%85%A5%E7%9A%84%E5%B0%88%E6%A1%88) ## 第六項、每月發給實驗室指導教授的學習回顧 評分: 我給自己 7 分。 到頭來發現我只有寄過一封信,有透過 meeting 的時間讓指導教授明白我的學習狀況,但沒寄信也是事實,便透過此信簡述整體的狀況,因此信中也包括了整個課程的學習回顧。 * 五月發信日期:2024/6/26 23:14 ## 自我總評量得分 自我總評量得分為 9 分。 $\sqrt[6]{6*7*10*10*10*7} = 8.15$ 方案 B:$1+\lfloor 8.15 \rfloor=9$