1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      Java準備好投身于實時性應用

      更新時間: 2006-05-08 14:14:04來源: 粵嵌教育瀏覽量:1680

        近幾年來,由Aonix、Aicas和Apogee Software這些較小公司開發的實時版Java一直都在努力爭奪市場份額。目前,諸如太陽微系統公司和IBM公司這樣的大企業也瞄準了實時Java市場,開始進入相關技術領域,它們經常與軍事-航空領域的大客戶合作。

        迄今為止,實時Java往往還是“軟”實時。正如Aneas公司戰略聯盟總監Anders Flodin說的那樣,“Java短期內不會用于有航天飛機的項目中,因為這仍然存在很大風險。”

        在機器人和工業控制、光纖光電開關、遙感設備和機頂盒的應用中,Java正開始蠶食傳統上由C語言代碼主導的市場。“雖然在它是否實時這一點上頗有爭議,但Java在嵌入式領域所占的百分比每年都有些許增長。”市場研究公司Venture Development的分析師Steve Balacco說,“根據我的理解,軍方是實時Java早的采用者之一。”

        早在2005年初,Venture Development公司就調查了大約500名嵌入式應用開發人員,而當時只有9%的受調查者表示他們從事的項目涉及Java虛擬機器(JVM),這部分人中又有46%表示他們的研究涉及實時性方面。

        在一些軍事項目中,例如美國海軍DDX戰艦或五角大樓計劃創建一個網絡化戰場,把士兵與指揮官連接在一起,Java就可以在這個實時應用中發揮一定作用。數據必須被采集和傳送,而且決策必須得到迅速的交流。“軍事項目涉及的是‘由多個系統組成的系統’,它們要彼此互連,其中部分系統還是實時的。”Balacco說。

        實時Java項目不斷增長

        Aonix公司的首席技術官Kelvin Nilsen認為實時Java從總體上看是在茁壯成長。“Aonix大約一半的新業務來自軍方,”他說,“在軍事領域的無人駕駛飛機和其它新部署的系統中,實時Java都有著強勁增長的勢頭。另外在遠程信息系統領域,包括商業應用和軍事應用,實時Java也表現活躍。”

        Nilsen說:“軍方的目標為是每位戰士配備一個背包,充分利用可用帶寬,提高安全和數字通信能力,有效地利用各種數據。Java提供了一條使這些功能實現自動化的更快捷路徑。”

        “軍方合同商使用Java是公開的秘密,他們正在研究實時Java。”Objective接口系統公司的銷售和行銷副總裁Joe Jacobs說,“尚不清楚他們在系統內部使用了哪些Java工具。但目前Java一直用于這些系統的非核心方面,不用于渦輪控制,也不用于航空電子設備。”
        
        圖:存儲器方面的改進提高了Java的預測能力,但需要更多的分析以達到硬實時目標。


        Java市場曾經在2004年6月出現一次飛躍。當時在Sun公司的JavaOne大會上,該公司針對其Project Mackinac項目推出了名為Sun Java實時系統(RTSJ)的商業化產品。

        Greg Bollella是Sun公司一位杰出的工程師,他曾在IBM從事過實時Java的研究,后來一直領導著Sun公司的實時Java項目。Bollella透漏Sun公司Java RTS的實現是基于Solaris 10操作系統,對于基于Sparc的雙處理器工作站,它的延遲在10到20微秒之間。單處理器的系統響應時間要更慢些,具體數值取決于設備驅動器的數量和類型、PCI插槽占用數目和其它一些因素。

        當被問及Sun公司會支持哪些處理器時,Bollella提到了X86或PowerPC平臺。“在公司內部,個問題就是熱門的JVM是否可移植到某種操作系統和硬件組合。”他說,隨后又補充道,某些32位組合已經被移植。Sun公司計劃支持一系列開發平臺,它們有多種的硬件尺寸和不同的“瞬態能力”需求,即延遲和抖動時間。

        該公司還在考慮定價模式,他表示,但是由于許多客戶的項目種類不同,需要進行單獨的合同談判,而不能嚴格地按每個項目固定價格這種欠靈活的方式銷售。

        Bollella表示Java RTS是一個先進的、統一的實時應用開發平臺,這意味著它具有實時調度技術。同時也意味著它采用了面向對象的設計方法,而不僅是程序代碼。

        Java RTS支持非實時和實時線程的混合,而且它將得到一套現代工具集的支持,即可采用Netbeans工具也可采用基于Eclipse的開發工具。該產品的特性包括對異步事件進行控制和支持異步傳輸的控制。

        Bollella表示,統一意味著工程師可以用Java完成全部編程工作,而不是在C、C++和Ada之間對項目進行分解。程序員應該用常規的Java進行非實時編碼,為軟實時部分實現實時線程,隨后使用無需碎片整理(garbage collection,GC)的“無堆積”實時線程,從而保證確定性的行為。碎片整理是指把不再占用的動態分配存儲器釋放出來的過程。它對響應時間的影響一直是Java專家爭論不休的重要議題。

        Aicas公司首席執行官James Hunt認為:“Sun公司Java RTS的發布對我們來說不是壞消息,因為它提高了大家對實時Java的興趣。與前一年相比,我們現在的項目增加了許多。”

        Aicas公司參與了歐盟開發下一代軍用飛機的Hydras項目。該公司的美國分公司正在同美國軍方合同商進行實時Java項目的合作。有幾個合同商正在從事高性能的任務,它們不允許出現碎片整理和其它功能造成的時間延遲。

        IBM是將Java用于企業應用的領頭羊,該公司目前正同Apogee密切合作以便在嵌入式市場上推廣Java。IBM嵌入式軟件業務開發部總監Steve Gruber透露,他們兩家公司一直在與幾個需要某種實時響應特性的客戶一起從事項目開發。IBM在世界好幾個地方都有實時Java項目,的一個是在英國的Hursley,項目的種類從工業控制到機頂盒和通信設備。

        碎片整理問題

        Aneas公司的Flodin提及Sun公司、IBM和其它一些公司正在用一些新的碎片整理算法來改進Java的性能。

        “我認為實時Java將用于可以容忍故障的系統之中,”Anders說,他指的是實時系統的偏軟件形式。

        但是,Bollella表示Sun公司的Java RTS產品在碎片整理改進方面有重大進展,允許擅長實時編程的編程師在Java內部處理硬實時應用。“從總體上看,我們認為具有這個領域經驗的應用程序開發人員不一定非要考慮Java RTS之下的煩雜細節。”他說。

        但他也指出:“實時編程很困難,要求在考慮實時碎片整理和預測邏輯的執行時間時要進行基本的工程平衡與折衷。”

        因為Java RTS把實時和非實時代碼混在一起,所以開發人員可以用常規的Java開發數據吞吐量部分,隨后用碎片整理技術達到低停頓時間,這種把工作分成幾個小部分來做的方法使得碎片整理不太引人注意,Bollella說。

        此外,Java RTS內部的實時碎片整理器已經調節了相關按鈕,用來指導有多少工作必須在特定的間隔內完成。當預測能力必須化時,編程師要處理一個具有不同類型存儲器堆的“異類參考空間”,包括性的存儲器和不同版本的區域性存儲器(scoped memory)。

        “在這些情況中,實時碎片整理器和線程也許要處理不同的存儲器堆。某些存儲器堆或許整理器不會去動。”Bollella說。

        在Java RTS中,存在一個實時碎片整理器停止操作的點,減少了因整理工作歸零而帶來的開銷,但是需要更多的分析。

        “由于需要調節實時整理器的按鈕來指示整理器何時運行,以及運行多久,所以程序師必須有調節值才能調整它們。”他說,“為了做到這點,程序師不得不搞清楚應用程序有多少時間花在碎片整理上。”

        實時編程極具挑戰性,因為程序師必須要做一些額外的事情,Bollella繼續說道,隨著預測能力的改進,編程模型的復雜度增加了。這就要求必須進行更多的分析并做一些額外的工作使得這些分析更易處理。當程序師面對區域存儲器時,將不得不考慮更多事情。”

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲欧美日韩精品成人 | 亚洲欧美国内在线播放 | 中文字幕丰满的少妇 | 免费99精品国产自在48 | 日本一区二区三区日本视频 | 亚洲中文字幕dⅴd |