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