鄒恒明
首先,本書只是從哲學原理上對操作系統予以闡述。對具體操作系統的實現細節基本忽略不計。而要完全透徹地理解操作系統,這些具體實現細節則不可或缺。事實上,只有親手設計過商業操作系統,或者親手閱讀分析過商業操作系統源代碼的人,對操作系統的掌握才可能真正到位。正因為如此,本書在這里建議讀者:
? 設計一個全功能的操作系統
? 參加Windows、Linux或Solaris課程的學習
? 閱讀分析一個實際的商用操作系統源代碼
如果讀者能夠在理解本書內容的基礎上完成上述三點建議中的任何一點,則對操作系統的理解將大大加深。如果能夠完成上述任何兩點建議,你就是一個操作系統專家了。如果能完成上述三點,則你就是操作系統領域的泰山北斗!
其次,本書覆蓋的內容與有些讀者所期待的操作系統內容并不完全一致。無容置疑,一本書的內容究竟應該包括哪些是見仁見智,而操作系統尤其如此。操作系統從無到有,在經歷了許多年的發展后形成了許多子學科,而這些子學科又進一步發展成為單獨的學科而從操作系統學科中剝離出來。例如:計算機網絡、數據庫系統、計算機安全、分布式計算等。由于這些領域均已經有了自己的課程,它們自然不應再包含在操作系統的教程里。
而就是在操作系統范圍內的內容也不一定需要包括在大學本科的操作系統教程里面。由于操作系統的復雜性,其內容極為豐富,將所有與操作系統關聯的內容包括在一本書里將使得整本書的內容臃腫,關鍵點也將埋沒在繁雜的無關緊要的瑣細里。因此,為了使本書焦點突出,作者僅選擇了對操作系統的核心內容進行講述,其它內容留給讀者自己探索。只要是讀者真正理解本書的內容,在操作系統上進行進一步探索就有了堅實的基礎。
由此可見,設計一個完美的操作系統是多么困難,甚至是無法達到的。這就意味著我們在操作系統上的探索是永無止境的,雖然不時會有達到完美的感覺,但仔細思量卻發現不過是自我幻覺而已。就像真理一樣,似乎能感覺到,但似乎又沒有把握。而本書所要達到的目標就是為讀者探索操作系統提供些許指導,一個路標、指引讀者探索的方向。