【修課心得】作業系統
課程相關
課名:作業系統 Operating Systems
科號:CS 342301
老師:周志遠
課本:教授自編講義
課別:資工系必修
學分:3
涼度:★★(滿分五分,空心代表半分)
甜度:★★★★(滿分五分,空心代表半分)
建議先修課程
計算機結構、計算機程式設計、資料結構。
課程內容/簡介
資工系3大必修之一,介紹作業系統的基本知識,主要講作業系統的基本概念,課程中有實作內容,會在一個很基本的作業系統程式(NachOS)上添加一些功能。
教學進度如下:
- Introduction
- Process & Threading
- Memory
- CPU Scheduling
- Synchronization & Deadlock
- File System & I/O System
上課方式
實體用簡報上課,簡報內容講解非常好,會舉一些例子、概念,通常上課聽一次就會記住,沒聽懂可以下課排隊問老師問題,老師很溫柔非常有耐心。
一般情況下不會錄影,但其實OCW上有約5、6年前的影片,跟現在的上課內容還是一樣,沒有去實體上課只會沒聽到老師偶爾的考試洩題跟失去問問題的機會(完全不鼓勵翹課,去上課真的可以學到很多)。
作業
小組作業,一組2人,需透過ssh連進工作站。有5次作業,4次是Machine Problem,一次是用Pthread library寫平行程式。
作業內容如下:
- MP1: System call
- MP2: Memory management
- MP3: Process Scheduling
- MP4: File System
- Pthread: provider & consumer 問題的改編
作業評分包含實作正確性、Demo、Report。
難度部份前2次MP算簡單,3天內可以完成,後2次MP較難,慢慢做的話抓一個禮拜比較穩。Pthread滿簡單,一天就可以完成。我覺得作業真的有讓我更了解系統架構,也提升了我trace code的能力,會有很多收穫。但如果同時有修BF演算法或其他硬課要仔細考量一下loading。
Demo約15分鐘,2人一起demo但不能幫對方回答問題(意思就是寫作業可以分工,但還是要會對方寫的部分),問題包含實作內容以及trace code,實作內容基本上有寫code、看code都回答得出來,trace code問很詳細,有時候真的會問到些可能需要現場trace code或者真的回答不出來的,有不少人在demo被扣分。
Report則是回答spec中的問題,說明自己實作的內容,但不知道為什麼每次都被扣1、2分,也沒有給理由,雖然只有1、2分但沒給理由就扣分還是有點不知所措,但又只有1、2分要去討價還價也不太好…
考試 && 期末報告
期中、期末各佔33%
考試要求學生對上課內容的真正理解,死背沒有用,最好有任何不懂就問老師,考試就會簡單很多。這樣的考試方式我認為非常有鑑別度,不會的瞎掰也拿不到分數,真正會的能輕易的回答到題目。
考試內容多為要學生說明為何這樣的選擇比較好或者說明OS中的一些概念跟取捨,還有對2種scheme的比較等等,要真正的理解才能回答正確。
對考古嚴格控管,嚴禁外流,學生的validation set非常不夠,期中考寫109考古就很夠,期末考可能要很認真上課,把10年前的考古都看一下才會比較好。
考試平均約在60上下,期中時平均只有55分布很均勻;期末平均有到62但多數成績都在8、90,應該是低分群將平均拉低不少。
因為考試內容不少是開放性的回答,可能助教會有理解錯誤,若學生有疑義可以直接將答案卷跟回答內容拍照,將自己的問題寄信跟老師清楚、詳細說明,若敘述合理都可以要到分,老師非常明理。
要分公平公正,任何題目的放寬、修正都會放在公告內,全體要分標準一致。
問題加分
如果成績在及格邊緣似乎登記問問題可以讓老師考慮調上去,好像本來就過的人問問題與否不會有影響,這點我不太清楚。
期中考後有3次點名,但感覺也不是算進成績內的點名,不知道是不是類似問問題加分的方式。
結論
身為資工系最重要的一堂課,老師教得非常好,可以從這堂課中學到非常非常多。實作很有趣,課程規劃清楚,雖然loading不輕,但規劃良好、感覺得出老師的用心,修起來舒服開心。相比隔壁班GPA較低,但扎實許多。
給分
MP1 5% +
MP2~4 8% +
Pthread 5% +
期中 33% +
期末 33%
= 100%
老師的喜好、個性
老師很溫柔,教學清楚台風非常好,聽聞許多人備考研究所是看老師OS的OCW,由此可知老師教學內容的穩健及優質。
加簽
跟隔壁班一起加簽,似乎2班會協調人數,因此有可能簽這班但最後是到另一班。
開學加簽時2班會有相同的google表單考試,會考一些資料結構、計算機結構的問題,不知道考試內容會不會影響加簽到哪一班。
成績
總成績/班上排名:95.28(A+) 1/130
T分數:60.78(成績是送等第不是送總成績)
成績分布:(依以下成績送等第)
總分 等第 比例
87(含)以上 A+ 20%
83(含)以上 A 34%
77(含)以上 A- 49%
74(含)以上 B+ 54%
72(含)以上 B 59%
67(含)以上 B- 72%
63(含)以上 C+ 76%
60(含)以上 C 80%
54(含)以上 C- 90%
40(含)以上 D 97%
40以下 E 100%










