SlideShare a Scribd company logo
1 of 42
Download to read offline
Mobile Operating Systems:
        Android
         Nicos Demetriou

    SONAR – Fall Semester 2012
Outline
• Historical Development
• Mobile OS in market
• Android OS
  –   Introduction
  –   Architecture
  –   Application Development
  –   Filesystem
  –   Boot process
• Hardware
• Focus on

                                2
Historical Development
•   1973 – First mobile phone device by Motorola
•   1978 – Advanced Mobile Phone System (1G)
•   1990 – GMS standard (2G)
•   1993 – First smartphone by IBM with touch screen
•   1996 – Windows CE Handheld device
•   1998 – Psion Company develops Symbian
•   1999 – First Nokia phone with Symbian S40 (7110)
•   2002 – First smartphone by BlackBerry
•   2002 – 3G telecommunication technology
•   2007 – Apple iPhone with iOS introduced
•   2008 – Android 1.0 with the HTC Dream
•   2010 – Microsoft launches Windows Phone OS
•   2011 – MeeGo first Linux mobile by Nokia, Intel and Linux Foundation
                                                                           3
Mobile OS in the market
– Manufacturer-built proprietary OS
   • Apple iOS, BlackBerry RIM, HP webOS
– Third party proprietary OS
   • Microsoft Windows Phone 7
– Open source OS
   • Android
   • MeeGo
   • Symbian




                                           4
Android OS - Introduction
• Linux-based (v2.6 Kernel), open source, free
• Operating system, middleware and key mobile
  applications
• Originally founded by Android Inc. in 2003
• Purchased and developed by Google since 2005
• Open Handset Alliance
• Apache v2 license



                                                 5
Open Handset Alliance




                        6
Android OS
• Other uses of Android OS
                                     Ouya




            Android@Home


Cameras
                                        Project Glass




                      Wristwatches
                                                        7
8
Android OS - Architecture




                            9
Android OS - Architecture
• Linux Kernel (2.6.24)
  – Android is not Linux
  – Only kernel portion of Linux
  – Enchancements to support Android
  – GNU utility packages ported to ARM
  – Abstraction layer between Hardware and Software
  – No native windowing system (X11)



                                                      10
Android OS - Architecture
• Binder Driver
  – InterProcess Communication between
    applications
  – Map process memory address to kernel address
  – ioctl()
  – Synchronous calls between processes
  – AIDL (Android Interface Definition Language)



                                                   11
Android OS - Architecture
• Binder in action




                                  12
Android OS - Architecture
• Power Management
  – Battery power Limited capacity
  – Built on top of Linux PM
  – Wake locks – keep power on
    •   PARTIAL_WAKE_LOCK (CPU on, screen/keyboard off)
    •   SCREEN_DIM_WAKE_LOCK (CPU on, screen dim, keyboard off)
    •   SCREEN_BRIGHT_WAKE_LOCK (CPU on, screen bright, kb off)
    •   FULL_WAKE_LOCK (CPU on, screen on, keyboard bright)



                                                                  13
Android OS - Architecture
• Power Management in action




                                  14
Android OS - Architecture
• Other kernel features
  – Android shared memory (ashmem)
  – Process memory allocator (pmem)
  – System logging facility (logger)
  – Alarm timers
  – Paranoid network security
  – RAM_CONSOLE (save kernel messages to RAM)



                                                15
Android OS - Architecture
• Native Libraries (C/C++ libraries)
  – Custom libc: Bionic
  – WebKit: Web Browser kernel
  – Media Framework: PacketVideo OpenCORE
    platform
  – SQLite: Light weight, SQL syntax database




                                                16
Android OS - Architecture
• Android Runtime
  – Core Libraries: Core APIs for Java
     • Data structures, Utilities, File/Network access, graphics
  – Dalvik Virtual Machine




                                                                   17
Android OS - Architecture
• Application Framework
  – Core platform services
     • Activity/Package/Window/Resource Manager
  – Hardware Services
     • Access to lower-level API through location Manager
     • Telephony/Bluetooth/WiFi/USB/Sensor Service




                                                            18
Android OS - Architecture
• Application Framework




                                 19
Android OS - Architecture
• Applications
  – Built-in Core Applications
     • Email client, SMS, Calendar, Maps, Contacts, Browser…
  – User implemented Applications
     • Written in Java
     • Every application has its own process
     • Can be killed to reclaim resources




                                                               20
Android OS - Architecture




                            21
Android OS - Application development
• Tools needed: Android SDK, Java JDK, Eclipse,
  Android Development Tools plugin
• Application components:
  – Activities: Interactive Tasks
  – Services: Non-interactive Tasks
  – Content providers: Database Server
  – Broadcast receivers: Capture event responses
  – Intents: Component activation mechanism
• Device Emulator inside Android SDK (qEmu)

                                                   22
Android OS - File system
• Supports Linux filesystems:
  – ext2, ext3, ext4
• YAFFS (Yet Another Flash File System)
  – NAND chips with 512 byte pages




                                          25
Android OS - File system
‒
‒         ‒
‒         ‒
‒         ‒
          ‒
‒                           DALVIK VIRTUAL
          ‒
‒                              MACHINE
    ‒     ‒
    ‒     ‒
    ‒     ‒
          ‒         ‒
‒
          ‒         ‒
‒
          ‒         ‒
‒
          ‒         ‒
‒
          ‒         ‒
‒
                    ‒
‒
                    ‒
‒
                    ‒
‒
                    ‒
                                             26
Android OS - Boot process
                      ROM  Boot code
                      Boot media available
                      Boot loader  RAM




                                          27
Android OS - Boot process
                      Initial memories
                      Kernel  RAM
                      File system
           uBoot      Additional memory
                      Network support
                      Modem
                      CPU
                      Low level memory
                       protections
                      Kernel address
                       space
                      jump




                                           28
Android OS - Boot process
                        Interrupt controllers
                        Memory protections
                        Caches and scheduling
                        Virtual memory
                        User space processes
                        init




                                           29
Android OS - Boot process
                     init.rc  service
                      processes




                                          30
Android OS - Boot process
                            Zygote  VM
                            Socket for input
                            Zygote.fork()  VM for
                             child process




/system/bin/app_process




                                                      31
Android OS - Boot process
                                          System server 
                                           Android services
                                          Telephony
                                          Bluetooth
                                          WiFi
                                          …
                                          User installed apps




    Broadcast signal: ACTION_BOOT_COMPLETED
                                                                 32
Android OS - Boot process




                            33
Android Hardware
• Device Requirements
      Feature                   Minimum Requirement
  Chipset         ARM-based
  Memory          128 MB RAM; 256 MB Flash External
  Storage         Mini or Micro SD
  Primary Display QVGA TFT LCD or larger, 16-bit color or better
  Navigation Keys 5-way navigation with 5 application keys, power,
                  camera and volume controls
  Camera          2MP CMOS
  USB             Standard mini-B USB interface
  Bluetooth       1.2 or 2.0



                                                                     34
Android Hardware – System on Chip
                     Phone Manufacturers / System on Chip Provider
Motorola             Texas Instruments OMAP / NVIDIA Tegra 2 (newer dual core phones)
Samsung              Samsung Hummingbird / Exynos
HTC                  Qualcomm Snapdragon
LG                   Qualcomm Snapdragon / Texas Instruments OMAP 4 (newer dual core phones)
Dell                 Qualcomm Snapdragon
Sony Ericcsson       Qualcomm Snapdragon




                                   HTC Nexus One
                 Chipset                       CPU                      GPU
       Snapdragon Gen1             1 GHz ARM Cortex-A8             Adreno 200


                 *Android Hardware Comparison Chart

                                                                                               35
Android Hardware - Chipsets
                   ARM CPU Specifications
            CPU                             Feaures
                     1.2 DMIPS per MHz (Dhrystone MIPS)
                     Frequency of 528-600 MHz
ARM11
                     8-stage pipeline
                      90nm process technology
                     2 DMIPS per MHz (Dhrystone MIPS)
                     Frequency from 600 MHz to 1 GHz
ARM Cortex-A8        In-order execution pipeline
                     13-stage pipeline
                     65/45nm process technology
                     2.5 DMIPS per MHz (Dhrystone MIPS)
                     Frequency up to 2 GHz
                     Out-of-order execution pipeline
                     NEON SIMD instruction set extension (OMAP 4)
ARM Cortex-A9
                     High performance VFPv3 Floating Point Unit (Tegra 2)
                     9-stage pipeline
                     Support for up to 4 cores                                   AMD Adreno
                     40nm process technology
                                                      GPU                                  Feaures
                                                 Adreno 200       17M triangles/sec
                                                                  41M triangles/sec
                                                 Adreno 205       245M pixels/sec
                                                                  720p video recording and playback up to 30 frames/second
                                                                  88M triangles/sec
                                                 Adreno 220        532M pixels/sec
                                                                   1080p video recording and playback up to 30 frames/second
                                                                                                                               36
Android Hardware – Nexus One




                               37
Android Hardware – Nexus One




                               38
Android Hardware – Nexus One




                               39
Android Hardware – Nexus One




                               40
Focus on
• Testing applications on:
  – SDK Emulator
  – Real device
  – Virtual Machine running Android
• Share experience
• Compare metrics:
  – CPU usage
  – Memory
• Using low level commands (adb)
                                      41
References
•   Software
    – http://en.wikipedia.org/wiki/Android_(operating_system)
    – http://www.mobisoftinfotech.com/blog/tag/layers-of-android/
    – http://www.androidenea.com/2009/06/android-boot-process-from-power-
      on.html
    – http://www.android-app-market.com/android-application-components.html
    – http://www.android-app-market.com/android-development-environment-
      setup.html
    – https://sites.google.com/site/io/anatomy--physiology-of-an-android

•   Hardware
    – http://www.isuppli.com/Teardowns/News/Pages/Google-Nexus-One-Carries-
      $17415-Materials-Cost-iSuppli-Teardown-Reveals.aspx
    – http://androidnexus.com/guides/the-ultimate-android-cpu-gpu-comparison-
      guide




                                                                                42
Try this on your Android Phone!
          *#*#4636#*#*




                                  43
Mobile Operating Systems:
        Android
         Nicos Demetriou

    SONAR – Fall Semester 2012

More Related Content

What's hot

Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentationMd Rabius Sany
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating SystemSonal Poddar
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system pptSantosh Kumar
 
Mobile operating system by Shabeeb
Mobile operating system by ShabeebMobile operating system by Shabeeb
Mobile operating system by ShabeebShabeeb Shabi
 
Presentation On Android
Presentation On AndroidPresentation On Android
Presentation On AndroidTeachMission
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introductionRoshan Gautam
 
Comparative Study On Mobile Operating Systems
  Comparative Study On Mobile Operating Systems   Comparative Study On Mobile Operating Systems
Comparative Study On Mobile Operating Systems Hardik Jain
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Developmentdonnfelker
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating SystemsBhargav Radia
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Siddharth Belbase
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OSHaseeb
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating SystemNeha Sharma
 
Presentation on android
Presentation on androidPresentation on android
Presentation on androidsonyhontok
 

What's hot (20)

Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentation
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
 
Android ppt
Android ppt Android ppt
Android ppt
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system ppt
 
Mobile operating system by Shabeeb
Mobile operating system by ShabeebMobile operating system by Shabeeb
Mobile operating system by Shabeeb
 
Presentation On Android
Presentation On AndroidPresentation On Android
Presentation On Android
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Mobile operating system
Mobile operating systemMobile operating system
Mobile operating system
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introduction
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 
Comparative Study On Mobile Operating Systems
  Comparative Study On Mobile Operating Systems   Comparative Study On Mobile Operating Systems
Comparative Study On Mobile Operating Systems
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating Systems
 
Android Operating System (Androrid OS)
Android Operating System (Androrid OS)Android Operating System (Androrid OS)
Android Operating System (Androrid OS)
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
Android OS
Android OSAndroid OS
Android OS
 
Versions of Android OS
Versions of Android OSVersions of Android OS
Versions of Android OS
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
 
Android vs ios
Android vs iosAndroid vs ios
Android vs ios
 
Presentation on android
Presentation on androidPresentation on android
Presentation on android
 

Viewers also liked

Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating SystemsDasun Hegoda
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 
Mobile Operating Systems
Mobile Operating Systems Mobile Operating Systems
Mobile Operating Systems Anant Lodha
 
Seminar on mobile os
Seminar on mobile osSeminar on mobile os
Seminar on mobile osabani12
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentationhession25819
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentationconnectshilpa
 
Operating system.ppt (1)
Operating system.ppt (1)Operating system.ppt (1)
Operating system.ppt (1)Vaibhav Bajaj
 
What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ? SoonTips.com
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my collegeSneha Lata
 
Features of windows operating system
Features of windows operating systemFeatures of windows operating system
Features of windows operating systemMohammad Alig
 

Viewers also liked (18)

Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating Systems
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Mobile Operating Systems
Mobile Operating Systems Mobile Operating Systems
Mobile Operating Systems
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Seminar on mobile os
Seminar on mobile osSeminar on mobile os
Seminar on mobile os
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentation
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Operating system.ppt (1)
Operating system.ppt (1)Operating system.ppt (1)
Operating system.ppt (1)
 
Presentation on operating system
 Presentation on operating system Presentation on operating system
Presentation on operating system
 
operating system structure
operating system structureoperating system structure
operating system structure
 
What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ?
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Android ppt
Android pptAndroid ppt
Android ppt
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my college
 
Features of windows operating system
Features of windows operating systemFeatures of windows operating system
Features of windows operating system
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 
Android ppt
Android pptAndroid ppt
Android ppt
 

Similar to Mobile operating systems

Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and ToolchainVladimir Kotov
 
Mobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingMobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingNicolas Demetriou
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)Siji Sunny
 
Android application development
Android application developmentAndroid application development
Android application developmentFahad A. Shaikh
 
MDAD 3 - Android - System, Platform and Application Types
MDAD 3 - Android - System, Platform and Application TypesMDAD 3 - Android - System, Platform and Application Types
MDAD 3 - Android - System, Platform and Application TypesAlexandru Radovici
 
Eci Mobile Computing 20120724 Bryantafel
Eci   Mobile Computing 20120724   BryantafelEci   Mobile Computing 20120724   Bryantafel
Eci Mobile Computing 20120724 BryantafelBryan Tafel
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012 hakersinfo
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 

Similar to Mobile operating systems (20)

Android architechture
Android architechtureAndroid architechture
Android architechture
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Mobile operating systems - Application Benchmarking
Mobile operating systems - Application BenchmarkingMobile operating systems - Application Benchmarking
Mobile operating systems - Application Benchmarking
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
android
androidandroid
android
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Android
AndroidAndroid
Android
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Android application development
Android application developmentAndroid application development
Android application development
 
MDAD 3 - Android - System, Platform and Application Types
MDAD 3 - Android - System, Platform and Application TypesMDAD 3 - Android - System, Platform and Application Types
MDAD 3 - Android - System, Platform and Application Types
 
It6601 mobile computing unit 5
It6601 mobile computing unit 5It6601 mobile computing unit 5
It6601 mobile computing unit 5
 
Eci Mobile Computing 20120724 Bryantafel
Eci   Mobile Computing 20120724   BryantafelEci   Mobile Computing 20120724   Bryantafel
Eci Mobile Computing 20120724 Bryantafel
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 

Recently uploaded

SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...KokoStevan
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.MateoGardella
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfSanaAli374401
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 

Recently uploaded (20)

SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Mobile operating systems

  • 1. Mobile Operating Systems: Android Nicos Demetriou SONAR – Fall Semester 2012
  • 2. Outline • Historical Development • Mobile OS in market • Android OS – Introduction – Architecture – Application Development – Filesystem – Boot process • Hardware • Focus on 2
  • 3. Historical Development • 1973 – First mobile phone device by Motorola • 1978 – Advanced Mobile Phone System (1G) • 1990 – GMS standard (2G) • 1993 – First smartphone by IBM with touch screen • 1996 – Windows CE Handheld device • 1998 – Psion Company develops Symbian • 1999 – First Nokia phone with Symbian S40 (7110) • 2002 – First smartphone by BlackBerry • 2002 – 3G telecommunication technology • 2007 – Apple iPhone with iOS introduced • 2008 – Android 1.0 with the HTC Dream • 2010 – Microsoft launches Windows Phone OS • 2011 – MeeGo first Linux mobile by Nokia, Intel and Linux Foundation 3
  • 4. Mobile OS in the market – Manufacturer-built proprietary OS • Apple iOS, BlackBerry RIM, HP webOS – Third party proprietary OS • Microsoft Windows Phone 7 – Open source OS • Android • MeeGo • Symbian 4
  • 5. Android OS - Introduction • Linux-based (v2.6 Kernel), open source, free • Operating system, middleware and key mobile applications • Originally founded by Android Inc. in 2003 • Purchased and developed by Google since 2005 • Open Handset Alliance • Apache v2 license 5
  • 7. Android OS • Other uses of Android OS Ouya Android@Home Cameras Project Glass Wristwatches 7
  • 8. 8
  • 9. Android OS - Architecture 9
  • 10. Android OS - Architecture • Linux Kernel (2.6.24) – Android is not Linux – Only kernel portion of Linux – Enchancements to support Android – GNU utility packages ported to ARM – Abstraction layer between Hardware and Software – No native windowing system (X11) 10
  • 11. Android OS - Architecture • Binder Driver – InterProcess Communication between applications – Map process memory address to kernel address – ioctl() – Synchronous calls between processes – AIDL (Android Interface Definition Language) 11
  • 12. Android OS - Architecture • Binder in action 12
  • 13. Android OS - Architecture • Power Management – Battery power Limited capacity – Built on top of Linux PM – Wake locks – keep power on • PARTIAL_WAKE_LOCK (CPU on, screen/keyboard off) • SCREEN_DIM_WAKE_LOCK (CPU on, screen dim, keyboard off) • SCREEN_BRIGHT_WAKE_LOCK (CPU on, screen bright, kb off) • FULL_WAKE_LOCK (CPU on, screen on, keyboard bright) 13
  • 14. Android OS - Architecture • Power Management in action 14
  • 15. Android OS - Architecture • Other kernel features – Android shared memory (ashmem) – Process memory allocator (pmem) – System logging facility (logger) – Alarm timers – Paranoid network security – RAM_CONSOLE (save kernel messages to RAM) 15
  • 16. Android OS - Architecture • Native Libraries (C/C++ libraries) – Custom libc: Bionic – WebKit: Web Browser kernel – Media Framework: PacketVideo OpenCORE platform – SQLite: Light weight, SQL syntax database 16
  • 17. Android OS - Architecture • Android Runtime – Core Libraries: Core APIs for Java • Data structures, Utilities, File/Network access, graphics – Dalvik Virtual Machine 17
  • 18. Android OS - Architecture • Application Framework – Core platform services • Activity/Package/Window/Resource Manager – Hardware Services • Access to lower-level API through location Manager • Telephony/Bluetooth/WiFi/USB/Sensor Service 18
  • 19. Android OS - Architecture • Application Framework 19
  • 20. Android OS - Architecture • Applications – Built-in Core Applications • Email client, SMS, Calendar, Maps, Contacts, Browser… – User implemented Applications • Written in Java • Every application has its own process • Can be killed to reclaim resources 20
  • 21. Android OS - Architecture 21
  • 22. Android OS - Application development • Tools needed: Android SDK, Java JDK, Eclipse, Android Development Tools plugin • Application components: – Activities: Interactive Tasks – Services: Non-interactive Tasks – Content providers: Database Server – Broadcast receivers: Capture event responses – Intents: Component activation mechanism • Device Emulator inside Android SDK (qEmu) 22
  • 23. Android OS - File system • Supports Linux filesystems: – ext2, ext3, ext4 • YAFFS (Yet Another Flash File System) – NAND chips with 512 byte pages 25
  • 24. Android OS - File system ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ DALVIK VIRTUAL ‒ ‒ MACHINE ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ ‒ 26
  • 25. Android OS - Boot process  ROM  Boot code  Boot media available  Boot loader  RAM 27
  • 26. Android OS - Boot process  Initial memories  Kernel  RAM  File system uBoot  Additional memory  Network support  Modem  CPU  Low level memory protections  Kernel address space  jump 28
  • 27. Android OS - Boot process  Interrupt controllers  Memory protections  Caches and scheduling  Virtual memory  User space processes  init 29
  • 28. Android OS - Boot process  init.rc  service processes 30
  • 29. Android OS - Boot process  Zygote  VM  Socket for input  Zygote.fork()  VM for child process /system/bin/app_process 31
  • 30. Android OS - Boot process  System server  Android services  Telephony  Bluetooth  WiFi  …  User installed apps Broadcast signal: ACTION_BOOT_COMPLETED 32
  • 31. Android OS - Boot process 33
  • 32. Android Hardware • Device Requirements Feature Minimum Requirement Chipset ARM-based Memory 128 MB RAM; 256 MB Flash External Storage Mini or Micro SD Primary Display QVGA TFT LCD or larger, 16-bit color or better Navigation Keys 5-way navigation with 5 application keys, power, camera and volume controls Camera 2MP CMOS USB Standard mini-B USB interface Bluetooth 1.2 or 2.0 34
  • 33. Android Hardware – System on Chip Phone Manufacturers / System on Chip Provider Motorola Texas Instruments OMAP / NVIDIA Tegra 2 (newer dual core phones) Samsung Samsung Hummingbird / Exynos HTC Qualcomm Snapdragon LG Qualcomm Snapdragon / Texas Instruments OMAP 4 (newer dual core phones) Dell Qualcomm Snapdragon Sony Ericcsson Qualcomm Snapdragon HTC Nexus One Chipset CPU GPU Snapdragon Gen1 1 GHz ARM Cortex-A8 Adreno 200 *Android Hardware Comparison Chart 35
  • 34. Android Hardware - Chipsets ARM CPU Specifications CPU Feaures 1.2 DMIPS per MHz (Dhrystone MIPS) Frequency of 528-600 MHz ARM11 8-stage pipeline 90nm process technology 2 DMIPS per MHz (Dhrystone MIPS) Frequency from 600 MHz to 1 GHz ARM Cortex-A8 In-order execution pipeline 13-stage pipeline 65/45nm process technology 2.5 DMIPS per MHz (Dhrystone MIPS) Frequency up to 2 GHz Out-of-order execution pipeline NEON SIMD instruction set extension (OMAP 4) ARM Cortex-A9 High performance VFPv3 Floating Point Unit (Tegra 2) 9-stage pipeline Support for up to 4 cores AMD Adreno 40nm process technology GPU Feaures Adreno 200 17M triangles/sec 41M triangles/sec Adreno 205 245M pixels/sec 720p video recording and playback up to 30 frames/second 88M triangles/sec Adreno 220 532M pixels/sec 1080p video recording and playback up to 30 frames/second 36
  • 35. Android Hardware – Nexus One 37
  • 36. Android Hardware – Nexus One 38
  • 37. Android Hardware – Nexus One 39
  • 38. Android Hardware – Nexus One 40
  • 39. Focus on • Testing applications on: – SDK Emulator – Real device – Virtual Machine running Android • Share experience • Compare metrics: – CPU usage – Memory • Using low level commands (adb) 41
  • 40. References • Software – http://en.wikipedia.org/wiki/Android_(operating_system) – http://www.mobisoftinfotech.com/blog/tag/layers-of-android/ – http://www.androidenea.com/2009/06/android-boot-process-from-power- on.html – http://www.android-app-market.com/android-application-components.html – http://www.android-app-market.com/android-development-environment- setup.html – https://sites.google.com/site/io/anatomy--physiology-of-an-android • Hardware – http://www.isuppli.com/Teardowns/News/Pages/Google-Nexus-One-Carries- $17415-Materials-Cost-iSuppli-Teardown-Reveals.aspx – http://androidnexus.com/guides/the-ultimate-android-cpu-gpu-comparison- guide 42
  • 41. Try this on your Android Phone! *#*#4636#*#* 43
  • 42. Mobile Operating Systems: Android Nicos Demetriou SONAR – Fall Semester 2012