對操作系統的理解

         前幾天讀了《走出軟件作坊》中“沙塵暴-令人焦慮的技術時代”一章,作者對於技術的深刻理解和掌握,讓我收穫頗豐。

         在大學學習《操作系統原理》後,對操作系統的理解是一個提供屏蔽硬件細節的軟件層面,讓其他軟件可以在這個軟件層面基礎上更好地工作,而不需要讓每個應用都直接控制硬件,否則軟件開發就太困難了。

         所以,操作系統給他們提供了非常多的API,讓我們通過這些API來間接訪問硬件資源。而且現在操作系統把API包裝的越來越高級,過去需要幾個API配合才能完成的功能,現在一個API就可以搞定。尤其現在的API更偏向應用,而不是僅僅把硬件功能包裝一下。現在的.NET平臺提供了豐富的如網絡、文件、搜索、安全、數據訪問等各種API包,讓我們開發起簡直可以說有飛速的變化。不由感嘆現在的程序員太幸福了,現在有高級的API,有功能強大的IDE,可以可視化開發,還能自動完成代碼,代碼檢查。

        但是,現在我對操作系統的認識有了不同,這些認識的改變,最主要還是來自於我對COM,對JAVA JVM以及 .NET VM的理解。    

        過去沒有接觸過組件、中間件的時候,是一個開發語言打天下,眼中只有windows。但是現在組件、中間件、跨平臺虛擬機使之發生了改變。

        現在的硬件有很多,大的有服務器,小的有PC和筆記本電腦,再小的還有智能手機和PDA,再往小的說就是數碼設備,家電、醫療設備、交通設備、汽車、數控機牀。這些都需要軟件來驅動硬件,當然這些基礎軟件都可稱作是操作系統。

         我們不需要關心是針對什麼硬件開發,我們有統一的開發工具,統一的編碼工具,統一的API、統一的數據存取技術、統一的數據交換技術,而且我們的用戶也不關心我們使用了什麼技術,也不關心我們是把他想要的功能分割成怎麼樣的系統,他只想完成他的工作而已,功能對他來說是重要的,對於屬於哪個系統,他是不關心的。

          這樣,操作系統和應用就出現了一個情況:一個硬件(可能是PC,可能是手機,也可能是PSP)被一個軟件控制(不是硬件驅動程序),然後其上就可以開發應用。而這個軟件,就是一般意義上的操作系統,但可能不具備操作系統的形。

           我們目前看到的JAVA和.NET的虛擬機都是這樣的原理。而Vista這個大家都普遍認爲的操作系統,其實質就是建立在.NET的引擎之上。大家這樣看,Vista居然成爲了.NET的一個應用軟件。

            未來會如何?未來可能不需要Vista這樣龐大的什麼都包含的操作系統,而會走向微內核(聽說windows正在研發採用這種方式) 假如成爲微內核,對着.NET和JAVA開發,我們的應用其實就是一個個的功能,一個個的功能運行在.NET這個容器中,.NET控制功能的內存分配、回收、線程調度、異常保護、持久化。

           

           爲了和其他遠程的功能交互,我們把自己的用的功能用webservice包裝一下,遠程的功能也用webservice包裝一下,這樣,這兩個功能都採取了HTTP、XML、Web Service這些中立的通用技術來進行數據存取和功能訪問。我們無須知道對方的功能在哪個IP,也無須知道對方的功能是用什麼語言開發的,運行在什麼設備上,什麼操作系統,什麼中間件,我們都不需要了解,我們只需要一個URL地址來訪問這些Web Service即可。

           這不就是Open API,這不就是SOA嗎?

           這就是這些新技術的原理和初衷。一個操作系統只是應用的宿主,而一個虛擬機也是一個應用的宿主,也是一個應用而已。我們的功能就是一個個的功能,可以被任何一個外部應用所調用,就類似Windows API一樣。千萬個功能來回組合,就組成了各種各樣變化萬千的應用和解決方案。這就是未來。我們無須製造這系統那系統,我們只需製造一個個功能,一個個可以被獨立訪問的功能,提供給別人使用,就類似我們在博客上掛一個Google的廣告和自己城市的天氣預報,這些都是一個個的功能,Yahoo和Facebook稱它們爲Widget或小應用。Facebook之所以如此被追捧,因爲他在上面有很多應用。

             我們需要操作系統嗎?我們能感受到操作系統嗎?我們打開瀏覽器,登上Facebook,然後使用功能,這些功能都在互聯網上,我們完全感覺不到是我們本地的操作系統在渲染我們的網頁元素,在緩衝頁面,在調度資源。

操作系統回走向何方,會“消失”的讓我們感覺不到嗎?

 

            這就是我關注的操作系統的兩個方向,一個是越來越小的操作系統,甚至消失在JAVA和.NET平臺之中,一個是越來越大,甚至蓋過操作系統,通過互聯網把全球的計算設備都連在一起的雲計算。它們看起來好像是再世界的兩極,卻有如此的融合。

        不要被五彩繽紛,更新飛速的技術所迷惑,每個技術都是自己的背後,要看透技術的背後~!

發佈了3 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章