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

版本 7408f83954241f74b0776e451213c11a6d40f68c

User/marsh-fish

Changes from 7408f83954241f74b0776e451213c11a6d40f68c to current

---
title: marsh-fish (俞鑫昌)
categories: User
...

# 簡介
* 國立中山大學 資訊工程研究所

* GitHub: [`marsh-fish`](https://github.com/marsh-fish)
* HackMD: [`marsh-fish`](https://hackmd.io/@marsh-fish)

# 2024 Linux 核心實作 春季班 自我評量
## 第一項、成果發表和貢獻
評分:   
我給自己 6 分

在研究 [rbtree.c](https://elixir.bootlin.com/linux/v6.9.6/source/lib/rbtree.c) 的程式碼時,發現了例子錯誤,便順手發了 patch,這也是我第一次發 patch,雖然僅僅是修改例子錯誤,能被接受還是令我相當雀躍。
[Fix the example typo patch](https://lore.kernel.org/all/20240628142229.69419-1-zxcvb600870024@gmail.com/T/#u)
[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,雖然僅僅是修改例子錯誤,能被接受還是令我相當雀躍。


## 第二項、作業/隨堂測驗
評分:   
我給自己 10 分
我給自己 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 分。

題目:研究紅黑樹: https://hackmd.io/@sysprog/rJbMiW3S3 紀錄問題並重現實驗 + extra [HackMD](https://hackmd.io/@marsh-fish/B1jj9GhSC)
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)

## 第六項、每月發給實驗室指導教授的學習回顧

評分:   
我給自己 10 分。 
我給自己 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$