作者:
yueayase (scrya)
2025-02-13 00:31:54※ 引述《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作業系統的關鍵...