MeeGo的架构

 

MeeGo-OS Middleware

1.Comms Services

(1)Connection Mgmt---connman
http://connman.net/
The ConnMan project provides a daemon for managing internet connections within embedded devices running the Linux operating system. The Connection Manager is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.
(2)Telephony---ofono
http://ofono.org/
oFono.org is a place to bring developers together around designing an infrastructure for building mobile telephony (GSM/UMTS) applications. oFono is licensed under GPLv2, and it includes a high-level D-Bus API for use by telephony applications of any license. oFono also includes a low-level plug-in API for integrating with open source as well as third party telephony stacks, cellular modems and storage back-ends. oFono Architecture
(3)VOIP,IM,Presene---Telepathy
http://telepathy.freedesktop.org/wiki/
Telepathy is a flexible, modular communications framework that enables real-time communication via pluggable protocol backends. Telepathy is a communications service that can be accessed by many applications ("clients") simultaneously.
(4)Bluetooth---BlueZ
http://www.bluez.org/
Offical Linux Bluetooth protocol stack.

2.Internet Service

(1)Layout Engine---WebKit
http://www.webkit.org/
WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by Safari, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE.
(2)Web RunTime---WebKit
(3)Web Services---libSocialWeb

http://moblin.org/projects/libsocialweb
LibSocialWeb is a data client and server which will fetch data from the "social web", such as your friend's blog posts and photos, upcoming events, recently played tracks, and pending eBay* auctions. It also provides a service to update your status on web services which support it, such as MySpace* and Twitter*.
(4)Location---GeoClue
http://www.freedesktop.org/wiki/Software/GeoClue
Geoclue is a modular geoinformation service built on top of the D-Bus messaging system. The goal of the Geoclue project is to make creating location-aware applications as simple as possible.

3.Visual Service

(1)3D Graphics---OpenGL/OpenGL ES
http://www.opengl.org/
The Industry's Foundation for High Performance Graphics
(2)2D Graphics---cario QPainter
http://www.cairographics.org/
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, XCB, BeOS, OS/2, and DirectFB.
(3)i18n Rendering---Pango QtText
http://www.pango.org/
Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.
(4)GTK/Clutter
http://www.gtk.org/
GTK+ is a highly usable, feature rich toolkit for creating graphical user interfaces which boasts cross platform compatibility and an easy to use API.
http://www.clutter-project.org/
Clutter is an open source (LGPL 2.1) software library for creating fast, compelling, portable, and dynamic graphical user interfaces. It is a core part of MeeGo, and is supported by the open source community. Its development is sponsored by Intel.
(5)X
http://www.x.org/wiki/

4.Media Services

(1)MediaFramewok---GStreamer
http://gstreamer.freedesktop.org/
GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.
(2)Camera---GStreamer plug-in
(3)Codecs---GStreamer plug-in
(4)Audio---PulseAudio

http://en.wikipedia.org/wiki/PulseAudio
PulseAudio (formerly Polypaudio) is a cross-platform, networked sound server commonly used on the Linux-based and FreeBSD operating systems. It can be used as an improved drop-in replacement for the Enlightened Sound Daemon (ESD).
(5)Upnp(Universal Plug and Play)---GUPnP
http://www.gupnp.org/
GUPnP is an elegant, object-oriented open source framework for creating UPnP  devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals.

5.Data Mgmt

(1)Content Framework---Tracker
http://www.tracker-project.org/
Tracker is a search engine and that allows the user to find their data as fast as possible. Users can search for their files and search for content in their files too.
(2)Context Framework--ContextKit
http://maemo.gitorious.org/maemo-af/contextkit
ContextKit is a framework for collecting contextual information from the bowels of the system, cleaning them up and offering them through a simple API.
(3)Package Manager---PackageKit
http://www.packagekit.org/
PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less.

6.Device Services

(1)Device Health
(2)Sersor Framework
(3)Resource Mgr
(4)Backup & Restore

7.Personal Services

(1)PIM services
(2)Device Sync
(3)Accts & SSO

 

Meego-OS Base

1.HW Adaptation Software

2.MeeGo Kernel

支持MeeGo的硬件平台需要提供三类相关组件:内核驱动、核心架构组件、内核配置文件。
(1)Setting Database---GConf
http://en.wikipedia.org/wiki/GConf
GConf is a system used by the GNOME desktop environment for storing configuration settings for the desktop and applications. Changes to this system are controlled by GConfd, a daemon. GConfd watches out for changes to the database, and when they are changed, it applies the new settings to applications using it.
(2)System Libraries--glibc,glib,etc.
(3)Messages Bus---D-Bus

http://www.freedesktop.org/wiki/Software/dbus
D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed.
(4)Platform Info---libudev
Because it's cumbersome and error-prone to walk the Sysfs tree from within an application's code, there's a convenient library called libudev to do this task for us.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值