當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]移動操作系統(tǒng)帶來差異化設計

移動設備市場一直以來都非常火爆,特別是具有蘋果的iPhone和Verizon Wireless公司的Droid的智能手機市場。這些平臺上的硬件技術令人印象深刻,但事實上,圍繞系統(tǒng)的軟件和服務基礎架構(gòu)使得這些產(chǎn)品實現(xiàn)了差異化。

大量iPhone應用程序顯然說明了一個好的開發(fā)平臺能使應用程序的普及非常容易。iPhone也許很流行,但它的軟件平臺是為有限數(shù)量的硬件平臺設計的,并且全部是蘋果公司的平臺。Symbian操作系統(tǒng)和框架用于與iPhone相同的領域,但Symbian可以用于更廣泛的平臺,包括基于ARM的智能手機。Symbian操作系統(tǒng)現(xiàn)在是由Symbian FoundaTIon負責的一個開源項目。

Android與這些操作系統(tǒng)框架非常類似,它的最初應用目標也是智能手機。這也就不奇怪它的贊助商是Open Handset了。Android與眾不同的一點是,很多人將它用于智能手機以外的平臺。如果開發(fā)人員想充分發(fā)揮Android的優(yōu)勢,那么他們就需要了解它的工作原理。為了與Android進行比較,先看看能夠滿足這一領域中硬件要求的另外兩種平臺。

最流行的平臺之一是微軟的Windows CE,在智能手機市場被稱為Windows Mobile。但它的基本框架架構(gòu)與微軟的臺式機和服務器平臺上的是一樣的,包括最新的臺式機版本W(wǎng)indows 7。

另外一個平臺是就像Android一樣基于Linux的Moblin,它適用于使用Intel Atom處理器的上網(wǎng)本和移動互聯(lián)網(wǎng)設備(MID)。從這個角度講,Moblin與蘋果和Symbian解決方案非常相似。

所有這些平臺都很獨特,但它們共享許多類型的公共組件。例如,Android和微軟的.NET框架都是基于虛擬機(VM)技術創(chuàng)建的。

Android的優(yōu)勢

“Android在Linux基礎上削繁就簡,向開發(fā)人員提供源自谷歌的易用和著名環(huán)境用于圖形化用戶界面(GUI)創(chuàng)建,使它們專注于針對遠不止手機的嵌入式系統(tǒng)開發(fā)有競爭力的解決方案。”德州儀器(TI)公司開放平臺技術專家Jason Kridner表示,“這使得Android成為一種強大的操作系統(tǒng),能用于基于OMAP3處理器的設計,例如TI的OMAP35x*估模塊或非常流行并且擁有眾多支持者的BeagleBoard,可以幫助開源創(chuàng)新公司建立具有高性能和低功耗且基于ARM Cortex-A8的小型低成本系統(tǒng)。”

圖1:Android應用程序是用Java編寫的,運行在Dalvik虛擬機(DVM)上。

基于Linux的Android使用固有設備驅(qū)動程序向Android基本框架提供整套服務。固有應用程序可以運行在這個系統(tǒng)上,并且可以訪問這些服務,但大多數(shù)應用程序?qū)⒂肑ava編寫,目標是Dalvik VM(圖1)。這些應用程序還能充分發(fā)揮應用程序框架的優(yōu)勢,提供Verizon Wireless Droid用戶熟悉的用戶界面。Droid就是一款Android智能手機 (圖2)。
 

圖2:Verizon Wireless的Droid手機采用Android 2.0,有許多亮點。

Dalvik VM(DVM)運行Dalvik可執(zhí)行(.dex)文件。這些編譯過的Java應用程序類似Sun Java虛擬機(JVM)使用的類文件。從概念上講,DVM和JVM的應用層幾乎沒有區(qū)別。但從架構(gòu)上講,基于寄存器的DVM和基于堆棧的JVM有很大的差異。

DVM和JVM都使用VM代碼模型。然而,DVM使用基于寄存器的操作碼,相當于大多數(shù)目標平臺已經(jīng)執(zhí)行的基于寄存器的字節(jié)碼指令。DVM包括了許多架構(gòu),如ARM和MIPS架構(gòu)以及英特爾(Intel)、AMD和威盛的x86兼容架構(gòu)。

谷歌開發(fā)Android和選用DVM的原因有幾個,首先大多數(shù)JVM具有許可問題;其次DVM在內(nèi)存使用和執(zhí)行基于寄存器的機器方面更加高效,而且在執(zhí)行多個DVM實例時也被認為更加高效。應用程序有自己的實例,因此多個有效應用程序要求多個DVM實例。與大多數(shù)Java實現(xiàn)一樣,DVM有一個自動垃圾收集器。

有趣的是要看到這些優(yōu)勢在長期運行時是否能保持,特別是隨著目標上的內(nèi)存容量和處理器性能的不斷提高。在這個方面,DVM不支持及時(just-in-time)編譯。另一方面,dex文件在加載進系統(tǒng)時可以針對硬件進行優(yōu)化。

如上所述,Android針對自己提供的服務有自己的Java類,這些類與Sun公司的Java SE或Java ME提供的類服務類型相當,但不完全一致。Android不支持Sun風格平臺常用的圖形化AWT和Swing庫。相反,Android有它自己的用戶界面類,包括對OpenGL的支持。類的基集可以在包括像藍牙和電話這種接口的智能手機平臺上找到,但在其它嵌入式Android平臺上可能不作要求。

Android軟件開發(fā)套件(SDK)可以從Android網(wǎng)站上免費下載,并且可以和許多開發(fā)工具一起使用。Android開發(fā)工具(ADT)Eclipse插件允許開發(fā)人員使用開源Eclipse平臺開發(fā)Android應用程序,包括基于Eclipse的大量第三方工具集,如Mentor Graphics的ESD。

Mentor Graphics還提供Android支持服務。這也帶來了許多Android開發(fā)人員忽視的另外一個問題:Android平臺支持。應用軟件開發(fā)人員需要Android SDK。將Android用于新的平臺是另外一個問題。Android確實運行在Linux上,但這將帶來同樣的支持問題。這正是像MontaVista、Lynuxworks和Mentor Graphics等操作系統(tǒng)供應商做大部分Linux移植的原因。

管理和支持更改是一項艱巨的工作,對運行在Linux上的Android來說也是如此。目前Android的更改和增強源自谷歌公司,今后也許會有改變,但仍意味著任*版本都需要對定制、缺陷修復和其它修改進行集成和測試。

適合Atom使用的Moblin

圖3:基于Linux的Moblin主要用于上網(wǎng)本和移動互聯(lián)網(wǎng)設備(MID)。

Moblin和Intel的Atom幾乎形影不離。Moblin建立在x86 Linux堆?;A之上,增加了一個用戶界面和設計用于簡化與系統(tǒng)交互的應用程序(圖3)。它的顯示功能有益于觸摸屏,并以中等尺寸的屏幕為主要應用對象,比如在上網(wǎng)本、MID和汽車儀表臺等目標平臺上使用的屏幕(圖4)。
 

圖4:Moblin界面設計用于簡化用戶交互和解決觸摸界面。

與臺式機和全尺寸筆記本相比,Moblin的中等大小應用對象通常使用較小的屏幕和較低功耗并且處理能力較有限的處理器,因此電源管理是關鍵。應用程序需要有良好的響應能力,而且要能充分利用較有限的資源。

應用程序和應用服務是固有的Linux應用,允許使用已有的Linux開發(fā)成果。QT和GTK GUI庫已被用來搭建主要的Linux GUI、Gnome和KDE。這意味著大多數(shù)現(xiàn)有應用程序無需重大修改就能移植到Moblin上。當然,從Gnome或KDE這樣的通用視窗環(huán)境轉(zhuǎn)移到像Moblin這樣有更多限制的框架極具挑戰(zhàn)性,具體還要取決于應用程序及其架構(gòu)。Moblin支持Linux上使用的眾多圖形界面,包括X Windows和OpenGL。

Moblin帶來的不止是一個用戶界面和渲染庫。它的通信子系統(tǒng)提供電話、蜂窩和VoIP之類的IP(互聯(lián)網(wǎng)協(xié)議)服務?;谖恢玫姆?、設備同步和內(nèi)容管理只是可供Moblin應用程序使用的眾多庫中的一些。例如,mojito提供社區(qū)網(wǎng)頁服務支持。多媒體支持包括用于管理多媒體元數(shù)據(jù)的bickley和用于管理多媒體播放列表的bognor-regis。

基于庫服務方法考慮,C是選用的編程語言。C++同樣可以使用,但Linux支持每種主流的編程語言,Moblin也如此。針對核心Moblin應用編程接口(API)的綁定產(chǎn)品適合像Ruby和Python這樣的語言。

Intel收購風河對Moblin來說不應感到太驚訝。風河Linux和相關開發(fā)工具與Moblin有極好的匹配。在這個收購事件發(fā)生前,風河公司已經(jīng)在與Intel和Moblin一起開展工作。

Moblin不是只能用于Atom或風河產(chǎn)品,它還能用于其它Linux平臺,如Ubuntu和Xandros。Ubuntu Moblin Remix加入了Canonical公司的Ubuntu Netbook Remix。戴爾公司將提供Ubuntu Moblin Remix,用于采用Atom處理器的戴爾Inspiron Mini 10v上網(wǎng)本。

Moblin吸收了Linux最新的增強性能,它的快速啟動時間是一大特色,此外還支持觸摸屏和手勢等特性。隨著新的x86處理器繼續(xù)降低功耗要求,手機將成為Moblin的應用目標。Moblin還得到了Intel以外的一些大公司的支持,使之成為這一領域中所用平臺的重要組成部分。

其它Linux系統(tǒng)

x86統(tǒng)治著上網(wǎng)本市場,但MID和智能本可以使用更多的平臺,包括基于ARM和MIPS架構(gòu)的平臺。Windows CE是用于這些架構(gòu)的一種可行平臺,雖然Debian Linux和諸如Ubuntu等變種可能主導這一領域。

像Ubuntu、Xandros和ThunderSoft等基于Debian的Linux版本的許多開發(fā)人員已經(jīng)在展開合作。這樣,很可能相似的平臺出現(xiàn)在使用相同Linux內(nèi)核的各種產(chǎn)品上,并具有相似的運行時庫補充。

目前這一領域缺少的是各個系統(tǒng)提供商之間一致的開發(fā)和描述框架。大多數(shù)供應商已經(jīng)在與谷歌合作開發(fā)Android,但在非電話平臺上的Android是否能及時推出仍有待觀察。更可能的情景是傳統(tǒng)的Debian實現(xiàn),再以硬件供應商提供的應用程序作為補充。

谷歌發(fā)布了谷歌Chrome操作系統(tǒng)。這種操作系統(tǒng)以目前運行在所有主要平臺上的Chrome瀏覽器為核心,是另一種基于Linux的平臺,但也是一個最小系統(tǒng),其中瀏覽器將提供應用程序框架。這種方法在得到部署前仍有大量的不確定性。系統(tǒng)設計的關鍵因素包括速度、簡單性和安全性。啟動網(wǎng)頁瀏覽應該在幾秒種內(nèi)完成。

采用這種方法仍需要解決許多重要問題,特別是在自由操作方面。當3G或Wi-Fi連接可用時,基于網(wǎng)頁的應用程序沒什么問題,但在這里討論的所有其它平臺上最常見的獨立應用程序可能有問題。一些最初的方法采用雙啟動技術,將全套應用程序放在更傳統(tǒng)的Linux或Windows實現(xiàn)上。

微軟的移動解決方案

圖5:.NET框架運行在所有Windows平臺上,為.NET編程人員提供一致的環(huán)境。

Windows Embedded CE是微軟移動解決方案的核心。就像微軟的其它Windows解決方案一樣,Windows CE采用了.NET架構(gòu)(圖5)。編寫出能夠在不同Windows平臺的任意一種上運行的程序應該沒什么問題,但.NET框架允許應用程序運行在幾乎任何Windows操作系統(tǒng)上,其中包括了像Windows Mobile這樣的平臺,這是運行在諸如HTC Touch 2等多種智能手機上的一種Windows CE版本(圖6)。

圖6:HTC Touch2只是基于Windows Mobile的眾多成功手機中的一種。

.NET框架基于類似Dalvik和JVM這樣的VM架構(gòu)。微軟的公共語言運行時(CLR)能夠在類似JVM的虛擬棧機器中執(zhí)行公共中間語言(CIL)字節(jié)代碼。

公共語言基礎架構(gòu)(CLI)是一種開放的ECMA-335和ISO/IEC 23271規(guī)范,它描述了CIL、CLR運行時環(huán)境以及公共類系統(tǒng)(CTS)和運行時匯編。Mono和DotGNU Portable.NET是CLI的兩種開源實現(xiàn),運行在許多非Windows平臺上,如Linux。

JVM目前還支持Java以外的其它編程語言,但Java是主要目標。然而,.NET總是有意作為多語言主機。.NET框架支持多種來源的許多編程語言。從Cobol到F#(一種功能性編程語言)的每種語言都將運行在.NET框架上。

CLI可以被實現(xiàn)為一種運行CIL代碼的解釋器。但像Java一樣,通過將應用程序轉(zhuǎn)換成固有代碼,CIL JIT編譯器可以帶來更高的性能。這種方法具有將優(yōu)化功能移動到JIT的優(yōu)勢。提前(AOT)編譯到固有代碼也是可以的。這種方法將可執(zhí)行代碼鎖定到當前平臺,但消除了JIT要求的啟動延時。

編譯器仍需要產(chǎn)生高效的CIL代碼,但它們不必關注針對執(zhí)行優(yōu)化目標硬件。垃圾收集是問題的一部分。C#有指針類型,但這些變量只能指向數(shù)值類型和數(shù)組。參考變量是用C#等語言跟蹤數(shù)據(jù)的正確方法。CIL代碼也被認為是在CLR內(nèi)運行的“管理型代碼”,提供諸如線程和內(nèi)存管理等服務。應用程序必須在CLR的安全范疇內(nèi)運行??梢該碛惺芄芾淼墓逃写a。Visual C++.NET是一種可以產(chǎn)生CIL管理型和固有無管理代碼的語言環(huán)境。

管理型代碼的優(yōu)勢是可以給編程人員提供便利的更高層提取。這種方法極大地增強了安全性。用不同編程語言編寫的應用程序間的交互也更加容易。CTS使這一切成為可能。

VM和低端運行時間是性能和效率的關鍵,但.NET框架的類庫尤其重要。在每個.NET框架平臺中可以找到大多數(shù)基礎類庫。

.NET Mirco框架是例外,它直接運行在物理芯片(裸金屬)上,沒有Windows操作系統(tǒng)。這種框架也是模塊化的,允許最小的外形尺寸。.NET Micro框架的應用目標是Android和Moblin等平臺之下的低端產(chǎn)品,常見于過程控制等設備中的微控制器上。

最新版的.NET Micro框架是使用Apache許可的一種開源產(chǎn)品。CLI只實現(xiàn)為解釋器,但支持.NET框架固有代碼接口。.NET Micro框架可能會應用到受更高端.NET框架設備(如蜂窩電話)控制的設備中。擁有一個公共編程平臺遲早派得上用場。典型的.NET框架環(huán)境包括比.NET Micro框架多得多的類庫。圖形、窗體和先進的數(shù)據(jù)庫庫很常見。在Windows Mobile平臺中還能見到用于電話和通信的類。

Mono提供包括基礎類在內(nèi)的許多.NET框架類庫,這樣就允許編寫出在Mono或.NET框架上運行的應用程序。對于開發(fā)人員來說問題在于,充分利用.NET框架的真正優(yōu)勢意味著使用像Windows Communication Foundation (WCF) 和Windows Workflow Foundation (WF)這樣的基集之上的類。應用程序類庫和諸如智能手機需要的服務將被發(fā)現(xiàn)運行Windows Mobile。

.NET框架和Windows在這方面是如此形影不離以致于它們無法分開。使用Windows界面(如COM)的固有代碼應用程序可以與基于.NET框架的應用程序共存,但后者有很大的開發(fā)工作量,也是為基于Windows的移動設備開發(fā)應用程序的地方。

微軟的Visual Studio一直是充分利用.NET框架的應用程序的主要開發(fā)平臺。大多數(shù).NET編程語言使用Visual Studio集成開發(fā)環(huán)境。目前有多種調(diào)試器,如CLR調(diào)試器。Visual Studio支持其它調(diào)試工具,包括支持甚至是混合應用環(huán)境中的無管理應用程序。

總之,.NET框架是一種可擴展和令人印象深刻的平臺,達到甚至超過大多數(shù)競爭產(chǎn)品的性能。它能處理先進的用戶界面,支持多點觸摸界面。Windows 7也采用.NET框架,因此諸如Intel的Atom這樣的平臺自然適合。

iPhone應用程序店、Android市場和針對移動應用的Windows市場將是相應移動設備取得成功的主要因素。這些設備上的基礎框架需要成為一個好的開發(fā)目標才能取得成功。帶.NET框架的Windows和包括Android和Moblin在內(nèi)的各種Linux版本將在新的硬件平臺上繼續(xù)收獲成功。在擁有iPhone和Symbian的智能手機市場上它們?nèi)杂泻艽蟮母偁幜?,但這只是嵌入式領域的一部分。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉