嵌入式linux中文站详细介绍了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窗口系统使用到的配置,则需要写到该文件里面,比如显示的分辨率。
其他需要硬件厂商提供的东东
1,启动加载器:启动加载器的工作是为 *** 作系统提供必要的硬件初始化以及准备工作,它提供的是主板/处理器相关的代码,启动加载器是ROM代码和内核的粘合剂。
2,图像设备格式化工具:提供了怎样往设备上写入图像的细节,这个工具被用来创建一个以恰当格式运行的设备对象。
3,猫的支持:为特定蜂窝电话提供支持的电话插件。
4,硬件相关的媒体编解码器。
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,数据管理:数据管理子系统提供元数据文件的释放和管理,比如媒体文件的元数据,设备上下文、安装包等。可以从以下三方面研究:
(1),内容框架(Tracker)
(2),上下文框架(ContextKit)
(3),打包管理(PackageKit)
6,设备管理:设备管理子系统,提供一系列服务,管理设备状态,包括一切使设备安全的状态,设备数据交换、数据传感、数据同步、数据备份和还原。
7,个性化服务:管理设备上用户的数据,包括私人信息管理(日历、联系人、任务等)以及web service的用户帐号管理。
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.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)