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

版本 ac9f4212ab02183e96f95eaedb88ceeaf9a3e293

User/jj97181818

Changes from ac9f4212ab02183e96f95eaedb88ceeaf9a3e293 to c64108973d00b70dd5e1c9dc88cb527780acbd90

## 簡介
- 國立成功大學 資訊工程研究所 (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 分。