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

marsh-fish (俞鑫昌)

簡介

2024 Linux 核心實作 春季班 自我評量

第一項、成果發表和貢獻

評分:
我給自己 6 分

Fix the example typo patch 在研究 rbtree.c 的程式碼時,發現了例子錯誤,便順手發了 patch,這也是我第一次發 patch,雖然僅僅是修改例子錯誤,能被接受還是令我相當雀躍。

第二項、作業/隨堂測驗

評分:
我給自己 7 分

Homework1 (lab0) HackMD/GitHub

這份作業中主要在熟悉鍊結串列的操作,也引入的不同 shuffle, sort,雖然測資沒有到滿分但至少有看到卡比。

Homework2 (quiz1+2) HackMD

回顧第一週及第二週的隨堂測驗。

Homework3 (tic-tac-toe) HackMD/GitHub

藉由改寫井字遊戲來熟悉數值系統、bitwise 操作、排程器原理和 Linux 核心的 List API。

Homework4 (quiz3+4) HackMD

回顧第三週及第四週的隨堂測驗。

Homework5 (assessment) HackMD

閱讀〈因為自動飲料機而延畢的那一年〉並寫下心得。

Homework6 (integration) HackMD/GitHub

在自己的實體電腦運作 GNU/Linux、閱讀〈Linux 核心模組運作原理〉、閱讀論文 Pattern Defeating Quicksort (pdqsort)。

第三項、期末專題

評分:
我給我自己 10 分。

Linux 核心專題: 紅黑樹實作 HackMD

最初我的 TODO 並沒有被明確的寫下來,令我有些不知所措,猶豫半刻後,便決定先把知道的部分做出來,後來,我為了真正的了解紅黑樹,往後的時間我都拿來研讀紅黑樹的相關教材,和 rbtree.c 的程式碼,也因此讓我有機會修正其中的錯誤,最讓我驚訝的是 TODO 的 extra 內容竟然和我在做的事情一模一樣,這也令我又一次體會到「機會是留給準備好的人」。

第四項、與授課教師的互動

評分:
我給自己 10 分。

與授課教師「一對一討論」的時間為 2024/5/16 15:30。

詳細討論可見HackMD

在討論中我問老師浮點數乘以十的運算如何用 bit-wise 的方式實現,老師給了我一些提示並要我現場寫出來,但我當下想不出來,在討論結束後,進一步解析 IEEE 754 的格式,便成功寫出來了,也許就如老師所說,我常常陷入先做再說而未能全面理解我要實作的事物。進行期末專題時,便記起此次的教訓,先理解再實作。

第五項、 所見所聞所感

評分:
我給自己 10 分。

學到的越多不知道的就更多,這趟 Linux 的學習之旅沒有終點,在最一開始接觸的內容,還有一些熟識感,可能在過去有學習過,但越往後越多的是未見過的事物,投入的時間也增加。到了現在,回顧起來,每個禮拜投入的時間不過20個小時,也許是我不夠努力吧,但一路上學習到的東西一言難盡,如同〈因為自動飲料機而延畢的那一年〉的作者,他在做自動飲料機的過程,學到的不只有如何做自動飲料機。往後,我也將繼續精進。

閱讀〈因為自動飲料機而延畢的那一年〉 的心得寫在HackMD

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

評分:
我給自己 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\)