1. 程式人生 > >《自己動手寫作業系統》第2版:簡介

《自己動手寫作業系統》第2版:簡介

    今年剛畢業,從事電商java開發崗位,一直對著需求編碼的話感覺技術長進不會太大,碰巧對作業系統這塊有些許興趣,就想著學習這塊的知識,如果學得好的話看將來能不能轉型成作業系統,系統安全或者c/c++相關的開發人員。

    於是在網上找了很多資料,其實大部分都是理論書,教你一邊實踐一邊學習的其實挺少,然後我又覺得那種很厚的磚頭書不適合入門(雖然很多經典書籍都是很厚的書),反正我買了好多本磚頭書,CSAPP、UNIX環境程式設計、JAVA程式設計思想等,沒一本看的完的······可能我天生就不太喜歡閱讀吧,特別是這種磚頭書。後來查到本《自己動手寫作業系統》,看了下簡介還是挺不錯的,一邊實踐一邊學習,至少那些作業系統的概念、名詞你是實打實的用到的,腦子裡會有個具體的印象,這個印象會跟實際你用到的東西關聯起來,不容易忘。進一步瞭解後發現這本書有第二版《Orange`s 一個作業系統的實現》,於是就想買這本書,可惜已經沒得賣了,只有一些人轉手,但是賣的賊貴,有興趣的同學可以到噹噹、京東或淘寶看看。

    我在京東上買了電子版的,原價好像9塊,但是實際支付了3塊,反正挺便宜的,一趟公交錢,唯一不足的地方就是需要用京東的軟體閱讀,手機版的軟體介面還能接受,就是windows版的很噁心····本來想看看能不能下載下來之後單獨拷貝出來,結果發現不行,網上的做法只有一種:逐頁截圖,想了想還是算了。還有就是我使用虛擬機器來模擬一臺linux的,但是京東的閱讀軟體沒有linux版,所以每次都需要切換出來閱讀,這點有點麻煩。

    介紹一下這本書吧,作者是於淵,看書上他本人的截圖典型的程式設計師····但是喜愛文言文,書中的自述使用文言文的,我也找到了他的github,還是挺厲害的一個人。第一次看的是這本書的第一版,第一版的環境是基於windows的,據他自己說的當時沒怎麼接觸linux,用的windows居多,後來出第二版的時候接觸linux多了,覺得linux很好,就把開發環境全部改為基於linux下了,當然也會相容windows,只不過可能會麻煩一點。所以我就毅然買了第二版。

    閱讀這本書需要哪些知識呢?彙編、C語言、作業系統的常規知識。有了這些知識學起來雖然不說容易,但是遇到小的問題還是能夠自己解決的。之前在學校有開C語言和作業系統的課程,所以就瞭解一些,至於彙編則是在實習的時候工作需要學過一些,那時的參考書籍是《王爽彙編》,還是挺不錯的一本書,淺顯易懂。

    作者奉行的主旨是用到什麼再學什麼,所以遇到什麼問題再去根據實際情況解決吧,比如我一開始安裝相關工具的時候也是什麼都不懂,只能自己到網上搜,一個工具我費了3、4天才裝好。

    以下第二版的目錄截圖,可謂是麻雀雖小,五臟俱全。