---
# System prepended metadata

title: 2025q1 Homework5 (assessment)
tags: [linux2025]

---

# 2025q1 Homework5 (assessment)
contributed by < `yy214123` >

## 前 6 週學習狀況
和去年修課的我相比，我覺得我今年有所成長，去年太心浮氣躁了，看到每份教材都非常長篇幅，點開後裡面還有超連結導向另一份教材，當時實在沒有很用心的去把它們好好看完，雖然今年還是一直在追逐教材進度，但我覺得現在有耐心許多，面對各個專案，我更願意花心思去好好閱讀註解，也從閱讀註解的過程中發現某些錯誤之處，並一一發 pull request 去將其完善。

**lab0-c**
> [lab0-c #218](https://github.com/sysprog21/lab0-c/pull/218)
> [lab0-c #219](https://github.com/sysprog21/lab0-c/pull/219)

**ttt**
> [ttt #42](https://github.com/jserv/ttt/pull/42)
> [ttt #43](https://github.com/jserv/ttt/pull/43)

這是印象最深刻的貢獻，沒想到只是把兩行程式碼對調就有很多東西要考量，但也獲益良多。同時也顯現出認真看教材的重要性，雖然只是簡單的對調，但背後卻涉及了記憶體相關的議題，而設計實驗也在這次學到很多，不只要公平還需要考量很多情境。而我發現溝通也是很重要的一件事，我當時直接把 comment 當成 hackMD ，把所有實驗都附上，向授課老師詢問後，其實並不需要這麼做，而是將可以呈現出差異的部份附上就好。

**kxo**
> [kxo #11](https://github.com/sysprog21/kxo/pull/11)
> [kxo #20](https://github.com/sysprog21/kxo/pull/20)

**Demystifying the Linux CPU Scheduler**
> 對書籍中錯字及文法錯誤部份提出了 8 次修正。
> 詳細的修改可參考 [Demystifying the Linux CPU Scheduler 筆記](https://hackmd.io/MSOt2hTuTK-YXj3BWQoOVQ#%E6%9B%B8%E6%9C%AC%E5%95%8F%E9%A1%8C)。

### 上課互動
這算是本學期加入的新上課制度，需要在課堂上有互動才能將隨堂測驗的分數納入總成績（雖然就算納入了目前還是 0 分），而課堂互動通常從測驗結束後馬上進行，但就像下面隨堂測驗回顧所說，我一題就要想兩三天，如果要對測驗進行互動我也不知道該討論些什麼，因為當下完全沒看懂。

目前著重於閱讀授課老師撰寫的排程器書籍，若下幾週的課有討論到這個部份，我會勇於舉手參與討論。

* 第一次互動 4/25 直播
* 第二次互動 5/8 直播
### 一對一面談
目前進行了四次的面談：
* 2025 4/16
    * 暫定期末專題方向與排程器有關，先以授課老師所撰寫的排程器書籍起手。
* 2025 4/21
* 2025 5/2
    * 進行排程器第七章相關實驗。
* 2025 5/9

## 隨堂測驗和作業回顧
### 作業
#### 第一份作業
> [2024](https://hackmd.io/@yy214123/linux2024-homework1)
> [2025](https://hackmd.io/@yy214123/linux2025-homework1)

我的比較對象是去年的自己，我認為 commit message 的部份是進步比較多的，回顧去年對指定佇列相關的更新簡直是慘不忍睹，所以英文寫作能力真的很重要，如何用更短的篇幅及更精簡的文字去對相同的事進行描述，這是值得培養的技巧，因為很多東西不是只寫給自己看的，往往會被許多人檢視。

寫程式的部份，我覺得這是經驗值的累積，我算是去年接觸這門課才開始學習寫 C 語言，去年光是指定的佇列操作就花費了相當多的時間，今年的此份作業大致上沒有變動，可能腦袋變靈光一點了，完成相關的實作快了許多，也知道如何善用 Linux 核心風格的 API 來輔助。

實驗設計的部份，當時對這個沒有概念，光是測試資料的準備就遇到了非常大的問題。缺什麼補什麼，在這中間我去上了開放式的統計課程，把這些我以前忽略但非常重要的知識補齊，今年在相關實驗的設計我認為進步了許多。

#### 第二份作業

### 隨堂測驗
去年會嘗試將測驗題目貼到 chatGPT ，不敢說它能保證答案全部正確，但至少有 50% 的可以回答出來，今年我嘗試完全不依賴它，結果分數非常慘，除了第五週考紅黑樹相關有回答出來，其餘基本上都是 0 分，自己檢討後我覺得我在看程式碼、理解程式碼，並在有限的時間去推敲出相關功能，這部份的能力還是非常欠缺，還是得條列式的從頭一行一行看才有機會自己想出答案是什麼，往往一個測驗題就得花上兩三天才有辦法知道缺空處該填什麼，但我不知道要怎麼加強這一塊。

自己對比兩種方式，靠 chatGPT 或許可以拿不錯的分數，但真的缺少了自己思考的過程，我覺得這是很大傷害。所以我還是會維持現在的模式，試著靠自己去解決問題，畢竟在大語言模型還沒氾濫的年代，前輩們也是這樣去解決問題，我認為這樣雖然費時，但對於腦袋的訓練是有莫大的幫助，知識才容易變成自己的。

印象深刻的是 [第三週測驗二](https://hackmd.io/@sysprog/linux2025-quiz3#%E6%B8%AC%E9%A9%97-2)，這甚至是我去年度的期末專題，對應該測驗的舉例甚至是去年自己寫的 [筆記](https://hackmd.io/@sysprog/rkt-cdRrC)，考試的當下卻還是答不出來，這也代表去年沒有真的把這東西搞懂。

## 閱讀〈[因為自動飲料機而延畢的那一年](https://blog.opasschang.com/the-story-of-auto-beverage-machine-1/)〉的啟發
[2024 心得](https://hackmd.io/MNCHq6swQEeU8dD_taPoDg#%E9%96%B1%E8%AE%80%E3%80%88%E5%9B%A0%E7%82%BA%E8%87%AA%E5%8B%95%E9%A3%B2%E6%96%99%E6%A9%9F%E8%80%8C%E5%BB%B6%E7%95%A2%E7%9A%84%E9%82%A3%E4%B8%80%E5%B9%B4%E3%80%89%E7%9A%84%E5%95%9F%E7%99%BC)

去年閱讀這篇的時候只覺得是一篇勵志的文章，回過頭來看當時的心得，我僅紀錄一些文章中不錯的句子去自我省思。或許是我中間出了幾次國，自己的心境上發生了一些變化，也偶然間也冒出了一點創業的 idea，所以再次閱讀這邊文章後，整個感受大幅改變了。

我覺得要樂於去觀察，無論是什麼面向。書中的作者也是跟飲料店合作過，進行飲料 DIY 網站的架設，才有了自動飲料機這個 idea。姑且不論結果好或壞，我覺得過程是很重要的一環。不斷的重複「設計、製造、修正」的循環，我認為這不只應用於軟硬體的設計上，這觀念也充斥在很多方面。

文章作者在冰塊比例的分配遇到的難關，一開始想用碎冰的方式去解決，但回到了實際經營飲料店的老闆身上，或許是考量到碎冰融化很快，在炎熱容易使飲料的濃度快速變淡。

解決了冰塊又有新的問題產生，因為果糖的黏性太高，導致購買的蠕動泵毫無用武之地，之後又找到了果糖機的廠商，由冰塊機跟果糖機的過程，我理解到了未必什麼東西都要靠自己硬幹，有時候努力尋找現成的資源，不僅成本更低也能更快解決問題。應該花更多時間在處理整個主體上。

「該學習的不是看到事情要完蛋了就去避免失敗，而是應該學習如何處理與承受失敗，你才能變得比以前更強大。」

雖然在做事情的時候大家都希望能夠達到完美的結果，但有時候實際情況並不如預期，付出的努力不一定會獲得相應的回報。但在這個過程中，他卻獲得了許多寶貴的學習經驗。與不同的人合作與溝通，這些都成為了他技能的積累。未來在面對其他挑戰時，他在飲料機上所獲得的學習經歷和教訓，或許對他處理事情和解決問題會帶來極大的幫助。