Download - Memory Efficient GNOME Architecture
Transcript
- 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?