軟件在3C上“漫游”
來源:用戶上傳
作者:
楊維康
1982年畢業于清華大學計算機系,1983年赴日本留學,獲得東京大學博士學位并從事博士后研究。曾從事并行計算機系統結構的研究,研制了高速硬件排序VLSI、大規模并行高速數據庫處理機及高速數據交換網絡等。2000年參與創建科泰世紀公司,主持嵌入式應用系統的研究與開發?,F任清華大學操作系統與中間件技術研究中心主任。
3C融合概念的提出已有多年,隨著相關技術的發展,計算機、通訊與消費類電子的結合已經開始發生在我們的身邊。3G移動通信正在成為現實,手機的功能已遠遠不局限于通話。同時,數字電視正在向我們走來。人們可以用手機或數字電視來玩游戲,也可以通過它們讀文件。數字電視可以用來撥打可視電話,手機也可以用來看電視,它們之間的界限已經變得越來越模糊。
內容和傳輸的數字化、網絡的寬帶化是3C融合的重要基礎。當以消費類產品出現的智能手機、數字電視等終端逐步普及的時候,未來各種各樣的增值服務和運營將會創造更大的商業機會,軟件將起到更深層次的推動作用。
軟件“漫游”的需求
在互聯網發展史上,瀏覽器技術極大地推動了互聯網的發展。互聯網和PC屬于硬件的范疇,而瀏覽器則是一種互聯網軟件平臺,用戶只需要點擊鼠標,就可以輕松進入任何一個網站,不需要知道這個網站是否在地球的另一端。
但軟件還離不開用戶安裝與維護。實際上,消費類電子用戶并不需要理解“Word”、“MP3或MPEG4解碼器”之類軟件的概念,他們想做的就是編輯文件、聽音樂、看電影,或者玩游戲,他們看到的是某種“功能”,而啟動這一功能應該僅僅像鼠標點擊一樣,不必關心自己的終端上是否安裝了該軟件。
操作系統是軟件的運行平臺。把傳統計算機的軟件運行平臺“縮小”到消費類電子設備上的是難以成功的。
業內近來提倡“軟件作為服務”的根本原因就是為了解決“3C融合”問題。比如用戶玩游戲,背景音樂是MP3,或者一段故事情節短片是MPEG4,則相應的MP3或MPEG4解碼器被自動激活,如果本地終端沒有該解碼軟件,一個類似瀏覽器的軟件運行平臺會自動將其下載并啟動。軟件作為服務的概念是指在網絡環境下計算機軟件之間協同工作的一種新的運算模式,雖然解碼軟件還存在,但一切都按需啟動,用戶不再需要自己“安裝”。3C時代離不開第三代互聯網技術(Web服務),需要新一代軟件運行平臺的支撐,必須由繼瀏覽器技術之后的新技術來推動。
軟件“漫游”的理論模型
傳統的馮?諾伊曼計算機體系結構中,存儲體系是由寄存器、內存、硬盤等組成,前者是后者的緩存,編程與不同存儲層次間的連接技術無關?,F在,連接在網絡上的計算機的硬盤可以看成是互聯網上存儲信息的緩存。前沿的Web服務技術成果已經表明,TCP/IP等屬于連接硬盤與互聯網存儲層次的技術,與網絡時代的編程模型無關。
馮?諾伊曼曾提出“程序就是數據”的原則。瀏覽器在10年前給我們帶來了一場信息共享“平民化”的革命,但那場革命并不徹底?,F在我們通過瀏覽器只能看網頁,不能玩游戲,因為程序必須安裝在本機的硬盤上才能執行。瀏覽器模型里程序與數據的不等價性,必將導致互聯網時代的第三次浪潮:當計算機無法在硬盤上找到所需的應用程序時,也應該完全可以從網絡上進行搜索、加載到內存,就像瀏覽網頁一樣,這個加載、刪除過程對用戶完全自動、透明。
在HTML里嵌入URL是瀏覽器技術的關鍵。如果我們在計算機可執行代碼的DLL里嵌入URL,我們就可以在網絡意義下實現“程序是數據”原則。這就是網絡計算機。這個觀點現在還沒有被普遍認可,但是微軟的.NET、Sun的Java,以及上??铺┦兰o科技有限公司開發的Elastos操作系統,都實現了程序“點擊運行”的編程模型。中國自主知識產權的技術在擴展馮?諾伊曼原則這一挑戰中走在了世界前列。
軟件運行的新思路
程序雖然也是數據集和,但是它們畢竟要下載到智能設備上運行,而HTML網頁之類的數據文件是不會自己運行的。因此,要想點擊運行程序,我們首先必須解決四個問題:
第一,使用URL對程序模塊在互聯網上進行定位。當用戶點擊某個軟件,系統會先檢查本地“緩存”是否已有該模塊的拷貝。如果本地有,就直接加載運行,否則將通過互聯網命名服務器機制(DNS)對URL解析,下載該模塊并加載運行。
第二, 這些程序模塊必須包含“自描述”信息,比如:對運行環境的要求、生產商標識、數字簽名、接口信息、函數名稱以及參數類型等。
第三, 軟件的運行平臺根據自描述信息對軟件模塊進行連接、適配,提供運行環境。運行環境可被稱為“容器”,有些容器能隔離病毒,有些容器負責程序遠程執行,也有一些可以自動完成事務處理、同步、負載均衡等特殊程序運行的要求。
第四,容器也是軟件模塊(或者叫軟件構件),可以由用戶自行定制。傳統的操作系統一般沒有“容器”的概念,更沒有用戶訂制“容器”的概念。
“容器”的概念也提供了更為靈活的增值運營服務模式。例如交了包月費的手機用戶,中國移動就可能給他一個可以免費玩游戲的容器。游戲跑在這個免費容器里就不會產生額外的支出,否則他可能要為每次的運行付出代價。
3C時代的網絡軟件運行平臺
Windows和Linux等傳統操作系統都在不同程度上受到上世紀70年代面世的UNIX的深刻影響,比如它們都是基于硬盤文件系統,用進程的概念對應程序的運行,用文件模型抽象驅動程序。這樣它們不支持URL作為尋址空間,不支持動態下載、定制容器,且必須先安裝軟件,然后才能運行該軟件。
為了適應消費類電子產品的發展,Linux與Java配合,或者WinCE與.NET配合,也能在很大程度上完成對下一代互聯網軟件運行的需要。換句話說,是要在本地軟件運行平臺上再疊床架屋,再支撐一個網絡軟件運行平臺。
清華大學操作系統與中間件技術研究中心與科泰世紀公司已經共同完成了面向3C智能終端的嵌入式網絡操作系統Elastos的研究開發。
Sun公司提出網絡就是計算機,Java是網絡編程環境;我們的目標是:網絡就是手機,網絡就是數字電視,Elastos就是它們的網絡編程環境。Elastos在操作系統內核層有效地支持Web服務的下載和動態拼裝運行,實現了如下目標:
?面向消費市場的軟件需求,實現“用戶零維護”、“瞬間啟動”;
?各類應用軟件、游戲都像使用瀏覽器看新聞,實現“點擊運行”;
?用戶無需為各種硬件設備安裝驅動軟件,實現“即插即用”;
?不同廠家的軟件以目標代碼形式,實現“無縫鏈接”。
以上功能在智能手機、數字電視、汽車電子、網絡計算機等應用將體現出技術優勢,對實現3C融合具有跨越意義。
轉載注明來源:http://www.hailuomaifang.com/8/view-1081153.htm