Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Moblin Architecture OverviewMoblin Architecture OverviewLinux Foundation – Moblin Seminar
Sunil SaxenaOpen Source Technology Center
Software & Services Group
Legal informationINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS ORLIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR , ,INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT.
Intel may make changes to specifications, product descriptions, and plans at y g p , p p , pany time, without notice.
All dates provided are subject to change without notice.
I l i d k f I l C i i h U S d h iIntel is a trademark of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2007-2009 Intel Corporation All rights are protected
22
Linux Foundation – Moblin Seminar 2
Copyright © 2007-2009, Intel Corporation. All rights are protected.
Agenda
Moblin Platform Usages
Moblin Architecture Overview
Summary / Call-to-Action
33
Linux Foundation – Moblin Seminar 3
MID Platform Usages
INFORMATION ENTERTAINMENTCOMMUNICATION
Video, TV, GamesPi t
Social NetworkingEU G t d C t t
DirectionsPOI, LBS
News, Shop, SportsInternet Browsing
PicturesMusic
Internet Browsing
EU Generated ContentBlog, IM/Chat
Voice (VoIP, CSV)Internet Browsing
Video Conferencing
GenYDigital Parents
Mobile Professionals
Internet Browsing
Gen YDigital Parents
Mobile Professional
GenYMobile Professionals
Video Conferencing
44
Linux Foundation – Moblin Seminar 44
Netbook & Nettop Platform Usages
CommunicateEmailInstant MessageVoice Over IP (VOIP)
Photo Viewing/SharingVideo StreamingBasic Online Gaming
Watch & Play
Voice Over IP (VOIP)Social Networking
Basic Online Gaming
LearnLearnResearchHomework & StudyingInternet (Safe) Browsing
Listen
Language Learning
BrowseS f h W b MP3
Streaming AudioSurf the Web Read the NewsSearch for Information
55
Linux Foundation – Moblin Seminar 5
In-vehicle Infotainment Platform Usages
In Car Usages In Car Usages
HandsHands--freefreeTelematicsTelematicsNavigation Navigation E t t i tE t t i tEntertainment Entertainment
66
Linux Foundation – Moblin Seminar 6
Embedded Platform Usages
• Kitchen Internet Device (aka Consumer Broadband Phone)
Internet Enabled PhoneInternet Enabled PhoneMedia PhoneMedia Phone ==( )
• Unified Communications Device (aka Unified Communications Client)• Bedside Internet Device (Hospitality, Telecare)
(Home)(Home)(Office)(Office)
• E Cash Registersg• Premise Service Platforms (Gateway)• General Embedded• .... New Segment Development
77
Linux Foundation – Moblin Seminar 77
AgendaMoblin Platform UsagesMoblin Platform Usages
Moblin Architecture OverviewUI S i– UI Services
– Internet Browser– Media Player– Connection Manager / Phone Application– Kernel Services– Netbook UX and Mid UXNetbook UX and Mid UX– Power Management– Boot times
Security– Security– SDK
Summary / Call-to-Action
88
Linux Foundation – Moblin Seminar 8
Summary / Call-to-Action
Moblin is Optimized Linux SW Platform for Intel® Atom™ Processorsp
Netbooks/MIDs Netbooks/Nettops
Auto Embedded
OS &S I f
OS &Sys. Infra.
OS &Sys Infra
OS &Sys. Infra.Moblin
Platforms based on Intel® Atom™ processors
Sys. Infra. Sys. Infra. Sys. Infra. Sys. Infra.
p
99
Linux Foundation – Moblin Seminar 9
The Moblin Software Stack
Platform Specific UX
UI ServicesUI Services
Mobblin Core
App Services
Linux Kernel and Drivers
Moblin Core is common across platforms
User Experience is specific to a platform (e.g. MID, Netbook, IVI, …)
1010
Linux Foundation – Moblin Seminar 10
The Moblin SW ArchitecturePl f S ifi UXWM Cl ttC P id dC P id d
3D User Interface Library (Clutter)3D User Interface Library (Clutter)QTQTQT EmbedQT Embed
Platform Specific UX
es
WM + Clutter Compositor
Customer ProvidedUI / Apps
Customer ProvidedUI / Apps Clutter toolkit Reference UX
GTK+GTK+Media Playback
(clutter-media)Media Playback
(clutter-media)
Physics(Box2D)
Physics(Box2D)
Web Rendering(mozilla-clutter)
Web Rendering(mozilla-clutter)
GTK Embed(clutter-GTK)
GTK Embed(clutter-GTK)
QT Embed(clutter-QT)
QT Embed(clutter-QT)
UI
Service
esMoblin CTelephony APIs
(Telepathy, GSM)
Network Mgmt(ConnMan)
Comms Services Internet ServicesLayout Engine
(Mozilla Gecko)
Web Services(REST, Mojito)
Media Services Graphics Services3D Graphics
(OpenGL)
i18N Rendering(Pango)
Media Services(GStreamer, Helix)
Audio Mgmt(PulseAudio)
Other ServicesMessage Bus
(D-Bus)
C Services(Glib GObject)
App
Service
Core
( p y, )
Bluetooth(BlueZ)
WiFi / WiMAX(D i OMA DM)
3rd PartyCellularStack
IPVoIP, IM,Presence
(REST, Mojito)
Location(Gypsy, GeoClue)
X
2D Graphics(Cairo)
(PulseAudio)
Content Mgmt(Bickley)
(Glib, GObject)
PIM Services(EDS)
Device Sync(SyncML, gUPnP)
Codecs
(Drivers, OMA-DM)
Linu
xKernel Linux Base Services
WiFi, WiMAXPower Mgmt Device Drivers Platform Support Graphics system
1111
Linux Foundation – Moblin Seminar 11
L K Bluetooth, 3G DataPower Mgmt Device Drivers Platform Support Graphics system
UI Services: ClutterClutter is an open source
3D User Interface Library (Clutter)3D User Interface Library (Clutter)Clutter is an open source software library for creating sleek, fast and visually rich
Media Playback(clutter-media)
Media Playback(clutter-media)
Physics(Box2D)
Physics(Box2D)
Web Rendering(mozilla-clutter)
Web Rendering(mozilla-clutter)
GTK Embed(clutter-GTK)
GTK Embed(clutter-GTK)
QT Embed(clutter-QT)
QT Embed(clutter-QT)
interfaces with 3D effects and animations– Uses OpenGL (mesa) without
Graphics Services3D Graphics
(OpenGL)
i18N RenderingUses OpenGL (mesa) without exposing the complexity
– Offers a simple, object-oriented API tailored toward manipulating
X
2D Graphics(Cairo)
g(Pango)
API, tailored toward manipulating 2D objects in 3D space and time
– Built on glib, gobject, pango, cairo– Developed in C with bindings for
Linux Base Services
– Developed in C with bindings for Python, Perl, C#
Graphics system
1212
Linux Foundation – Moblin Seminar 12
UI Services: QT / GTK+
GTK+GTK+
3D User Interface Library (Clutter)3D User Interface Library (Clutter)QTQTQT Embed
(clutter-QT)QT Embed
(clutter-QT)
QT is a cross-platform application framework
GTK Embed(clutter-GTK)
GTK Embed(clutter-GTK)
Q p pp– Portable across desktop and embedded operating systems
GTK+ is a cross-platform toolkit for creating User p gInterfaces
Both can be used alongside and with Clutterg
1313
Linux Foundation – Moblin Seminar 13
Graphics in MoblinHuge improvements since last year – composited 3D, monitor auto-plug, 2D/3D/Media shared objects, KMS, Kernel based 2D drawing
Graphics Execution Engine– Kernel Memory Management to allow persistent objects, global names, Pageable contents– SHMFS for object allocation– Cache management using “memory domains” exposed to Apps– Kernel manages graphics aperture exclusively– Batch buffers as the fundamental scheduling unit
DRI2 – new X extension to replace DRI (Direct Rendering Infrastructure) extension
Kernel Mode Setting g– Smooth boot experience and flicker free boot– Hot-plug monitors– Non-root X server possible
Multi-master DRM possible with DRI2 and KMS– Allows non-X GPU usages including GPGPU
OpenGL enhancements – work in progressGL Shading Language Tiled memory support new shader compiler
1414
Linux Foundation – Moblin Seminar 14
– GL Shading Language, Tiled memory support, new shader compiler
Internet BrowserThree major components of the
Platform Specific UX
BrowserThree major components of the browser– Headless layout engine, clutter
embedding and a platform specific
3D User Interface Library (Clutter)3D User Interface Library (Clutter)
embedding, and a platform specific browser app
Web Services libraries enable Internet Services
Web Rendering(mozilla-clutter)
Web Rendering(mozilla-clutter)
integration of web content (e.g. social networking, media) into the user experience
Layout Engine(Mozilla Gecko)
Web Services(REST, Mojito)
Location
GeoClue provides location information from a variety of so rces ia a D B s interface
(Gypsy, GeoClue)
sources via a D-Bus interface– Gypsy provides abstracted,
multiplexed access to GPS devices (a replacement for GPSD)
Linux Base Services
Platform SupportGraphics system
1515
Linux Foundation – Moblin Seminar 15
(a replacement for GPSD)
Media Player Platform Specific UX
Media
Media stack is designed to support either Helix or GStreamer
3D User Interface Library (Clutter)3D User Interface Library (Clutter)
Media Playback( l tt di )
Media Playback( l tt di )
Clutter-media provides a uniform interface to control Media Services
(clutter-media)(clutter-media)
playback of media sources
Bickley provides metadata
Media Services(GStreamer, Helix)
Audio Mgmt(PulseAudio)
Content Mgmt
extraction and management for media files (audio, video, and photo)
Co te t g t(Bickley)
Codecs
and photo)Linux Base Services
Platform SupportDevice Drivers
1616
Linux Foundation – Moblin Seminar 16
Gstreamer – The Architecture Overview• What is Gstreamer?
– a library for constructing graphs of media-handling
tcomponents. – applications can take
advantage of advances in codec and filter technologycodec and filter technology transparently.
– GStreamer is released under the LGPL.
• About Fluendo– a company launched in 2004.
It is building their services on t f th GSttop of the GStreamerstreaming media framework.
– maintainers of gstreamer are employed in that company
Courtesey: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-gstreamer.html
1717
Linux Foundation – Moblin Seminar 17
employed in that company.
Connection Manager Platform Specific UX
CM Phone
Network management via ConnMan supporting WiFi, WiMAX and 3G data
3D User Interface Library (Clutter)3D User Interface Library (Clutter)
WiMAX, and 3G data connections
Comms Services
Telephony APIs(Telepathy, oPhono-GSM)
Bl t th
Network Mgmt(ConnMan)
3rd
P t IP
Phone ApplicationsTelephony interface to enable support for multiple 3G voice stacks and integration with VoIP
Bluetooth(BlueZ)
WiFi / WiMAX / 3G(Drivers, OMA-DM)
PartyCellularStack
IPVoIP, IM,Presence
gLinux Base Services
Platform SupportDevice Drivers
1818
Linux Foundation – Moblin Seminar 18
Other Services: PIM and Sync Platform Specific UX
App
EDS provides the data store for PIM data (Calendar, Contacts, and Tasks)
Other Services
3D User Interface Library (Clutter)
3D User Interface Library (Clutter)
Integrating device synchronization– Planning a SyncML client which
synchronizes PIM data
Other Services
y– Media sync under investigation
D-Bus as the common mechanism for
Message Bus(D-Bus)
C Services(Glib, GObject)
PIM Services
app-to-app / app-to-service communication (e.g. Connman, Mojito, EDS Bickley etc)
(EDS)
Device Sync(SyncML, gUPnP)
EDS, Bickley, etc)
Glib and Gobject are standard portable object system used by other services
Linux Base Services
Device Drivers
1919
Linux Foundation – Moblin Seminar 19
object system used by other services
Kernel ServicesLinux Base Services
WiFi, WiMAXBluetooth, 3G Data
Power Mgmt Device Drivers Platform Support Graphics system
Base Linux kernel– Base Linux Wireless and Bluetooth drivers
Device drivers and platform support specific to platform
Base Linux Power management for Netbooks– MID power management stack may be extra– Using Powertop to optimize full-stack
2020
Linux Foundation – Moblin Seminar 20
Moblin Netbook UXMoblin Netbook UX
Customer ProvidedUI / Apps
Customer ProvidedUI / Apps
Metacity WM+ Clutter Compositor
UI / AppsUI / Apps
Moblin Netbook Reference UX
A i d i d f N tb k
Netbook Clutter toolkit
A new user experience designed for Netbook usages (Internet, Media, Social Networking)
Optimi ed for a 7 10” screen ke board and trackpadOptimized for a 7-10” screen, keyboard and trackpad
Supports existing Linux apps (e.g. GTK+, QT)
2121
Linux Foundation – Moblin Seminar 21
Moblin MID UXMoblin MID UX
Customer ProvidedUI / Apps
Customer ProvidedUI / Apps
MatchBox WM+ Clutter Compositor
UI / AppsUI / Apps
MID Clutter toolkit
Moblin MID Reference UX
A new user experience designed for MID usages (Internet
MID Clutter toolkit
A new user experience designed for MID usages (Internet, Media, Social Networking, Telephony)
Optimized for < 5” screen, touch as primary input, optionalOptimized for 5 screen, touch as primary input, optional keyboard
Generally requires new app UI
2222
Linux Foundation – Moblin Seminar 22
y q pp
Power-management
Moblin Netbook Platform power-management philosophy follows best Linux Power Management practices
When parts of HW that is not sed it goes into deepest po er– When parts of HW that is not used it goes into deepest power-saving state
– Use Power top to check if any software shows unfavorable behavior to disallow the platform going into power saving statesbehavior to disallow the platform going into power saving states
– The HW and OS abstract specific power behavior so that applications are power agnostic
Moblin MID platform is expected to use platform specific (Moorestown) Power management
S t d l tf ifi t l ti– Segment and platform specific power-management solution
2323
Linux Foundation – Moblin Seminar 23
Security Model for Moblin
Security for Moblin provides Exploit defenseMoblin Security features follows best practices of core Linux to
Di ll l it ti f b ff fl– Disallow exploitation of buffer overflow– Prevent access by malicious external access
Moblin supports– XD in Linux to disallow execution of code from stack or heap space– Address space randomization– Uses canary value with return address on the stack
F tif fi d l th / t t t di ll t id f it– Fortify fixed length arrays / structures to disallow access outside of it– Does not allow external agent to open network connection into Moblin
• No open ports that Moblin listens to, only allows outbound connection Non root X server support with the use of KMS and DRI2– Non-root X server support with the use of KMS and DRI2
Security Updates come from OSV– Moblin provides signing them with GPG key
2424
Linux Foundation – Moblin Seminar 24
p g g y
Boot times
Boot times is important for us and is a big focus for Moblin
Standby and Shutdown times are equally importanty q y p
Moblin boot time (after BIOS handoff) with SSD isless than 10 seconds at this time– Work continues to cut that down to half of that– MID, IVI and Embedded platforms require lower boot times
2525
Linux Foundation – Moblin Seminar 25
Moblin 2.0 SDK http://moblin.org/documentation/moblin-sdk
Guide to create a new application http://moblin.org/documentation/moblin-sdk/create-new-application
– Setting up a development environmentSetting up a development environment http://moblin.org/documentation/moblin-sdk/create-new-application#dev-environment
– Create, build, and run a new application or library http://moblin.org/documentation/moblin-sdk/create-new-application#create-build-run
Fi d ti t t i l d t t– Find tips, tutorials, and next steps http://moblin.org/documentation/moblin-sdk/create-new-application#tips
Development Tools http://moblin.org/documentation/moblin-sdk/development-tools
Coding Tutorials http://moblin.org/documentation/moblin-sdk/coding-tutorials
2626
Linux Foundation – Moblin Seminar 26
Agenda
Moblin Platform Usages
Moblin Architecture Overview
Summary / Call-to-Action
2727
Linux Foundation – Moblin Seminar 27
Moblin Summaryy• An Open Source Community Project
• A complete Linux stack – kernel, drivers, OS+UI+Apps infrastructure, core apps, tools, SDK
• A common software platform across MIDs, Netooks, Nettops, IVI
• Productized by 17 Linux OSVs WWProductized by 17 Linux OSVs WW
• Moblin project = technology
Moblin is the OS optimized for Atom based devices
• Moblin products = OSVs
2828
Linux Foundation – Moblin Seminar 28
Thank youThank you
2929
Linux Foundation – Moblin Seminar 29