傳統操作系統大多是靜態鏈接而成,由某一家公司提供,所有功能都集成在同一個軟件中,一旦鏈接之后就不可能替換其中的軟件模塊。這樣的操作系統有兩大功能。首先它向用戶提供一個分時系統; 其次是向用戶提供一組函數庫。用戶程序從主程序起,一步一步驅動軟件控制流程,終完成計算工作。在這里操作系統始終處于被動地位,被動地為用戶程序提供服務。這類系統的典型范例有DOS和控制臺模式下的Unix操作系統,以及目前存在的大多數嵌入式操作系統。
Internet時代新的應用模型與操作系統
在Internet時代,一個應用程序可以包括文字、圖表、音頻、連續圖像播放等功能,各部分功能的軟件模塊可以來自不同的軟件開發商,在運行時動態組織起來,向用戶提供一個“天衣無縫”,具有復合功能的應用軟件。這種應用軟件看上去象Internet的瀏覽器,其實質是構件化的軟件工程技術。在Internet時代的今天,構件化技術可以說是無處不在,比如微軟近發表的Win XP和Office XP的核心都是這種構件化技術,從視窗桌面到Word和Excel的窗口全部采用“瀏覽器”構件。
這種Internet應用模式的主要特點是:
程序作為動態構件自動加載運行,而不需要由用戶去逐個啟動。
構件支持腳本語言控制,多個構件可以相互操作,交換信息。
以瀏覽器為交互式操作界面,既便于用戶掌握,又為程序開發提供了統一標準。
網絡化資源管理,程序自動下載運行,不需要用戶介入。
在這種新的應用模式下,“瀏覽器”實際上已經退隱為一個可見或不可見的“框”,用操作系統術語講,這個框是一個可執行文件,它本身非常簡單,不為用戶提供應用功能,但能提供構件運行環境。
“服務器-中間件-客戶機”編程模型
中間件程序設計技術是Internet時代技術的綱。中間件是操作系統根據元數據生成的構件,Internet技術都是圍繞中間件發展的。在軟件技術的發展中,為了處理元數據發明了新語言,為了生成中間件發明了虛擬機,為了建立軟件工廠發明了構件庫。語言、虛擬機、構件庫三位一體形成了當今世界軟件編程的主流發展趨勢。而虛擬機實際上可以看成為一種特殊的操作系統。
隨著硬件和軟件技術的發展,操作系統根據服務器構件中的元數據(用于描述構件中對象的各種信息)動態生成代理和存根(stub)成為可能, 形成典型的客戶機/服務器應用模型。這里代理的主要作用是打包,就是把調用函數的變量與函數信息放到一個緩沖區里; 存根的主要作用是解包,也就是把緩沖區里打成包的函數的變量與函數信息恢復,成為一個服務器空間的函數調用。客戶端源程序與代理程序編譯、鏈接在一起,形成客戶端程序代碼; 服務器源程序與存根程序編譯、鏈接在一起,形成服務器程序代碼。這就是典型的客戶機/服務器應用模型。目前編程模型已經逐步轉移到“服務器—中間件—客戶機”三層結構。通信程序(如TCP/IP)不再是客戶端程序或服務器程序的一部分,可以通過操作系統生成。既然TCP/IP協議可以生成,HTTP協議也可以生成。換句話說,既然客戶端程序和服務器程序都可以不包含通信協議,它們也就適用于任何通信協議(生成任何通信協議)。由此網絡編程模式產生了革命性的飛躍。
中間件是操作系統根據服務器構件元數據動態生成的,介于客戶端程序和服務器構件間的代理構件,是一種新型鏈接技術。面向中間件編程模型中的中間件可以想象成構件的代理構件(或虛擬構件),在系統管理員控制下由操作系統生成。
典型的中間件就是跨地址空間的TCP/IP通信協議。此外,如果通信協議是HTTP,中間件就成了防火墻; 如果協議對來往消息作了備份,系統就可以容錯; 如果協議根據服務器繁忙程度分配消息,就是負載均衡; 如果一個機器上只配有10份構件版權,代理構件可以擋住第11個用戶直到前10個用戶中有人離開; 如果一個事件是由幾個分事件合成,代理構件可以執行事務處理; 如果怕病毒,就把構件放到遠程,同時不給它文件支持。把這些功能實現在一個進程里,這個進程就叫作應用服務器。由此可見應用服務器處在Internet技術的核心地位,中間件技術正是應用服務器的理論基礎。
中間件技術的應用并不限于應用服務器。中間件技術為程序模塊、構件庫、軟件工廠提供了聯接“管道”、“連線”和“集成電路板”,軟件構件的“即插即用”模式即將走向主流市場。這種“軟集成電路板”就是包含元數據的構件。因為元數據可以抽象描述構件功能和接口,從而使構件的發布、版本升級都省去了對頭文件(.h文件)和庫文件(.lib文件)的依賴。元數據解決了軟件工程的一大難題,中間件技術使得軟件的工程化開發水平提高到一個新的層次。
操作系統與虛擬機
Java和C#基于中間代碼,其虛擬機運行于其他操作系統之上。由于其運行效率、實時性、資源需求等方面的原因,至今沒有在嵌入式系統中得到成功的應用。
其實操作系統可以作為虛擬機,直接提供中間件的運行環境。我們已經知道,應用程序員可以只寫構件或動態鏈接庫,而由操作系統自始至終控制程序運行的主動權,那么顯而易見,這種操作系統與DOS或Unix有著本質的不同。這種操作系統可以對應用程序構件進行各種各樣的控制,使得封裝好的構件能夠適應不同的運行環境和用戶要求。比如說構件制造商對構件運行環境往往有些特殊的復雜要求,如構件是否支持多線程或信息加密,這些對于一般用戶來講很難理解和適應; 而眾多用戶會有不同好惡,如懷疑構件有病毒,也不是構件制造商料所能及的。這時由操作系統控制主動權,動態生成中間件和構造構件運行環境,就能很好地解決這些問題。
操作系統對XML的支持
XML文本描述語言的廣泛使用將是Internet時代操作系統的另一明顯標志。XML統一了對網絡上傳輸的數據和遠程函數調用的描述,比如SOAP(Simple Object Access Protocol)。XML對任意消息中的信息都要進行描述,我們稱這類消息為自描述消息。由于自描述消息可以根據不同國家語言,不同操作系統,不同軟件版本或不同安全協議來作不同解釋,XML已經成了Internet信息交換的標準,未來的操作系統內核會對XML進行有效的支持。現在網絡和分布式操作系統中有大量的命名服務器,比如HTTP、TCP/IP、FTP、Telnet等服務器,它們都可以統一在內核對XML遠程函數調用功能的支持之下。表面上XML速度可能不如其他二進制協議高,但內核不必進行不必要的地址空間切換,大大減少眾多服務器的內存消耗,因而勢必增加系統的安全性、可靠性以及運行效率。
基于中間件的新型操作系統——Zyco
北京科泰世紀科技有限公司基于對Internet時代中間件技術發展的深入理解,開發出具有完全自主版權,采用先進的構件、中間件編程技術構筑的下一代高性能網絡操作系統Zyco并制定了跨操作系統的構件、中間件標準ezCOM; 提供跨平臺的ezCOM構件運行環境、開發平臺和構件庫; 提供支持XML等Internet標準的瀏覽器引擎; 提供全面的下一代高性能網絡操作系統應用開發環境。
Zyco是基于先進的構件化軟件技術自主開發的ezCOM構件技術。在嵌入式操作系統中支持構件技術,使嵌入式系統可以導入網絡技術發展的成果。
全面完整的基礎軟件和應用軟件開發平臺
Zyco以Internet技術發展為基礎,與ezCOM有機結合,在嵌入式操作系統中實現對構件、中間件的直接支持,使得傳統嵌入式系統的軟件開發能夠利用當今先進的主流技術,實現工程化、工廠化生產,順應了軟件技術的發展潮流。這是目前其他嵌入式操作系統產品中不具備的創新功能。這些成果為面向下一代網絡應用的嵌入式系統開發提供了全面、完整的基礎軟件和應用軟件開發平臺。
Zyco的優勢在應用中的體現
Zyco可廣泛應用于信息家電、工業控制、傳統工業改造、國防、商業電子等領域,已經開發了PDA/掌上電腦、數控機床、工業遠程監控設備、醫療儀器等應用。
Zyco將把在網絡技術領域、軟件編程領域已經開始廣泛應用的中間件、構件概念和技術導入到嵌入式操作系統上來,為嵌入式設備提供了通用性更好的軟件平臺。在嵌入式操作系統平臺,這種技術的集成是首創的。采用這個平臺,傳統的半封閉的嵌入式應用設備可以與日益普及的網絡應用接軌,有更加廣闊的應用空間。Zyco給嵌入式系統應用帶來的好處是: 開放式的編程環境、工業化的應用軟件開發、軟件共享,以及便于開發面向網絡的應用軟件等等,而后者正是今后應用發展的一個重要方向。面向網絡的嵌入式應用系統可以具有許多新的特色,創造新的價值。因此,Zyco是應時代的需要而誕生的下一代操作系統,它順應了信息技術發展的必然趨勢。
基于中間件結構的嵌入式操作系統
更新時間: 2007-06-16 09:21:02來源: 粵嵌教育瀏覽量:987