為什麼要開發底層作業系統?下文譯至一個日本人寫的文章。挺有意思的。
-----------------------------------------------------------------------
對獨立進行OS開發的人來說,常常會聽到這種意見:
「自己開發OS不是傻B嗎?」
靠・・・。這就像在碰到住在加利福尼亞的老美說:「壽司還是加利福尼亞卷的最好啊。」就認為不爽。由于,OS開發是程式開發中特别有意思的。我想問:「你小子真是知道才這麼說的嗎?」
那麼,OS開發究竟是為什麼這麼有趣嗎?試着總結了一下個人的意見。
1)自己就是創造世界的上帝的那種真正的樂趣
OS的設計者就是上帝。
從什麼都沒有的狀态開始。一點點的創造世界。
不久按自己想法描繪的世界沒變成了現實。
正是"make world"。這不須要材料也不須要道具。甚至不須要電腦。有紙和鉛筆,或是隻在你的腦海裡,也能創造OS這個自己的世界。
比如按一下鍵盤的鍵。
那一瞬間,鍵盤的中斷,核心,排程器,SHELL, 輸出到畫面,全部的代碼都在腦海裡跑了一遍。全部的這一切都做為自己創造的結果被得到。和這個系統融為一體的感覺和駕馭的感覺,這是其它的程式設計是體會不到的。
3)技術的難度和可能性
OS的研究在非常久前就覺得要結束了,可是并不是如此。
因為須要支援不斷更新的硬體和多種環境、OS也不斷的在進步。
OS的技術非常的深奧。還有非常多可能的技術沒有被發掘。對OS的研究決不能滿足。
核心處在使用者的要求和硬體的制約之間,各種各樣的設計制約非常多。
可是,轉換一下視角。核心也能夠說是不受其它軟體的一切幹涉。
那就是說,能夠不被别人的軟體設計制約對核心進行自由的設計。怎麼去做全然是由自己決定。
5)硬體程式設計的魅力
對硬體進行程式設計。有特别的難點。不按規格說的運作。時序和順序的問題,訪問硬體須要非常怪的方法等等。這些麻煩的處理。如自己所想的那樣能控制時,這樣的成就感是難以言表的。
自己寫OS的時候,就是感受到世界上也有和自己為一樣的問題苦惱。然後加以解決的很多優秀的人才。這或許是OS的領域相對來說,研究的曆史比較早的緣故。自己開發OS的場合。跟隻讀一些代碼進行研究的場合相比,别人的核心代碼能早10倍了解。享受100倍的樂趣。
确實由于興趣去開發OS非常花時間。
也早就知道這非常傻。可是,确實「壽司還是鮪魚的腹部最味美」。
當你領教了它的魅力後,就已經不能滿足于加利福尼亞卷了。