發表於: 2006-3-9 20:53 [引用] [投訴] [快速回復]
--------------------------------------------------------------------------------
關於BSD系統分析上給大家推薦幾本簡單的基礎書吧,主要集中在體系結構,操作系統理論和C語言及算法上。目的是可以比較輕松的進入*BSD內核分析世界,而不是讓大家拿到什麼證,所以都是很實用的書,或許不適合考試。
另外這些書只是我個人所涉獵的資料,不敢說就很完全,而且我也正在學習BSD系統代碼,所以僅僅說是我個人的意見。老鳥就不用看了(但是歡迎提意見,補充)
由於操作系統是搭建在硬件電路組成的計算機之上,因此
首先推薦的是: <計算機體系結構精髓> 作者Douglas E. Comer 中譯版29.0元
理由:作者是大牛,普渡大學教材,中譯翻譯的不錯,書圖文並茂,淺顯易懂(我可以很負責的說是十分簡單)。這裡可以知道操作系統需要處理的底層設施 如內存,虛擬內存,高速緩存等知識。
適合:僅僅為了閱讀內核而只對底層做稍許了解的朋友。
接著,<計算機系統>(computer system - a programmer's perspective) 作者Randal E. Bryant 我看得是影印版,價格89(有中譯版,聽說譯的不錯,名字好像叫<深入理解計算機系統>
理由:淺顯易懂,甚至顯得有點啰嗦,大量的實例和說明。避免了傳統體系書籍的復雜的數字分析,僅僅從軟件角度審視計算機。個人覺得比較有用的是對匯編的分析,鏈接器分析和優化分析 三部分。
適合程序員閱讀,同樣不適合考試。閱讀內核的朋友,該書虛擬內存一節的講解比較合適。
最後,<計算機體系結構-量化分析> 不多說了,這本書我在壇子裡說過很多次了,不過中譯本被一幫家伙糟蹋了。不過對於研究內核的朋友來說,似乎就沒有上面兩本書有用。
說到操作系統,這個應該是我們的目標吧
首先推薦的是:
現階段只有E版的,等出來了我就去搶一本。不多說了吧,搞BSD不看這本書,book11
接著是 <操作系統概念 第6版>(有中譯本了,而且,美國那邊已經是第7版了) 多厚一本書,55塊錢,不算貴。
理由: 講解比較簡單,而且是操作系統理論領域的經典之一。很多BSD裡面的對象可以在這裡找到理論原型,比如進程,線程模型,調度模型,同步等等。雖然算法可能每個系統如Lin BSD Win不一樣,但是理論都是差不多的。缺點我覺得就是太理論,使得我大概半年之後就忘的差不多了
適合大部分需要了解操作系統的人閱讀,同時也適合考試的人參考。
最後還是那本 吧(有中譯本),雖然過時很多,很多地方用不上了,但是它所描述的OS整體框架還是沒有怎麼變。
適合那些想要快速知道OS是怎麼一回事的朋友。
當然OS方面還有很多書籍可以參考,大都是世界上的經典。
程序設計除了C還是C,沒辦法。
不過在BSD的世界你可以不用去管GCC的那些BT寫法,因為FreeBSD的代碼是用的-std=c99限定的。
K&R 寫的。不要說沒有聽過,否則我勸你轉行了
<數據結構與算法分析> Weiss寫的 20世紀最重要的30本計算機書籍之一,想要徹底搞懂文件系統,想要徹底搞懂存儲管理,想要徹底搞懂進程調度 這些的細節。看吧。
這兩本書同時適合大部分人,不僅適合考試,更適合學習。
以我的經驗看來,熟悉 計算機體系結構精髓 Freebsd的設計與實現 數據結構與算法分析 三本書,理解BSD核心應該問題不多了。