Memory Efficient GNOME Architecture

download Memory Efficient GNOME Architecture

If you can't read please download the document

description

Presentation made in GUADEC 2006 about how in maemo we've been tackling some of the problems GNOME architecture has on devices with limited amount of memory.

Transcript of Memory Efficient GNOME Architecture

  • 1. Memory Efficient GNOME Architecture
      • Tommi Komulainen

2. Outline

  • Problems
  • Solving the problems in Maemo

3. Problems

  • Processes, processes, processes...
  • Data duplication

4. Processes

  • System services
    • dbus-daemon, dbus-daemon, gconfd-2, gnome-vfs-daemon, ...
  • Applets
    • Home (5+1), Task Navigator (4), Status bar (5+2)
  • Applications
    • Short-lived message passing

5. Data duplication

  • Memory structures re-created in every application
    • GObject classes, fonts, gtkrc
  • ...from data that hardly ever changes
  • Tools lacking

6. Solving the problems in Maemo

  • In-process applets
  • Every application is a D-BUS service
  • maemo-launcher
  • Background killing applications

7. In-process applets

  • Crashing is not an option!

8. Every application is a D-BUS service

  • One IPC to rule them all
  • Single-instance
    • [Desktop Entry] Type=Application Name=Web Exec=/usr/bin/browser X-Osso-Service=com.nokia.osso_browser

9. Maemo-launcher

  • Copy-on-write hack for reducing the process overhead

10. Background killing applications

  • State saving
  • Session Management on application level

11. Conclusion 12. Questions?

  • Comments, flames, beer?