PTT評價

Re: [問卦] 為什麼作業系統的課不教原始碼

看板Gossiping標題Re: [問卦] 為什麼作業系統的課不教原始碼作者
yueayase
(scrya)
時間推噓 1 推:1 噓:0 →:3

※ 引述《kuangjc5566 (匡匡56)》之銘言:
: 為什麼大學作業系統的課
: 都當成背科在教
: 不教原始碼
: 古早時代不是會教UNIX的原始碼
: 後來UNIX原始碼AT&T要收費
: 就不教原始碼了
: 作業系統課不教原始碼學生能學會嗎?

其實你說的沒錯

只是因為很多教授會希望把恐龍本大部分內容都教完
所以不大可能每一個單元都有project可以做

但通常大學部都會有一些使用fork或是thread的程式作業要做
偶爾也會有一些別的system call API應用的東西要你去學和使用

然後通常不會去教Linux系統的shell script怎麼寫
如果有需要用到 通常就是助教簡介一下
剩下自己看文件學

當然我作業系統也沒學得很好
後來才發現...

與其去修什麼教恐龍本的課程
還不如直接去修這種的:
https://reurl.cc/1XA93m

像是...
讀這本書還比恐龍本還有幫助:
Andrew S Tanenbaum, and Albert S Woodhull, "Operating Systems Design and
Implementation (3rd Edition)"

這個作者寫的另一本Modern Operating Systems
解釋的也比恐龍本好懂...

恐龍本就把一堆東西塞進去
然後解釋的方式很糟
看完只覺得作者只想傳達: 阿就這樣嗄...
我給你實作的pseudo-code你自己理解

真是爛透了...
可是台清交成的研究所考試必用這本
所以為什麼要用這本就只剩下:
考試會考

你們可別看我貼的課程是資科工碩開的
就覺得一定要先修什麼作業系統概論才能修過

這門課最需要的就是C語言的熟練度
一點基本的資料結構概念
以及一點計算機組織的概念

讀Code和寫Code的能力還比較重要
因此,如果作業系統看不懂
大約就是我上面提的那3門瞭解還不夠透徹而已

因此,通常大多數人就是:
等到修這門課再開始學
(只是這樣一周需要的學習時間就會很多...)


而這種課程也不可能帶你把所有Linux的Code都看完
一來沒那麼多時間
二來其實通常是要改東西
你也不可能整個看完才改...

所以我才說就是寫C的能力要夠強,才是能理解Linux作業系統的關鍵...

附帶一提:
我記得國外頂尖大學的作業系統是6學分的課
而課程要求大約就是我連結那個資科工碩的內容
只是他們會有自己的一套教學用作業系統

但想看看台灣的作業系統不過就3學分
助教素質也差很多
所以學不好...
我想正常...


--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.81.177 (臺灣)
PTT 網址
※ 編輯: yueayase (114.47.81.177 臺灣), 02/13/2025 00:33:44

james732 02/13 00:36重要ㄉ是觀念ㄅ寫程式也只是工具而已

是沒錯 但課程不就是在學觀念嗎? 但其實對於系統設計經驗不足的人 只好靠實作經驗去體會 而要能實作 基本的寫Code能力不能太差 不然那種一次數千數萬行的程式 沒基本能力根本改不動 改不動就不容易體會書上在寫什麼

※ 編輯: yueayase (114.47.81.177 臺灣), 02/13/2025 00:40:07

neo5277 02/13 00:40你認真了

donation12 02/13 09:38幫曹老師做課程宣傳XDDD

donation12 02/13 09:38到時候跨校跨系選課變多你就知道了