天天看點

作業系統開發的樂趣

為什麼要開發底層作業系統?下文譯至一個日本人寫的文章。挺有意思的。

-----------------------------------------------------------------------

對獨立進行OS開發的人來說,常常會聽到這種意見:

「自己開發OS不是傻B嗎?」

靠・・・。這就像在碰到住在加利福尼亞的老美說:「壽司還是加利福尼亞卷的最好啊。」就認為不爽。由于,OS開發是程式開發中特别有意思的。我想問:「你小子真是知道才這麼說的嗎?」

那麼,OS開發究竟是為什麼這麼有趣嗎?試着總結了一下個人的意見。

1)自己就是創造世界的上帝的那種真正的樂趣

OS的設計者就是上帝。

從什麼都沒有的狀态開始。一點點的創造世界。

不久按自己想法描繪的世界沒變成了現實。

正是"make world"。這不須要材料也不須要道具。甚至不須要電腦。有紙和鉛筆,或是隻在你的腦海裡,也能創造OS這個自己的世界。

比如按一下鍵盤的鍵。

那一瞬間,鍵盤的中斷,核心,排程器,SHELL, 輸出到畫面,全部的代碼都在腦海裡跑了一遍。全部的這一切都做為自己創造的結果被得到。和這個系統融為一體的感覺和駕馭的感覺,這是其它的程式設計是體會不到的。

3)技術的難度和可能性

​​OS​​的研究在非常久前就覺得要結束了,可是并不是如此。

因為須要支援不斷更新的硬體和多種環境、OS也不斷的在進步。

OS的技術非常的深奧。還有非常多可能的技術沒有被發掘。對OS的研究決不能滿足。

核心處在使用者的要求和硬體的制約之間,各種各樣的設計制約非常多。

可是,轉換一下視角。核心也能夠說是不受其它軟體的一切幹涉。

那就是說,能夠不被别人的軟體設計制約對核心進行自由的設計。怎麼去做全然是由自己決定。

5)硬體程式設計的魅力

對硬體進行程式設計。有特别的難點。不按規格說的運作。時序和順序的問題,訪問硬體須要非常怪的方法等等。這些麻煩的處理。如自己所想的那樣能控制時,這樣的成就感是難以言表的。

自己寫OS的時候,就是感受到世界上也有和自己為一樣的問題苦惱。然後加以解決的很多優秀的人才。這或許是OS的領域相對來說,研究的曆史比較早的緣故。自己開發OS的場合。跟隻讀一些代碼進行研究的場合相比,别人的核心代碼能早10倍了解。享受100倍的樂趣。

确實由于興趣去開發OS非常花時間。

也早就知道這非常傻。可是,确實「壽司還是鮪魚的腹部最味美」。

當你領教了它的魅力後,就已經不能滿足于加利福尼亞卷了。

繼續閱讀