SlideShare a Scribd company logo
1 of 21
Download to read offline
Maemo 5 Architecture
             Overview

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09
Contents
       • Introduction
       • HW Architecture (Nokia N900)
       • SW Architecture (Maemo 5)
       • Developer tools architecture
       • Q&A




Discover Maemo
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             Introduction




Discover Maemo
Santa Clara, CA   Dec 09
Product Multimedia Computer
    Internet Optimized
                       evolution

                                                               Nokia N900




                                                     Nokia N810
                                                     WiMAX Edition



                                        Nokia N810


                           Nokia N800
Discover Maemo
Nokia 770
Santa Clara, CA   Dec 09
Software developed with the
  community

                                         14.000 members
                                            700 hosted
                                            projects
                                            200 applications
                            Maemo
                                          Nokia is a key
                                          contributor to
                           Community      projects such as
                                          GNOME/GTK+.
                           Open source
                             projects
Discover Maemo
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             HW Architecture
                           Top Level view
                           Runtime view
                           “Developer” view



Discover Maemo
Santa Clara, CA   Dec 09
Top level view
  Runtime view                                   Peripherals
                                         Keyboard, vibra, actuators…
       WLAN
                                                                                       N900
    (802.11g)                                            …
                                                OMAP 3430
    Bluetooth
                                                                                       Proximity
        (v2.1)                                   Cortex A8
                                                     (ARM)
      Modem                      SPI
                                                                             I2C          ALS
       (HSPA)                    SSI      PowerVR
                                                               DSP
                                               SGX
         USB                                                                            Accelero-
      (HS 2.0)                              SDRAM ctrl, DMA, …
                                                                                         meter
                                                McBSP, UART


                           LCD                       Camera      Camera
                                       Touch                                  MMC/SD
                   (800x480)                         (5 Mpx)         (VGA)
Discover Maemo
Santa Clara, CA   Dec 09
Runtime view - boot


                                                        rootfs
                                             [initrd]
                                    kernel
                                    code
                           boot
                           loader
                  boot
                  ROM
                  code

Discover Maemo
Santa Clara, CA   Dec 09
Runtime view – Storage
                  FLASH partitions   Size           Comments

                  Boot loaders…      ~ 600 kB

                  Kernel             2048 kB

                  Initfs             2048 kB        Not used

                  Rootfs             257280 kB      UBIFS, “/”


         eMMC partitions              Size (32GB)    Comments

         /home/user/MyDocs            ~ 28 GB        FAT32

         /home                        2 GB           ext3, /home/opt

         /swap                        768 MB         swap


Discover Maemo
Santa Clara, CA   Dec 09
Developer view – Interfaces provided
     Component              Low level interface   Comments
     Accelerometer          sysfs                 HAL, MCE
     Ambient light sensor   sysfs                 HAL
     Bluetooth              BTH, ALSA             Bluez
     Camera(s)              V4L2                  gstcamerabin
     DSP                    DSP Bridge/OpenMAX    gst elements
     FM TX                  ALSA
     Graphics accelerator   driver, EGL           OpenGLES2.0, clutter
     LCD                    framebuffer           toolkits
     LEDs                   sysfs                 MCE, HAL
     MMC/SD                 Block device          ext3, vfat
     Peripherals            sysfs, input layer    MCE, HAL
     TV-out                 Xrandr
     USB                    driver                LINUX HS USB OTG
   WLAN
Discover Maemo              driver                802.11g
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             SW Architecture
                           Target
                           Top level view, logical view, process view
                           Subsystem examples
                           Deployment view


Discover Maemo
Santa Clara, CA   Dec 09
Solid target SW architecture on Linux – first in
taking Linux desktop paradigm to mobile devices & now in its
5th generation


             Objective: Solid, high performance software
             architecture for Linux-based multimedia computer
             – modular, secure, open, and expandable.


            Design characteristics: Allow collaborative
            development of operating system components in
            open source projects and differentiation by Nokia in
            user experiences.


Discover Maemo
Santa Clara, CA   Dec 09
Top Level Architecture
                            <<layer>> Independent applications

           People, Places, Media, Internet   Maemo services


                                 Maemo platform interface

                                   Middleware interface


                                   <<layer>> Middleware

           AF, Content, Context, System, Multimedia, Communications, Runtimes


                                       Base interface

                                     <<layer>> base

      Essentials; Kernel; Multimedia, Graphics, Communications & System
Discover Maemo
      adaptation
Santa Clara, CA   Dec 09
Rockstars in subsystem view
     Desktop                             Hildon desktop      Clutter

     Toolkits                   Qt         GTK+, GDK           SDL

      Data mgmt              SQLite     Debian pkg mgmt      Tracker

      Communic.            Telepathy         GUPnP           BlueZ

       Multimedia          PulseAudio      GStreamer         MAFW

                                        linuxwireless.org   OpenGL ES
                            V4L2              OHM            upstart
       Core
                           BusyBox           Gconf            D-Bus
       System
                            Xorg              HAL             GLib

Discover Maemo                             Linux Kernel
Santa Clara, CA   Dec 09
Process view

                  Run as     System processes       UI server
                                                   processes

                    user           dsme            hildon-desktop

                  nobody           bme          hildon-input-method
              haldaemon            mce            sapwood server
             messagebus         dbus-daemon         hildon-home
                    root      maemo-launcher




Discover Maemo
Santa Clara, CA     Dec 09
Deployment view – APIs                                             System SW APIs
                                                                     * libhal
                                             RTCOM APIs              * libhal-storage
  Toolkit APIs    Multimedia APIs
                                               * telepathy-glib      * libalarm
    * Gio             * gstreamer
                                               * farsight2-libs      * mce-dev
    * Glib            * gstreamer-libs
                                                                     * libprofile
    * Gobject         * gstreamer-plugins-0.10 * farsight2-plugins
    * GTK+            * pulseaudio             * telepathy-farsight
    * ATK             * gupnp                  * libnice
    * GDK             * gupnp-av               * libaccounts       Connectivity APIs
    * GDK-pixbuf      * libcanberra            * libosso-abook       * libconic
    * dbus            * libmafw                * libebook            * libgwobex
    * dbus-glib       * libspeex               * libedataserver      * bluez
    * gconf           * mafw-shared                                  * osso-wlan
    * pango           * libsoup                                      * icd2
    * cairo                                   Hildon APIs
    * clutter                                    * libhildon
                Application Interface APIs       * libhildondesktop
                  * calendar-backend             * libhildonfm
                  * libcityinfo                  * libosso
                  * libtime                      * libnotify
                  * liblocation                  * libtracker-common
Discover Maemo * libsharing-plugin               * libtracker-module
Santa Clara, CA   Dec 09
Deployment view – Typical application
         Application
                                                          A typical UI application


                                Hildon
                  GTK+
                                              Gnome VFS      GStreamer      libosso


                                          GConf2
   Pango                  ATK




                  Cairo                                          D-Bus

                                GObject        GLib
Discover Maemo
Santa Clara, CA      Dec 09
Maemo 5 Architecture
             Developer tools architecture
                           Scratchbox




Discover Maemo
Santa Clara, CA   Dec 09
Maemo SDK basics
    Development environment
      Uses Scratchbox
      masquerades host system and tools to look like target
      fixes tools rather than packages for cross compilation
      similar development process to normal desktop
      Why Scratchbox?
      a lot of reuse of existing components in OSS projects
      these components are not designed to be cross compiled
      speed of development

      Simple to use
      apt-get source <any standard Maemo distribution package>
      dpkg-buildpackage

      Flexible execution
      X86, ARMEL, qemu

      Supported programming languages
      C, C++ and Python (C officially)

    The actual Maemo SDK is
Discover Maemo
    Set of preconfigured Scratchbox targets and root file systems
Santa Clara, CA
 26               Dec 09
Scratchbox architecture

                  Scratchbox sandbox
                                                     OS platform:
                           “scratchbox”           software for target

                     devkits         toolchains   rootstrap

                       CPU transparencies



                                                  host tools
                           PC Host

                                                       sbrsh/nfs
                                                     Target device


Discover Maemo
Santa Clara, CA   Dec 09
That’s all folks!
             Thank you!

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09

More Related Content

Similar to Maemo 5 Architecture Overview

Varkon Semiconductor
Varkon Semiconductor Varkon Semiconductor
Varkon Semiconductor Rajiv Parmar
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructureexponential-inc
 
Презентация команды "Обыватели"
Презентация команды "Обыватели"Презентация команды "Обыватели"
Презентация команды "Обыватели"Tatyana Savchyk
 
Open Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology TourOpen Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology TourWalter Moriconi
 
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAsScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAsShinya Takamaeda-Y
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
State Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecState Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecPascal Cottereau
 
Compression for DB2 for z/OS
Compression for DB2 for z/OS Compression for DB2 for z/OS
Compression for DB2 for z/OS Willie Favero
 
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...Modern Data Stack France
 
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...StampedeCon
 
Embracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codeEmbracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codekamaelian
 
Multimedia software hardware
Multimedia software hardwareMultimedia software hardware
Multimedia software hardwaregopinathselvi
 
What Mobile Developers Should Know
What Mobile Developers Should KnowWhat Mobile Developers Should Know
What Mobile Developers Should KnowMobiVentures
 
Mozilla in Vietnam 2009
Mozilla in Vietnam 2009Mozilla in Vietnam 2009
Mozilla in Vietnam 2009Gen Kanai
 
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation AMD
 
ODSA Use Case - SmartNIC
ODSA Use Case - SmartNICODSA Use Case - SmartNIC
ODSA Use Case - SmartNICODSA Workgroup
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOTpauldeng
 
Case Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded ProcessorsCase Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded Processorsaccount inactive
 

Similar to Maemo 5 Architecture Overview (20)

Varkon Semiconductor
Varkon Semiconductor Varkon Semiconductor
Varkon Semiconductor
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructure
 
Презентация команды "Обыватели"
Презентация команды "Обыватели"Презентация команды "Обыватели"
Презентация команды "Обыватели"
 
Open Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology TourOpen Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology Tour
 
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAsScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
State Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecState Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical Spec
 
Compression for DB2 for z/OS
Compression for DB2 for z/OS Compression for DB2 for z/OS
Compression for DB2 for z/OS
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
 
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
 
Embracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codeEmbracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler code
 
Brochure NAS LG
Brochure NAS LGBrochure NAS LG
Brochure NAS LG
 
Multimedia software hardware
Multimedia software hardwareMultimedia software hardware
Multimedia software hardware
 
What Mobile Developers Should Know
What Mobile Developers Should KnowWhat Mobile Developers Should Know
What Mobile Developers Should Know
 
Mozilla in Vietnam 2009
Mozilla in Vietnam 2009Mozilla in Vietnam 2009
Mozilla in Vietnam 2009
 
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
ODSA Use Case - SmartNIC
ODSA Use Case - SmartNICODSA Use Case - SmartNIC
ODSA Use Case - SmartNIC
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
Case Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded ProcessorsCase Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded Processors
 

More from Ashley Walker

Native Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul NimbahlkarNative Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul NimbahlkarAshley Walker
 
Maemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane DMaemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane DAshley Walker
 
Hildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry PastushenkoHildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry PastushenkoAshley Walker
 
Developer Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu AhonenDeveloper Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu AhonenAshley Walker
 
Maemo Now And Future Janne Heikkinen
Maemo Now And Future Janne HeikkinenMaemo Now And Future Janne Heikkinen
Maemo Now And Future Janne HeikkinenAshley Walker
 
Importance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall ArnoldImportance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall ArnoldAshley Walker
 
Enabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart ParmenterEnabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart ParmenterAshley Walker
 
Developer Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob TaylorDeveloper Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob TaylorAshley Walker
 
Ovi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg SauterOvi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg SauterAshley Walker
 

More from Ashley Walker (9)

Native Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul NimbahlkarNative Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul Nimbahlkar
 
Maemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane DMaemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane D
 
Hildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry PastushenkoHildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry Pastushenko
 
Developer Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu AhonenDeveloper Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu Ahonen
 
Maemo Now And Future Janne Heikkinen
Maemo Now And Future Janne HeikkinenMaemo Now And Future Janne Heikkinen
Maemo Now And Future Janne Heikkinen
 
Importance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall ArnoldImportance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall Arnold
 
Enabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart ParmenterEnabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart Parmenter
 
Developer Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob TaylorDeveloper Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob Taylor
 
Ovi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg SauterOvi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg Sauter
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Maemo 5 Architecture Overview

  • 1. Maemo 5 Architecture Overview Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09
  • 2. Contents • Introduction • HW Architecture (Nokia N900) • SW Architecture (Maemo 5) • Developer tools architecture • Q&A Discover Maemo Santa Clara, CA Dec 09
  • 3. Maemo 5 Architecture Introduction Discover Maemo Santa Clara, CA Dec 09
  • 4. Product Multimedia Computer Internet Optimized evolution Nokia N900 Nokia N810 WiMAX Edition Nokia N810 Nokia N800 Discover Maemo Nokia 770 Santa Clara, CA Dec 09
  • 5. Software developed with the community 14.000 members 700 hosted projects 200 applications Maemo Nokia is a key contributor to Community projects such as GNOME/GTK+. Open source projects Discover Maemo Santa Clara, CA Dec 09
  • 6. Maemo 5 Architecture HW Architecture Top Level view Runtime view “Developer” view Discover Maemo Santa Clara, CA Dec 09
  • 7. Top level view Runtime view Peripherals Keyboard, vibra, actuators… WLAN N900 (802.11g) … OMAP 3430 Bluetooth Proximity (v2.1) Cortex A8 (ARM) Modem SPI I2C ALS (HSPA) SSI PowerVR DSP SGX USB Accelero- (HS 2.0) SDRAM ctrl, DMA, … meter McBSP, UART LCD Camera Camera Touch MMC/SD (800x480) (5 Mpx) (VGA) Discover Maemo Santa Clara, CA Dec 09
  • 8. Runtime view - boot rootfs [initrd] kernel code boot loader boot ROM code Discover Maemo Santa Clara, CA Dec 09
  • 9. Runtime view – Storage FLASH partitions Size Comments Boot loaders… ~ 600 kB Kernel 2048 kB Initfs 2048 kB Not used Rootfs 257280 kB UBIFS, “/” eMMC partitions Size (32GB) Comments /home/user/MyDocs ~ 28 GB FAT32 /home 2 GB ext3, /home/opt /swap 768 MB swap Discover Maemo Santa Clara, CA Dec 09
  • 10. Developer view – Interfaces provided Component Low level interface Comments Accelerometer sysfs HAL, MCE Ambient light sensor sysfs HAL Bluetooth BTH, ALSA Bluez Camera(s) V4L2 gstcamerabin DSP DSP Bridge/OpenMAX gst elements FM TX ALSA Graphics accelerator driver, EGL OpenGLES2.0, clutter LCD framebuffer toolkits LEDs sysfs MCE, HAL MMC/SD Block device ext3, vfat Peripherals sysfs, input layer MCE, HAL TV-out Xrandr USB driver LINUX HS USB OTG WLAN Discover Maemo driver 802.11g Santa Clara, CA Dec 09
  • 11. Maemo 5 Architecture SW Architecture Target Top level view, logical view, process view Subsystem examples Deployment view Discover Maemo Santa Clara, CA Dec 09
  • 12. Solid target SW architecture on Linux – first in taking Linux desktop paradigm to mobile devices & now in its 5th generation Objective: Solid, high performance software architecture for Linux-based multimedia computer – modular, secure, open, and expandable. Design characteristics: Allow collaborative development of operating system components in open source projects and differentiation by Nokia in user experiences. Discover Maemo Santa Clara, CA Dec 09
  • 13. Top Level Architecture <<layer>> Independent applications People, Places, Media, Internet Maemo services Maemo platform interface Middleware interface <<layer>> Middleware AF, Content, Context, System, Multimedia, Communications, Runtimes Base interface <<layer>> base Essentials; Kernel; Multimedia, Graphics, Communications & System Discover Maemo adaptation Santa Clara, CA Dec 09
  • 14. Rockstars in subsystem view Desktop Hildon desktop Clutter Toolkits Qt GTK+, GDK SDL Data mgmt SQLite Debian pkg mgmt Tracker Communic. Telepathy GUPnP BlueZ Multimedia PulseAudio GStreamer MAFW linuxwireless.org OpenGL ES V4L2 OHM upstart Core BusyBox Gconf D-Bus System Xorg HAL GLib Discover Maemo Linux Kernel Santa Clara, CA Dec 09
  • 15. Process view Run as System processes UI server processes user dsme hildon-desktop nobody bme hildon-input-method haldaemon mce sapwood server messagebus dbus-daemon hildon-home root maemo-launcher Discover Maemo Santa Clara, CA Dec 09
  • 16. Deployment view – APIs System SW APIs * libhal RTCOM APIs * libhal-storage Toolkit APIs Multimedia APIs * telepathy-glib * libalarm * Gio * gstreamer * farsight2-libs * mce-dev * Glib * gstreamer-libs * libprofile * Gobject * gstreamer-plugins-0.10 * farsight2-plugins * GTK+ * pulseaudio * telepathy-farsight * ATK * gupnp * libnice * GDK * gupnp-av * libaccounts Connectivity APIs * GDK-pixbuf * libcanberra * libosso-abook * libconic * dbus * libmafw * libebook * libgwobex * dbus-glib * libspeex * libedataserver * bluez * gconf * mafw-shared * osso-wlan * pango * libsoup * icd2 * cairo Hildon APIs * clutter * libhildon Application Interface APIs * libhildondesktop * calendar-backend * libhildonfm * libcityinfo * libosso * libtime * libnotify * liblocation * libtracker-common Discover Maemo * libsharing-plugin * libtracker-module Santa Clara, CA Dec 09
  • 17. Deployment view – Typical application Application A typical UI application Hildon GTK+ Gnome VFS GStreamer libosso GConf2 Pango ATK Cairo D-Bus GObject GLib Discover Maemo Santa Clara, CA Dec 09
  • 18. Maemo 5 Architecture Developer tools architecture Scratchbox Discover Maemo Santa Clara, CA Dec 09
  • 19. Maemo SDK basics Development environment Uses Scratchbox masquerades host system and tools to look like target fixes tools rather than packages for cross compilation similar development process to normal desktop Why Scratchbox? a lot of reuse of existing components in OSS projects these components are not designed to be cross compiled speed of development Simple to use apt-get source <any standard Maemo distribution package> dpkg-buildpackage Flexible execution X86, ARMEL, qemu Supported programming languages C, C++ and Python (C officially) The actual Maemo SDK is Discover Maemo Set of preconfigured Scratchbox targets and root file systems Santa Clara, CA 26 Dec 09
  • 20. Scratchbox architecture Scratchbox sandbox OS platform: “scratchbox” software for target devkits toolchains rootstrap CPU transparencies host tools PC Host sbrsh/nfs Target device Discover Maemo Santa Clara, CA Dec 09
  • 21. That’s all folks! Thank you! Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09