嵌入式linux中文站向廣大嵌入式linux愛好者介紹一下Meego操作系統的新特點。MeeGo作為面向“互聯計算”的開放式操作系統平臺,MeeGo由諾基亞和英特爾公司共同支持、Linux基金會管理。它針對上網本、平板電腦、手持設備、車載信息系統等,為用戶提供豐富的高品質移動互聯體驗。
Meego平臺的特點
英特爾亞太研發有限公司總經理兼英特爾中國軟件與服務事業部總經理梁兆柱表示,英特爾會為MeeGo在Atom平臺上進行優化,也支持其他廠家和開發人員為其他硬件或軟件平臺優化MeeGo。對于Meego會不會出現類似Android設備操作界面不統一給用戶帶來困擾,梁兆柱表示,Meego 在不同的移動智能設備應該需要不同的界面。
對于開發者而言,MeeGo支持不同硬件架構的最廣泛設備種類,只需編寫一次程序便可以讓應用程序運行于不同的設備平臺上,從而幫助設備開發商有效地節省開發成本、降低市場風險。這是英特爾緊密攜手產業合作伙伴基于英特爾架構推動下一代智能手機、上網本、平板電腦、車載信息系統等硬件創新的同時,立足于加快軟件及應用創新的重要舉措和實際行動。
英特爾公司副總裁,軟件與服務事業部總經理詹睿妮表示:MeeGO這個平臺是基于不同的應用改變模塊,是一個核心的開發平臺,關鍵的API都是一樣的,而且這將會幫助開發人員能夠來進行英特爾平臺上的創新和開發,而且進一步的降低成本,針對于不同設備開發的成本,而且是基于英特爾平臺的。
詹睿妮稱這樣一個軟件發布的平臺,它對開發者來講是一種革命性的工具,跟原來的比例分配是很不一樣的。而且,它的不同之處在于人們能夠嵌入一系列的應用,它放在合作伙伴的商店里面,這樣人們可以創建一個社區,它包括很多凌動的應用,應用于電話、應用于上網本、應用于電視等的開發,我們可以結合在一起,把它們進行確認,把它們放到不同的商店環境當中,而且是在整個的生態環境當中實現。
下面先看一下Meego的框架,從整體角度了解一下Meego平臺:
▲圖:Meego框架
MeeGo平臺被精心設計多個必要的組件,以便為提供最好的用戶體驗。MeeGo分為三層:
1,MeeGo操作系統基礎層,包含Linux內核及其核心服務,以及為MeeGo支持多種平臺的硬件適配模塊。其中核心服務包括配置數據庫GConf,系統庫,消息總線和平臺信息。
2,MeeGo 中間層,包括網絡服務(藍牙、語音、即時通訊、電話、連接管理),互聯網服務(WebKit、網絡服務庫、地理信息),虛擬圖形圖像服務 (3D[OpenGL]、2D[Cairo]、界面展現[Pango,Qt]、X窗口系統等)、媒體服務(媒體框架[GStreamer]、攝像、編解碼器[GStremer插件]、音頻、UPnp),數據管理(打包管理等),設備服務(設備健康、資源管理、感應、備份還原),個性化服務(PIM、設備同步等)。在這些服務上面,有一層MeeGo API層,用于程序員的開發。
3,MeeGo用戶體驗層,為多個平臺提供基本的用戶體驗,主要包括UI框架和程序,MeeGo為手持電話、上網本以及其他平臺提供支持。
MeeGo操作系統基礎,作為連接應用程序與實際數據處理的橋梁,需要每個硬件平臺的制造商提供一下三種擴展:
1,內核驅動,如Windows一樣,各個設備的廠商提供驅動程序,如USB、藍牙等設備。
2,體系架構擴展包,用于支持某些特定硬件架構特性的軟件,如ROM上的固化代碼。
3,內核配置文件,這個文件不僅被MeeGo初始提供,硬件生產商也需要使用這個文件,這個文件描述了各個設備的配置和選項,比如處理器類型,網絡支持能力,內核調試選項等。
X窗口系統,又稱X11或簡稱X,提供了圖形框架及其接口,硬件廠商需要提供兩類擴展:
1,核心體系框架擴展,這些擴展包用于提供特定的架構特性,比如圖像控制、顯示和加速。
2,X配置文件:這個文件用于提供X窗口系統初始化時的配置和運行參數,如果硬件存在設備相關的被X窗口系統使用到的配置,則需要寫到該文件里面,比如顯示的分辨率。
Meego開發工具
Meego為開發人員提供了一整套工具,以便于開發人員能夠輕松、迅速的創建各種新的應用。Meego將Qt平臺的開發技術融合進來,使用 Qt*和Web runtime作為應用程序開發,Qt基于原生的c++,Web runtime基于Web應用程序(HTML,JS,CSS等等)。Qt和Web runtime帶來了跨平臺開發,使應用程序可以實現跨越多個平臺。Web開發工具的插件為標準的Web開發工具,包括Aptana*和 Dreamweaver*。
▲Nokia’sQt4.7 App Framework
Meego的開發工具有開源和非開源之分,其中開源工具包含:Meego*Image Creator,能夠啟動創建各種格式的自定義系統鏡像。GNU*工具(gcc,gdb,·······)。PowerTOP*(IA only),屬于平臺級的功耗分析和優化工具。非開源的工具為英特商業開發工具(英特爾架構專用),其中包括:英特爾C/C++編譯工具,英特爾JTAG 和應用程序調試工具,英特爾集成性能基元(英特爾IPP)以及Vtune性能分析器。
Meego的工作模式
關于Meego的工作模式分為幾大模塊,包括上游的開源項目,Meego開源項目,而中間則是有編譯環境、Meego核心、netbook參考框架、IVI參考框架、MID參考框架,逐步推送到操作系統廠商,操作系統廠商結合不同的解決方案設計構成的商業方案,最終研發出不同的設備。
Meego更注重圖形的處理,其中有一個中間層為可視化服務,包括3D圖形,基于OpenGL*/OpenGL ES進行3D圖形渲染的實現,并支持硬件加速,針對不同平臺定制的硬件加速功能。2D圖形層提供了支持硬件加速的先進的2D繪畫功能。國際化渲染組件支持國際化的布局和文本渲染。X.org提供了一個對X Windows系統的實現,包含針對架構特定的驅動程序、補丁以及根據需要進行的配置。
MeeGo OS中間層的各個服務
1,網絡服務:管理聲音和數據的連接,業務形式上管理的是蜂窩電話和IP電話以及數據的傳輸,具體的連接技術包括WiFi、3G、WiMax和藍牙。具體可從以下四方面入手研究:
1,連接管理(ConnMan)
2,電話API(oFono)
3,IP、VOIP、IM、Pres
4,藍牙(bluez)
2,互聯網服務:展現Web內容,提供Web運行庫支持,與Web交換數據,以及位置服務,具體可從以下四方面研究:
1,排布引擎(WebKit)
2,Web運行庫(WebKit)
3,Web Service(libSocialWeb)
4,Location(GeoClue)
3,虛擬現實服務:提供2D和3D的圖形圖像服務,包括描繪國際文字以及利用硬件進行圖像加速的功能,可從以下四方面研究:
1,3D(OpenGL)
2,2D(Cairo QPainter)
3,i18展現(Pango、QtText)
4,X窗口系統
4,媒體服務:提供音頻/視頻的回放,主要關注音視頻數據的獲取、分流、解碼、編碼、定位等等,可從以下五方面研究:
1,媒體框架(GStreamer)
2,攝像機(GStreamer插件)
3,編解碼器(GStreamer插件)
4,音頻(PulseAudio)
5,UPnp(GUpnp)
5,數據管理:數據管理子系統提供元數據文件的釋放和管理,比如媒體文件的元數據,設備上下文、安裝包等??梢詮囊韵氯矫嫜芯浚?/p>
1,內容框架(Tracker)
2,上下文框架(ContextKit)
3,打包管理(PackageKit)
6,設備管理:設備管理子系統,提供一系列服務,管理設備狀態,包括一切使設備安全的狀態,設備數據交換、數據傳感、數據同步、數據備份和還原。
7,個性化服務:管理設備上用戶的數據,包括私人信息管理(日歷、聯系人、任務等)以及web service的用戶帳號管理。
其他需要硬件廠商提供的支持
1,啟動加載器:啟動加載器的工作是為操作系統提供必要的硬件初始化以及準備工作,它提供的是主板/處理器相關的代碼,啟動加載器是ROM代碼和內核的粘合劑。
2,圖像設備格式化工具:提供了怎樣往設備上寫入圖像的細節,這個工具被用來創建一個以恰當格式運行的設備對象。
3,貓的支持:為特定蜂窩電話提供支持的電話插件。
4,硬件相關的媒體編解碼器。
MeeGo安全機制架構
MeeGo提供一個可擴展的安全機制架構,它提供一種基于角色的準入控制,這種方式被很多系統廣泛使用,這種方式使用一種可擴展、可更新的策略,由軟件堆棧德關鍵部件實現。
MeeGo的安全機制不是MeeGo 1.0版本的一部分。
MeeGo API
MeeGo API提供應用程序開發的接口,當前的版本包括Qt4.6.2,其他特性正在開發,更多的細節可參考Meego API page。
Qt
Qt為程序員提供了藝術般的圖形界面開發功能,Qt完全面向對象,易擴展,真正允許組件式編程。包括的組件有:QtGui, QtCore, QtDBus, QtMultimedia, QtNetwork, QtOpenGL, QtScript, QtSql, QtSvg, QtWebKit, QtXml, Qt3Support, QtDeclareative, QtHelp, QtScriptTools, QtTest, QtXmlPatterns.
?
評論
查看更多