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

User/jj97181818

簡介

  • 國立成功大學 資訊工程研究所 (2021/09 ~ Now)

2022 Linux 核心設計 春季班 自我評量

作業共筆

測驗共筆

期末專題

  • 改進 lab0-c: GitHub / HackMD
  • 一對一討論紀錄:
    • 2022 / 3 / 24
    • 2022 / 5 / 2
    • 2022 / 6 / 18

心得

這堂課剛開學前幾週都盡力將相關教材和影片看完,但是後來發現自己跟不上每週應有的進度,也不確定自己應該先做哪個部分,後來和老師一對一討論之後,結論是去改進 lab0-c,很感謝老師願意花時間給予方向及鼓勵。 回顧以前學習作業系統時,在讀恐龍書就曾學過同步機制,感覺在這堂課又都重新學了一次,像是 mutex 和 semaphore 的差異,其實它們本身要解決的問題就不一樣,mutex 確保同一時間只會讓一個 process 進入 CS,且誰上鎖就得由誰解鎖,semaphore 則是利用 count 紀錄資源數量,來協調多個 producer 和 consumer 能夠共享資源,同時間可以有多個 process 進入 CS,令人意外的是感覺比較複雜的 semaphore 還比 mutex 早出現。 rwlock 則是允許同時多個 reader 在 CS,但 writer 和 reader 不能同時並行,RCU 則解除了這個限制,讓一個 writer 和多個 reader 可以同時並行,因此會用在讀取較頻繁、寫入較少的場景中。 覺得自己還是有成長,雖然幅度可能不像這堂課的其他同學那麼多,但至少還是從這堂課帶了一些東西走,是有收穫的。

自我評量 (1 ~ 10)

覺得自己時間分配地不是很好,其他課程的作業報告和這堂課都攪在一起,勉強給自己 6 分。