際際滷

際際滷Share a Scribd company logo
Chinook Software Architecture Juha Tukkinen Juha Tukkinen / November 2007
Content Architecture overview logical process development Major components GNOME Mobile & maemo Differences to other OS¨s
Architecture overview
Architecture overview C logical view GNU/Linux X HAL GLib D-Bus core GTK+ Pango Cairo ATK Hildon Desktop Matchbox user interface Hildon Toolkit Applications Hildon plugins Sapwood GnomeVFS system services GConf GStreamer BlueZ E-D-S Telepathy LibConIC connectivity & communications Hildon Input Method
Architecture overview - logical 2
Architecture overview  - multimedia
Architecture overview - processes processes run as user systemui nobody messagebus haldaemon root
?
Architecture overview - processes Important system software processes dsme C Device State Management Entity, a watchdog bme C Battery Management Entity mce C Mode Control (e.g. offline, device lock, leds) dbus-daemon C system&session, IPC for a desktop session, launches singleton applications, lifecycle tracking maemo-launcher C speeds up application startup
Architecture overview - processes User interface server processes hildon-desktop  hildon-input-method sapwood-server - theme engine matchbox-window-manager clipboard-manager
Architecture overview C development view
Major components GNU/Linux X HAL GLib D-Bus core GTK+ Pango Cairo ATK Hildon Desktop Matchbox user interface Hildon Toolkit Applications Hildon plugins Sapwood GnomeVFS system services GConf GStreamer BlueZ E-D-S Telepathy LibConIC connectivity & communications Hildon Input Method
GNOME Mobile C  prevent mobile Linux fragmentation
Differences to other mobile operating systems builds on existing open source desktop components all basic frameworks¨ source code available applications do not need signing SDK open source development environment free software ITOS contains also closed parts
Architecture overview - challenges Architecture heritage from GTK+ and GNOME Multiple APIs for the application developer Upstream APIs naturally change maemo specific APIs Documentation/API quality varies a lot Native application development language is C Not many available standards in mobile Linux ´ it is a hacker¨s world both in good and bad!
Architecture overview - achievements avoided ^not invented here ̄ largely same software components as in a normal GNU/Linux desktop maemo  is  an open embedded mobile platform embrace existing policies (e.g. Debian packaging) support existing  de facto  standards porting existing desktop software made easy

More Related Content

Maemo Chinook Software Architecture

  • 1. Chinook Software Architecture Juha Tukkinen Juha Tukkinen / November 2007
  • 2. Content Architecture overview logical process development Major components GNOME Mobile & maemo Differences to other OS¨s
  • 4. Architecture overview C logical view GNU/Linux X HAL GLib D-Bus core GTK+ Pango Cairo ATK Hildon Desktop Matchbox user interface Hildon Toolkit Applications Hildon plugins Sapwood GnomeVFS system services GConf GStreamer BlueZ E-D-S Telepathy LibConIC connectivity & communications Hildon Input Method
  • 6. Architecture overview - multimedia
  • 7. Architecture overview - processes processes run as user systemui nobody messagebus haldaemon root
  • 8. ?
  • 9. Architecture overview - processes Important system software processes dsme C Device State Management Entity, a watchdog bme C Battery Management Entity mce C Mode Control (e.g. offline, device lock, leds) dbus-daemon C system&session, IPC for a desktop session, launches singleton applications, lifecycle tracking maemo-launcher C speeds up application startup
  • 10. Architecture overview - processes User interface server processes hildon-desktop hildon-input-method sapwood-server - theme engine matchbox-window-manager clipboard-manager
  • 11. Architecture overview C development view
  • 12. Major components GNU/Linux X HAL GLib D-Bus core GTK+ Pango Cairo ATK Hildon Desktop Matchbox user interface Hildon Toolkit Applications Hildon plugins Sapwood GnomeVFS system services GConf GStreamer BlueZ E-D-S Telepathy LibConIC connectivity & communications Hildon Input Method
  • 13. GNOME Mobile C prevent mobile Linux fragmentation
  • 14. Differences to other mobile operating systems builds on existing open source desktop components all basic frameworks¨ source code available applications do not need signing SDK open source development environment free software ITOS contains also closed parts
  • 15. Architecture overview - challenges Architecture heritage from GTK+ and GNOME Multiple APIs for the application developer Upstream APIs naturally change maemo specific APIs Documentation/API quality varies a lot Native application development language is C Not many available standards in mobile Linux ´ it is a hacker¨s world both in good and bad!
  • 16. Architecture overview - achievements avoided ^not invented here ̄ largely same software components as in a normal GNU/Linux desktop maemo is an open embedded mobile platform embrace existing policies (e.g. Debian packaging) support existing de facto standards porting existing desktop software made easy