## 簡介 - 國立成功大學 資訊工程研究所 (2021/09 ~ Now) ## 2022 Linux 核心設計 春季班 自我評量 ### 作業共筆 - lab0-c: [GitHub](https://github.com/jj97181818/lab0-c) / [HackMD](https://hackmd.io/@jj97181818/linux2022-lab0) - fibdrv: [GitHub](https://github.com/jj97181818/fibdrv) / [HackMD](https://hackmd.io/@jj97181818/fibdrv) ### 測驗共筆 - quiz2: [HackMD](https://hackmd.io/@jj97181818/linux2022-quiz2) - quiz3: [HackMD](https://hackmd.io/@jj97181818/linux2022-quiz3) ### 期末專題 - 改進 lab0-c: [GitHub](https://github.com/jj97181818/lab0-c) / [HackMD](https://hackmd.io/@jj97181818/linux2022-lab0) - 一對一討論紀錄: - 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 分。