操作系统、体系结构和传奇船长的泰坦级超级旗舰
當我試圖越來越全面的來解決掉系統算法所應考慮的一切問題時,我發現算法復雜度增長帶來的開銷抵消了兼顧到相應狀況所帶來的好處,唯一改變的的是,我的工作量增加了,但性能并沒有提高。從這里,我多少開始認識到計算機科學中作為architecture的這一部分,我們在極致的兩端之間推行一條變動的分界線。但這不像科恩歌里的光之皇冠與暗之暗影的分野,敵對著,極力試圖占領對方的全部的領地。
假定你是一位傳奇船長,誘導已亮,前方凈空,你的戰友注視著你,頻道里是此起彼伏的諸君武運昌隆。你駕駛著泰坦級躍遷到超旗會戰的49星系,現在考驗你指揮藝術的時刻到了,你可以將能量注入你的超級旗艦那令人絕望的護盾中,來抵擋對方主炮源源不斷的轟擊;你也可以將能量注入到你的末日武器中,賜予你視距之內的所有敵艦毀滅性的打擊。但問題是,即使是泰坦級的反物質引擎所能提供的能量也是有極限的,你只能移動你指揮臺上的擋位來將能量分別注入你的主炮與護盾中。
所謂計算機科學architecture的那條分界線就是這樣的你指揮臺上的擋位——你可以將將引擎的能量全部注入你的末日武器中,讓毀滅的炮火凈化一切;你也可以將軟硬件的交界面無限地推向軟件那一端,讓硬件來加速你要做的一切工作;你當然也可以設計出足夠精巧的系統算法來處理你的系統將遇到的一切狀況,并使之最優。但這一切都是有代價的,失去護盾的超旗會在發出生命中最輝煌的一炮后炸成燦爛的宇宙煙花;硬件帶來的極速也導致了難以負擔的成本和極為受限的通用性;而復雜的系統算法,在得出最優解時,自身巨大的開銷也使得優化失去了意義。
相反的,你也可以將引擎的能量全部注入到超旗的護盾中,成為戰場中無法逾越的鐵壁;你也可以將軟硬件的交界面無限地推向硬件那一端,只留下最為通用的計算單元(如單一指令計算機),用軟件工程來解決一切問題;自然你也可以使用最簡單的算法來處理操作系統的一切調度,雖然遠非最優,但是開銷很小。這一端的解決方案并不那么極端,不會帶來不能承受的代價與風險,有時甚至可以作為可接受的可行解,只是這樣的一切未免太過無趣;你駕駛著泰坦,整個伊甸星團科學與工程學的最高結晶,星海霸權的象征,你卻把它當作護盾發生器來使用;單一指令固然簡潔,OISC也有其合理性,只是除了增加運算單元以外,我們再也無法改進太多了;最簡單的系統算法開銷固然小,但在條件許可的情況下,我們仍想兼顧安全、公平與效率,并且堅信克制而合理的改進能使得系統的性能改進。
如果不做程序員的話,我也許會做小說家、搞晶體物理或者當摩托車維修師傅;但如果生在伊甸的話,我應該會是克隆人飛行員;諸君,誘導已亮,前方凈空,允許折躍;祝期末順利,武運昌隆。
總結
以上是生活随笔為你收集整理的操作系统、体系结构和传奇船长的泰坦级超级旗舰的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单亲家庭父子的理财通信
- 下一篇: 感觉编程还是需要逐渐熟练的技术工种吧,分