国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

移動操作系統帶來差異化設計

發布時間:2010-4-30 10:21    發布者:李寬
關鍵詞: 操作系統 , 設計
移動設備市場一直以來都非常火爆,特別是具有蘋果的iPhone和Verizon Wireless公司的Droid的智能手機市場。這些平臺上的硬件技術令人印象深刻,但事實上,圍繞系統的軟件和服務基礎架構使得這些產品實現了差異化。

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

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

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

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

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

Android的優勢

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


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

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


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

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

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

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

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

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

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

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

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

適合Atom使用的Moblin


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

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


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

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

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

Moblin帶來的不止是一個用戶界面和渲染庫。它的通信子系統提供電話、蜂窩和VoIP之類的IP(互聯網協議)服務。基于位置的服務、設備同步和內容管理只是可供Moblin應用程序使用的眾多庫中的一些。例如,mojito提供社區網頁服務支持。多媒體支持包括用于管理多媒體元數據的bickley和用于管理多媒體播放列表的bognor-regis。

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

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

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

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

其它Linux系統

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

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

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

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

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

微軟的移動解決方案


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

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


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

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

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

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

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

編譯器仍需要產生高效的CIL代碼,但它們不必關注針對執行優化目標硬件。垃圾收集是問題的一部分。C#有指針類型,但這些變量只能指向數值類型和數組。參考變量是用C#等語言跟蹤數據的正確方法。CIL代碼也被認為是在CLR內運行的 “管理型代碼”,提供諸如線程和內存管理等服務。應用程序必須在CLR的安全范疇內運行。可以擁有受管理的固有代碼。Visual C++.NET是一種可以產生CIL管理型和固有無管理代碼的語言環境。

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

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

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

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

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

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

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

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

iPhone應用程序店、Android市場和針對移動應用的Windows市場將是相應移動設備取得成功的主要因素。這些設備上的基礎框架需要成為一個好的開發目標才能取得成功。帶.NET框架的 Windows和包括Android和Moblin在內的各種Linux版本將在新的硬件平臺上繼續收獲成功。在擁有iPhone和Symbian的智能手機市場上它們仍有很大的競爭力,但這只是嵌入式領域的一部分。

作者:《Electronic Design》William Wong
本文地址:http://m.qingdxww.cn/thread-10932-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 為何選擇集成電平轉換?
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 安靜高效的電機控制——這才是正確的方向!
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人一区二区三区在线视频 | 国产做a爰片久久毛片a | 成年视频网站免费观看 | 亚洲一级毛片在线观播放 | xxxxxxx肥婆 | 伊人网久久网 | 久久久久久久久久免观看 | 国产激情视频在线 | a欧美| 亚洲成年网站在线777 | 日韩一区二区三区四区区区 | 200款禁用app软件免费大全 | 亚洲日本在线播放 | 亚洲网站免费看 | 色综合久久天天综合观看 | 中文字幕第12页 | 精品在线视频一区 | 岛田阳子五十路在线观看 | 免费视频一区二区三区四区 | 家庭教师动漫在线观看 | 黄色片网站免费在线观看 | 欧美性色欧美a在线观看 | 国产免费播放一区二区三区 | 久久成人福利视频 | 在线视频二区 | 在线好吊色视频98gao | 日韩视频91| 卡一卡二卡三免费专区2 | 欧美日韩国产最新一区二区 | 天天爆操| 欧美精品1 | 久久久噜噜噜久久 | 国产精品99久久免费黑人 | 国产白嫩美女免费观看 | 中文字幕一区二区三区久久网站 | 在线欧美一区 | 不卡免费在线视频 | 欧美日中文字幕 | 亚洲欧美v视色一区二区 | 99精品视频在线视频免费观看 | 一级毛片视频免费 |