http://meego.com/developers/meego-architecture 英文原版
http://www.meegoq.com/thread-71-1-1.html 米趣網已經有人翻譯
如果E文好的話可以直接讀原文
在這我就把中文版轉過來~
MeeGo軟件架構綜述
MeeGo平臺精心設計所有必要模塊是爲了給設備使用者最好的用戶體驗。正如以下MeeGo架構綜述圖所表現的,MeeGo系統主要分成三個部分:
- MeeGo操作系統底層 包含linux核心服務組件以及支持不同硬件架構的硬件自適應層。
- MeeGo操作系統中間件層 提供硬件和獨立的API使用模型用於創建原生應用和web運行時應用。
- MeeGo用戶體驗層 提供多平臺的用戶體驗。最初的MeeGo發佈版本將包括手持式設備和上網本的用戶體驗,隨着時間的推移,其他平臺的用戶體驗內容也將被加入到其中。
下面的部分降到每個子系統和功能模塊進行描述。
MeeGo操作系統底層
硬件自適應層
硬件供應商必須提供多個軟件組件以確保MeeGo可以正常在他們的平臺架構下運行。這些軟件組件包括:平臺內核驅動,平臺核心組件,內核配置管理組件,X相應組件和配置工具,modem驅動,以及硬件相關的多媒體組件。更多的硬件支持信息,詳見這兒。
以上這些我們稱之爲硬件自適應層。具體細節如下:
內核
內核是Linux的核心,充當着應用程序和硬件層之間的橋樑的角色。支持MeeGo的硬件平臺需要提供三類相關組件。
- 內核驅動:這是一套需要與硬件進行交互的軟件驅動程序。例如,天線、攝像頭、USB、3G模塊、藍牙及觸摸屏等這些硬件的驅動程序。
- 核心架構組件:這是一個額外的軟件包,可將它附加到內核中以支持某些硬件的相關功能。例如:固件。
- 內核配置文件:這個文件包含了一些讓硬件設備正常工作所需要的選項參數。在MeeGo中,這個配置文件是內核通用配置文件的組成部分,用於硬件提供商指定具體平臺參數的。這個文件對每個特定設備提供了詳細的配置信息,例如包括設備架構,處理器類型,設備驅動配置菜單,網絡支持以及內核調製選項等。
X窗口系統
X窗口系統(也叫做X11或簡稱爲X)提供了圖形接口以及構建這些接口的基本框架。MeeGo爲每一個支持的硬件平臺提供了兩套基本的X組件。
- 核心架構組件可將這些附加軟件包添加到X系統中以支持某些架構特性。例如,圖像控制器,顯示及圖形加速。
- X系統配置文件這個文件爲X窗口系統的初始化提供了相關的配置及運行參數支持。如果X窗口系統需要支持特定的硬件配置,則這些配置信息必須添加到指定的硬件平臺X配置文件中。比如顯示輸出和分辨率調整。
雜項
- BootloaderBootloader的唯一任務就是爲硬件適應操作系統執行必要的初始化,它包含主板和特定處理器代碼。Bootloader爲固件和內核提供必要的聯合作用。
- 鏡像設備格式化工具他提供瞭如何將一個鏡像寫到特定設備上的細節。它是一個用於在正確的設備格式下創建出可執行鏡像的工具。
- 調制解調器支持爲特定的移動電話調制解調器定製的移動電話框架插件。硬件相關多媒體編解碼器硬件相關編解碼器,例如,硬件附件/卸載編解碼器。
MeeGo內核
MeeGo使用一個來自kernel.org的linux內核,該內核附帶架構相關配置及所需補丁,另外,它還爲每個支持的平臺提供了驅動程序。
MeeGo系統中間件
通信服務
通信服務能夠爲平臺提供語音和數據連接的管理,通過WIFI,3G,WiMax和藍牙等一系列通信技術提供手機電話和IP電話的語音和和數據連接服務。
- 連接管理(ConnMan)
- 電話APIs(oFono)
- IP,VOIP,IM,Pres(Telepathy)
- 藍牙(bluez)
互聯網服務
互聯網服務提供Web內容,提供web運行時支持,與web服務交換數據,及定位等功能。
- Layout Engine(WebKit)
- Web Runtime(WebKit)
- Web Services(libSocialWeb)
- Location(GeoClue)
視覺服務
視覺服務確保了該平臺的核心2D和3D成像能力,包括提供國際化文本支持和提高底層硬件的圖形加速能力。
- 3D Graphics(OpenGL/OpenGL ES)
- 2D Graphics(Cairo QPainter)
- i18n Rendering(Pango,QtText)
- X Window System
多媒體服務
多媒體服務的目標是爲系統提供音頻或視頻回放、流媒體和影像功能。一般來說,多媒體服務需要實際的音/視步數據處理(恢復、多路分配器、解碼/編碼、搜索等)
- Media Framework (GStreamer)
- Camera (GStreamer plugin)
- Codecs (GStreamer plugins)
- Audio (PulseAudio)
- UPnP (GUPnP)
數據管理
數據管理子系統提供以下服務:提取和管理文件元數據(如支持提取和搜索多媒體文件的元數據),恢復設備原始數據(如設備位置,電纜狀態),管理設備安裝數據包。
- Content Framework (Tracker)
- Context Framework (ContextKit)
- Package Manager (PackageKit)
設備服務
設備服務子系統包含一組管理設備狀態的服務,包括使消費者安全使用的任務東西,以及與設備交換數據,傳感器數據提取,整個系統策略,同步數據設備、設備數據的備份和存儲。
個性化服務
確保能在設備上管理用戶數據,包括私人信息管理(也就是日曆,通訊路,任務)和管理用戶帳號以確保登陸web服務的獨立性。
MeeGo安全架構
MeeGo使用一個可擴展的安全框架,通過提供基於角色的訪問控制,適用於廣泛的系統從完全開放的系統,系統需要被部分鎖定的安全。這是有一個靈活的和可更新的政策,是由軟件stack.MeeGo安全關鍵件取得的成就,不是MeeGo 1.0版本的一部分。
MeeGo API
MeeGo API 提供應用開發接口,當前版本包括qt 4.6.2.附加功能正在開發,欲知祥情,請參考:MeeGo API page
Qt
Qt爲應用開發者提供藝術級圖形界面。Qt完全面向對像,容易擴展以及允許真正的組件編程。
Component(s): QtGui, QtCore, QtDBus, QtMultimedia, QtNetwork, QtOpenGL, QtScript, QtSql, QtSvg, QtWebKit, QtXml, Qt3Support, QtDeclarative, QtHelp, QtScriptTools, QtTest, QtXmlPatterns
Dependencies: http://doc.trolltech.com/4.6/requirements-x11.html
References: Qt 4.6.2 API Documentation