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

ShawnXuanc (鄭驊軒)

簡介

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

成果發表和貢獻

參與《Demystifying the Linux CPU Scheduler》的修訂,進行 patch 發送。

對應如下:

  • commit 43817dd83a793a2c963cc3c3d60b03a40f85cb83
  • commit 94c631d753a9be7d15871f8c3580956c4a7e852a
  • commit 01b42b105ed9571a50e3703bd5d3db2dab376ac6
  • commit 8447f69f56c3bf7e7f8624589b2b132b65919798
  • commit 8a3cf858339f232d47a2869e936369dbce95e1f0

對於書本的貢獻是這學期最開心的,對於每一次的提交都十分的重視以及慎重, 在這部份我給自己 9 分。

作業/隨堂測驗:

對於作業以及測驗的部分,皆有對其投入在作業 1 的時候學習 linux 風格的鏈結串列、sort, 並搭配使用 git、perf、valgrind,在作業 2, 4 對測驗的檢討,在作業 3 對 corutine 進行了解並搭配 ttt 運行,在作業 5 對閱讀的教材進行紀錄並提問,在作業 6 搭配 LKMPG 的閱讀以及 simrupt 的理解,但是仍有很多需要學習以及加強的地方

我給自己 7 分

期末專題

在期末專題的部份針對 Linux 核心排程器進行研究,包含授課教師撰寫的書籍閱讀,

以及問題的提問並參與書籍的修正,對 EEVDF 論文的研讀,最後使用不同的工具比較排程器行為以及差異。

藉由書籍的閱讀探討 Linux 核心排程器的演進、概念,了解 Cgroup 對於資源進行分配的方式, 並理解排程器的設計、追蹤與實驗。

經這次的專題學習對 patch 的發送,在過程中加強對 git commit 撰寫以及 英文書信的溝通,並對於大型的 LaTeX 專案有更深入的理解。

實驗針對兩個排程器進行比較,在不同的情境下使用不同工具分析其中的差異, 並對排程行為進行視覺化。

期末專題: CPU 排程器研究

在期末專題的部分我認為我有盡我所能的去進行尤其在書籍閱讀的部分,也因為這樣有了一些貢獻的機會, 但是在最後並沒有做的很好,可以進行更多實驗比較以及解讀,並更加深入對各種工具進行了解。

我給自己 8 分

與授課教師的互動:

一對一討論時間: 2024/5/10 8:30-9:00 PM,在一對一討論與授課教師詢問關於中斷的議題,並討論期末專題的進行。

在粉絲專頁與老師進行互動,並回覆老師所詢問的內容 (書本內容)。

使用電子郵件與老師進行溝通,包含 patch 的提交。

我給自己 8 分

所見所聞所感

在課程中可以遇見很多厲害的同學,每次看到大家的成果都會讓我反省自己的不足, 但也藉這樣來激勵自己,從一開始的被大量糾正到慢慢注重一些以前不曾注意到的問題, 過程中的累積都是自己的,在遇到困難時都會讓我想到 〈因為自動飲料機而延畢的那一年〉 中所提到的 “你該學習的不是看到事情要完蛋了就去避免失敗,而是應該學習如何處理與承受失敗”,並勉勵自己堅持下去, 到現在還有很多不足的地方需要加強並勉勵自己繼續精進,最後很慶幸自己在這學期能夠有機會參與課程並持續到現在。

我給自己 8 分

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

進行 4 次的學習回顧報告,與指導教授回報在課程中所學, 日期如下

二月學習回顧 3/5 下午 12:40 回顧第一次作業,包含 git commit 的缺失, 程式碼品質,使用工具查看記憶體錯誤等。

三月學習回顧 4/4 下午 12:35 對第一次作業進行加強,包含 list_sort, 第二次作業的檢討,第三次作業的準備,與實體授課的所見所聞。

四月學習回顧 5/5 下午 1:50 對 3,4 週考試的檢討,主要聚焦在紅黑樹以及 bitwise, 第三次作業的補強,以及再次閱讀教材跟,LKMPG 的閱讀,以及第 6 次作業的準備。

五月學習回顧 6/7 上午 11:25 進行期末的 TODO 事項,書籍的問題紀錄, 與指導教授分享課程期末專題的連結。

針對每一次的學習回顧我皆不馬虎的認真撰寫,藉此來記錄這個月所做的事情, 並提醒自己未做完的部分。

在這部分我給自己 9 分

成績

\((9\times7\times8\times8\times8\times9)^{1/6}\)

方案B 1 + floor(8.13) = 9