Global Sources
電子工程專輯
 
電子工程專輯 > 嵌入式技術
 
 
嵌入式技術  

即時Java在嵌入式系統的應用快速成長

上網時間: 2005年10月13日     打印版  Bookmark and Share  字型大小:  

關鍵字:即時Java  嵌入式系統  Java虛擬器  Java Virtual Machine  JVM 

這幾年來,一些小公司(如Aonix、Aicas和Apogee軟體公司)的Java即時版競相推出市場。目前,像Sun、IBM等大公司正著手開發針對即時Java市場的技術,並與軍事航空領域的大客戶合作。

到目前為止,即時Java一直多是‘軟’即時的。正如Aneas公司的策略聯盟總監Anders Flodin所言,“Java近期內將不會用於可能造成太空梭墜毀意外的計畫。”

在自動儀器和工業控制領域、光纖交換、無線數據通訊系統和視訊轉換盒領域,Java正開始一步一步吞食過去由傳統的C程式語言主導的市場。“雖然目前對於是否即時仍受爭議,但Java在嵌入式系統中所佔的比例一直在逐年緩慢增加,”市場調查公司Venture Development的資深分析師Steve Balacco指出。“就我所知的,軍方承包商是即時Java的首批採納者之一。”

今年年初,Venture Development公司對500位嵌入式開發商進行了調查,僅有9%表示他們目前的計畫包含Java虛擬器(Java Virtual MachineJVM)。其中的46%表示他們的工作與即時方面相關,比例還不到一半。

目前正開發的軍事計畫中,如美國海軍的DDX戰艦,或國防部所致力於建立一套能夠連接士兵與指揮官的網路戰場(networked battlefield),Java可能在即時應用中扮演一個角色。資料必須被擷取並發送,決策必須迅速被傳達。“軍方計畫包括一個互連且即時的‘整體系統中的次系統’,” Balacco提到。

Aonix公司的技術長Kelvin Nilsen表示,即時Java正全面強勁成長。“我們有大約一半的新業務是軍事領域的,”他指出,“在軍事領域、無人航空器(Unmanned Aircraft)和其它新型部署系統中,對Java的需求劇增。在無線通訊領域,包括商用和軍用,Java已十分活躍。”

Nilsen認為,軍方的目標“是為士兵配置一個背包,利用可用的頻寬來進行安全、數位通訊,並有效地利用資料。Java為這些功能的自動化實現提供了一種快捷的方法,。”

“軍方承包商一直在公開使用Java,投資開發即時Java,” Objective Interface Systems公司業務與行銷副總裁Joe Jacobs指出。“關於他們將工具轉換為Java系統的內部細節尚不清楚。迄今,Java一直用於這些系統的企業版,而不是用於渦輪控制或航空電子設備。”

Java市場最近的大事是六月下旬舉行的JavaOne會議上,Sun公司發佈了其作為商用產品的Mackinac計畫,或稱為Sun Java 即時系統(RTS)。

Sun公司的傑出工程師Greg Bollella一直負責Sun的即時Java計畫,他以前曾在IBM從事即時Java的工作。Bollella表示,Sun Java RTS的首次執行是根據Solaris 10作業系統,採用雙處理器、Sparc工作站,具有10到20微秒範圍的傳輸延遲。反應時間比單處理器系統慢,且取決於設備驅動器的數量和類型、PCI槽的數量等其它因素,他表示。

針對Sun公司下一步將支援什麼處理器這一問題, Bollella表示正積極考慮X86或PowerPC平台的埠。

“在Sun內部,首要問題是熱點JVM(hot spot JVM)是否接取到該作業系統和硬體結合體,”他表示,並補充說,一直以來,被接取的是一些32結合體。Sun計畫支援一個開發平台系列,它具有多種硬體佔位面積和不同的‘暫態能力(temporability)’需求,也就是即延遲和抖動次數(jitter times)

Bollella表示, Sun公司正擬訂其價格策略,不過對許多有長期計畫合作的客戶來說,可以就每個訂單合約分別協商價格,而不必嚴格按照per-seat的合約方式來付費。

圖說:邏輯執行時的暫態可預測性

Bollella認為Java RTS是一種‘先進的、統一標準的’即時應用開發平台,這意味著“它採用即時進程管理(real-time scheduling)技術取代了隨機性的管理(hit-and-miss)。也意味著它正代替程式編碼,轉而使用針對物件的方法來進行設計。”

他聲稱,Java RTS支援非即時和即時執行緒的混合,而且它採用一套新型的工具組來支援,該工具組採用Netbean和Eclipse的開發工具。該產品具有控制非同步事件(asynchronous event)及支援控制的非同步傳輸(asynchronous transfer of control)功能。

Bollella解釋,統一標準化意味著工程師們可以Java進行所有的程式工作,取代以“C、C++ 和Ada對計畫進行劃分開發”。程式人員可以利用一般的Java進行非即時編碼,而對軟即時部份執行即時執行緒,並使用不必採取垃圾回收(garbage collection)的‘無堆疊(no heap)’即時執行緒,因而確保了決定性行為(deterministic behavior)。

垃圾回收涉及對於不再使用的記憶體加以動態釋放與分配處理。它對反應時間的影響是Java人員所爭議的焦點。

總部位於德國Karlsruhe的Aicas公司執行長James Hunt表示,Sun的Java RTS的發佈“對我們來說不是壞消息,因為它引起了對即時Java的興趣。我們目前在開發中的計畫比去年多得多。”

Aicas是一家擁有18名在職員工的公司,正參與歐盟的Hydras計畫,開發下一代軍用航空器。Aicas位於美國康州的分公司,正與軍方承包商合作開發即時Java計畫,其中有幾家在致力於對垃圾回收等功能不允許延遲的高性能任務的開發工作。

至於一向作為企業應用Java領導的IBM,也在與Apogee公司密切合作,在嵌入式市場積極部署Java。IBM的嵌入式軟體業務開發總監Steve Gruber表示,兩家公司正就需要一些即時反應的多個客戶共同展開客製化開發計畫展開合作。IBM在好幾個分支機構都有即時Java計畫,最大的在英格蘭Hursley。計畫範圍從工業控制到視訊轉換盒及電信領域。

垃圾問題

Aneas公司的Flodin提及,Sun、IBM和其它公司正致力於採用某些新的垃圾回收(garbage-collection)演算法來提高Java的性能。

“我認為,即時Java將用於某些曾經失敗的系統,”Anders在談及具有更加軟體化形式的即時系統時表示。

不過,Bollella認為,Sun的Java RTS產品包括了主要的先進垃圾回收技術,該技術可使熟練進行即時程式的程式人員處理Java中的硬即時應用。

“總而言之,我們認為具有相關領域經驗的應用開發者不應該被迫去考慮Java RTS以下的麻煩的細節問題,”他聲稱。

但是,他也表示,“即時程式是很困難的,”“當考慮即時垃圾回收和關於時間的邏輯執行的可預測性時,基本的工程設計折衷是必要的”。

因為Java RTS 混合了即時和非即時程式碼,開發者可以針對最大產能部份使用一般的Java,並透過垃圾回收技術“將任務劃分為較小的位元數”使垃圾回收不再顯著,因而實現‘低暫停時間(low pause time)’,Bollella表示。

此外,Java RTS中的即時垃圾回收器調節相關按鈕來指示在特定間隔中有多少任務必須被完成。當可預測性必須最大化時,程式人員工作在具有不同類的儲存堆疊的“不同參考空間”,包括永久性儲存(immortal memory)和不同形式的區域性儲存(scoped memory)。

“在那些情況中,垃圾回收器和執行緒可能在不同的堆疊上工作。其中有部份堆疊回收器可能不會接觸到。”

在Java RTS中,垃圾回收器停止工作處,由於回收為零,降低了系統開銷,但需要更多的分析。

“即時回收器經由調節按鈕告訴回收器什麼時候執行,執行多少。程式人員必須具有調節值才能進行調節,”他解釋說。“為此,程式人員不得不了解應用程式在時間上是如何利用垃圾回收器執行的。”

即時程式充滿了挑戰性,因為程式人員“必須做一些額外的工作,”Bollella 繼續談到。隨著可預測性的提高,“程式模式的複雜度增加。開發人員不得不做更多的分析,這些額外的工作使分析更容易進行。程式人員在區域性儲存方面必須考慮更多的問題,因為事實是:即時程式相當困難。”

作者: 來大偉





投票數:   加入我的最愛
我來評論 - 即時Java在嵌入式系統的應用快速成長
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首