SlideShare a Scribd company logo
THE GROWTH

OF ANDROID
IN EMBEDDED
SYSTEMS
Benjamin Zores
Android Builder Summit 2014
1st May 2014 - San Jose, USA
These slides are made available o you under Creative Commons Share-Alike 3.0 license.
The full terms of this license are available here:
https://creativecommons.org/licenses/by-sa/3.0/
Attribution requirements and misc., PLEASE READ:
- This slide must remain as-is in this specific location (slide #2),

everything else you are free to change; including the logo ;-)
- Use of figures in other documents must feature the below “Originals at” URL

immediately under that figure and the below copyright notice where appropriate.
- You are FORBIDDEN from using the default slide #3 as-is or any of its contents.
(C) Copyright 2014 - Opersys inc.
These slides are created by: Benjamin Zores
Originals at: http://www.opersys.com/community/docs
A Few Things About Me …
• Day:
• Linux Embedded Systems (now Cloud)

R&D Architect / Director for Alcatel-Lucent.

• Night:
• Android “Jack of all trades” for Opersys.

• Weekends:
• Technical Writer for GNU/Linux Magazine France.

• Recurrent ELC/ABS speaker.

• Open Source leader/contributor in previous life:
• GeeXboX, OpenBricks, uShare, MPlayer, FFmpeg.
Embedded Android

Karim Yaghmour, O’Reilly - Mar 2013
Android 4: Fondements Internes

Benjamin Zores, Ed. Diamond - Q3’2014
Check out the original

Linux Foundation

White Paper
!
http://
training.linuxfoundation.org/
free-linux-training/
download-training-materials/
growth-of-android-in-
embedded-systems
The Android
Operating System
Android Chronology
• Early development at Android Inc.

in early 2000s.

• Android Inc. got purchased by Google in
2005 (not Linux-based at this time).

• Architecture revamping lead to HTC G1

first Android smartphone in 2008.

• You know the rest ;-)
Android in Embedded Systems
• The industry is (fortunately) not only

composed of smartphones and tablets ;-)

• 34% of embedded engineers are

considering using Android in 2013.

• May sounds appealing for

domestic use markets (STB, IVI …)

• Under the hood, Android however can be

a burden for device manufacturers.
NAME VERSION SDK RELEASE
DATE
KERNEL
VERSION
SDK API NDK API
N/A 1.0 September 2008 2.6.25 1 N/A
PETIT FOUR 1.1 February 2009 2.6.25 2 N/A
CUPCAKE 1.5 April 2009 2.6.27 3 1
DONUT 1.6 September 2009 2.6.27 4 2
ECLAIR
2.0 October 2009 2.6.29 5 2
2.0.1 December 2009 2.6.29 6 2
2.1 January 2010 2.6.29 7 3
FROYO 2.2 May 2010 2.6.32 8 4
GINGERBREAD
2.3 - 2.3.2 November 2010 2.6.35 9 5
2.3.3 - 2.3.7 February 2011 2.6.35 10 5
HONEYCOMB
3.0 February 2011 2.6.36 11 6
3.1.x May 2011 2.6.36 12 6
3.2.x June 2011 2.6.36 13 6
ICE CREAM
SANDWICH
4.0 - 4.0.2 October 2011 3.0.1 14 7
4.0.3 - 4.0.4 December 2011 3.0.1 15 7
JELLY BEAN
4.1.1 - 4.1.2 June 2012 3.0.31 16 8
4.2 November 2012 3.0.31 17 8
4.3 July 2013 3.0.31 18 9
KIT KAT 4.4 October 2013 3.4.0 19 9
Releases History
Android Fragmentation (Apr. 14)
VERSION CODENAME API DISTRIBUTION
2.2 Froyo 8 1.1%
2.3.X Gingerbread 10 17.8%
3.2 Honeycomb 13 0.1%
4.0.X
Ice Cream

Sandwich
15 14.3%
4.1.X
Jelly Bean
16 34.4%
4.2.X 17 18.1%
4.3 18 8.9%
4.4 KitKat 19 5.3%
A Life
Without GNU
Unique System & Software Architecture
• Android is based on modified Linux kernel

and 300+ OpenSource software
components.

• There ends the ressemblance with any other

embedded and/or desktop Linux
distribution.

• Redesign or replacement of fundamental
building blocks

• Got rid of Glibc, X.org / Wayland, Busybox,

PulseAudio, GStreamer, GTK / Qt …
“Proprietary” Development Model
• Often referred to as « clopen »

(for closed/open)
• NOT developed in a community way.
• Sources drop depends on Google’s
willingness to share.

• Google got rid of (L)GPL in favor of

Apache/MIT/BSD licenses.
• Safe solution for companies to build
devices without fear of further legal
complications.
A Life Without GNU
Mobile-Targeted Kernel
• Google introduced several « Androidisms »

to vanilla Linux kernel.

• Agressive Power Management Policy
• WakeLocks, Early Suspend …
• Desktop follows the « always-on » policy.
• Android does the opposite.

• Binder IPC Message Bus
Java Application Framework
• Java is quite unpopular with embedded
developers.
• Slow, resource consuming, hard to debug,

heavy and complicated to deploy.

• Google introduced its own bytecode: Dalvik.

• Amazing Zygote app server:
• Framework (2000+ classes) is loaded

once and for all in memory.
• Apps are spawned by Zygote with copy-
on-write methods, optimizing resources
usage.
Dealing With
Embedded Linux OS
Dealing with Embedded Linux OS
• Embedded Linux available customizations

can come in handy.

• Diversity of commercial providers
• Windriver, Montavista, Mentor Graphics …
• DIY OpenSource Embedded Frameworks
• The Yocto Project, OpenEmbedded, Buildroot, LTIB …
• SoC vendors specific BSPs

• Mature solutions, allows you to suits your exact needs
• -> But where to start from ??!
• -> To which price ??
• R&D efforts usually are spent on maintaining system

instead of bringing values.
Dealing with Embedded Linux OS
Android (while being forked by

various groups) is unique.



Device manufacturers surely customize it,

but there’s only one project

you want to be compatible with,

and it’s actively maintained for you

the Google way.
Reasons For
Android’s Attraction
Rich Application Framework
• GNU/Linux brings you choice to do

things at your convenience.

• Android comes with a single stable

long-term API and excellent SDK.

• Standardized Ecosystem for app-
developers and 3rd-party partners.

• Build apps once for multiple targets

to drastically save costs and efforts.
Aggressive Time-to-Market
• Stick to HW reference design, adapt the
platform and release your new device in a
few months !

• Though far from being easy

• Requires Android-specific expertise and
knowledge of the OS internals !
Focus on “What Really Matters”
• You don’t have to care about the platform

and framework anymore.

• Board bring-up is time consuming and no
one wants to waste more time re-
inventing yet another embedded
distribution.

• Developers actually only focus on areas

that add commercial value (i.e. apps)
Open Source
• Android remains 100% tunable
• Though not developed

in a community way.

• Provides companies a feeling of safety

regarding potential legal threats

and licensing.
!
• Thanks to Apache/BSD/MIT licensing.
Under-The-Hood
Culprits
Standardization & Economy
• SoC development costs have grown in
complexity and difficulty of integration

• HW manufacturers only invest in

volume-driven apps and customers.

• Vendors now feature Linux BSP

only as an internal sandbox.
• Android drives market hence

engineering resources allocation.
• HW vendors don’t invest in Linux

as much as they once did.
Android HAL
• Hardware Abstraction Layer
• Allows device manufacturers to map
Android framework API.
• Specific to each Android release and
platform API.

• Proprietary binary blobs prevents easy
upgrade and/or ROM customization.
• -> Customer often are forced to move to
next-generation devices instead of
upgrading SW :-(
Design Flaws
• Android uses many Open Source software

but also reinvented the wheel !
• -> Mostly for licensing and convenience
purpose.
!
• NOT Real-Time Capable
• Best Effort approach is 1000Hz low-
latency.
• -> No PREEMPT_RT (proprietary user-
space drivers makes it impossible).
• -> Dalvik VM garbage collector pauses
execution context.
Design Flaws
• Terrible Audio and Multimedia Architecture
• Lots of Java and JNI indirection calls

makes it sloooooow …
• -> Latency issues
• Ages away from FFmpeg or GStreamer in terms
of framework performances, hardware portability
and codecs support.
!
• Castrated Network and Connectivity Layers
• Can’t handle more than one input network
connection at a time (one driver, one type, one
interface).
• Adding things like Bluetooth, WiFi or basic
Ethernet support is a nightmare for device
manufacturers.
A Trade-off between Performance and Portability
• Appealing Java « write once, run
everywhere » framework’s philosophy.

• Any serious performance-critical or
multimedia app relies on native C/C++ code
being done through NDK, cutting down
portability.
The limits of “embedded”
• Originally designed for low-power and low-
resource devices.
• Current smartphones feature 4-core
Cortex-A9/15, 32 GB eMMC, 2 GB RAM.

• Starting with ICS, it becomes challenging
running Android with less than 512 MB RAM
and without OpenGLES-compatible GPU.
• Kit Kat highly improves this behaviour.
• But hasn’t Android raised the hardware
requirements just a bit too high ?
In a Few
Words …
Conclusion
• Android has brought the Linux kernel to

an incredible number of devices.
• => More than a million devices being

activated each day.
!
• Many manufacturers want Android on their device
• Sometimes just to follow the trend

and be sure not to be left behind the market.
• Everybody surprisingly wants an app store

(why ???)
!
• Paradoxically, Google has somehow

slow down innovation:
• All devices look and do almost the same.
• To the extend of MMI and HW assembly quality.
• Embedded Linux remains the OS of choice for :
• Headless devices
• SOHO network equipments

(routers, AP, servers …)
• Companies where engineers

master Linux development for years.
• Devices where maximum performances are
expected.
!
• Android makes perfect sense on devices :
• Featuring an LCD screen with

touch-capable display.
• Intended to be apps-driven.
Conclusion
Android has brought to the market

what GNU/Linux misses the most :



One single application framework

that allows developers to deal with

every single part of the system.
Conclusion
That’s All Folks …
Benjamin

Zores
benjaminzores
@gxben
#Benjamin Zores

More Related Content

What's hot

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
dfages
 
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
Linaro
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
Chris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
Chris Simmonds
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Chris Simmonds
 
What & How to Customize Android?
What & How to Customize Android?What & How to Customize Android?
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
 
Android OS Porting: Introduction
Android OS Porting: IntroductionAndroid OS Porting: Introduction
Android OS Porting: Introduction
Jollen Chen
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
Chris Simmonds
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
Ryo Jin
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Chris Simmonds
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Chris Simmonds
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Chris Simmonds
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Chris Simmonds
 
A Deep Dive into Open Source Android Development
A Deep Dive into Open Source Android DevelopmentA Deep Dive into Open Source Android Development
A Deep Dive into Open Source Android Development
David Wu
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
Gary Bisson
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
Satya Harish
 
[A2]android security의 과거와 미래 – from linux to jelly bean
[A2]android security의 과거와 미래 – from linux to jelly bean[A2]android security의 과거와 미래 – from linux to jelly bean
[A2]android security의 과거와 미래 – from linux to jelly bean
NAVER D2
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
Chris Simmonds
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Qualcomm Developer Network
 

What's hot (20)

Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
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
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
What & How to Customize Android?
What & How to Customize Android?What & How to Customize Android?
What & How to Customize Android?
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
 
Android OS Porting: Introduction
Android OS Porting: IntroductionAndroid OS Porting: Introduction
Android OS Porting: Introduction
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
 
A Deep Dive into Open Source Android Development
A Deep Dive into Open Source Android DevelopmentA Deep Dive into Open Source Android Development
A Deep Dive into Open Source Android Development
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
 
[A2]android security의 과거와 미래 – from linux to jelly bean
[A2]android security의 과거와 미래 – from linux to jelly bean[A2]android security의 과거와 미래 – from linux to jelly bean
[A2]android security의 과거와 미래 – from linux to jelly bean
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 

Similar to ABS 2014 - The Growth of Android in Embedded Systems

Android Lollipop
Android LollipopAndroid Lollipop
Android Lollipop
Željko Plesac
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
Tamara Momčilović
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014
Opersys inc.
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
Opersys inc.
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
Opersys inc.
 
Android report.
Android report.Android report.
Android report.
Shivananda Rai
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Qualcomm Developer Network
 
1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
MadNor Exe
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 
Is Android the New Embedded Linux? at AnDevCon IV
Is Android the New Embedded Linux? at AnDevCon IVIs Android the New Embedded Linux? at AnDevCon IV
Is Android the New Embedded Linux? at AnDevCon IV
Opersys inc.
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
Eran Kinsbrunner
 
Android icecream sandwich
Android icecream sandwichAndroid icecream sandwich
Android icecream sandwich
Mayur Dharukiya
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
MUFIX Community
 
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
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
Rachna Beegun
 
document
documentdocument
document
Joyful Vino
 
Android
AndroidAndroid
Android
Vibhu Mishra
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 

Similar to ABS 2014 - The Growth of Android in Embedded Systems (20)

Android Lollipop
Android LollipopAndroid Lollipop
Android Lollipop
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014Is Android the New King of Embedded OSes at Embedded World 2014
Is Android the New King of Embedded OSes at Embedded World 2014
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
Android report.
Android report.Android report.
Android report.
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
 
1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
Is Android the New Embedded Linux? at AnDevCon IV
Is Android the New Embedded Linux? at AnDevCon IVIs Android the New Embedded Linux? at AnDevCon IV
Is Android the New Embedded Linux? at AnDevCon IV
 
Qa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbrunerQa extreme 2011 eran kinsbruner
Qa extreme 2011 eran kinsbruner
 
Android icecream sandwich
Android icecream sandwichAndroid icecream sandwich
Android icecream sandwich
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
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)
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
 
document
documentdocument
document
 
Android
AndroidAndroid
Android
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 

ABS 2014 - The Growth of Android in Embedded Systems

  • 1. THE GROWTH
 OF ANDROID IN EMBEDDED SYSTEMS Benjamin Zores Android Builder Summit 2014 1st May 2014 - San Jose, USA
  • 2. These slides are made available o you under Creative Commons Share-Alike 3.0 license. The full terms of this license are available here: https://creativecommons.org/licenses/by-sa/3.0/ Attribution requirements and misc., PLEASE READ: - This slide must remain as-is in this specific location (slide #2),
 everything else you are free to change; including the logo ;-) - Use of figures in other documents must feature the below “Originals at” URL
 immediately under that figure and the below copyright notice where appropriate. - You are FORBIDDEN from using the default slide #3 as-is or any of its contents. (C) Copyright 2014 - Opersys inc. These slides are created by: Benjamin Zores Originals at: http://www.opersys.com/community/docs
  • 3. A Few Things About Me … • Day: • Linux Embedded Systems (now Cloud)
 R&D Architect / Director for Alcatel-Lucent.
 • Night: • Android “Jack of all trades” for Opersys.
 • Weekends: • Technical Writer for GNU/Linux Magazine France.
 • Recurrent ELC/ABS speaker.
 • Open Source leader/contributor in previous life: • GeeXboX, OpenBricks, uShare, MPlayer, FFmpeg.
  • 4. Embedded Android
 Karim Yaghmour, O’Reilly - Mar 2013 Android 4: Fondements Internes
 Benjamin Zores, Ed. Diamond - Q3’2014
  • 5. Check out the original
 Linux Foundation
 White Paper ! http:// training.linuxfoundation.org/ free-linux-training/ download-training-materials/ growth-of-android-in- embedded-systems
  • 7. Android Chronology • Early development at Android Inc.
 in early 2000s.
 • Android Inc. got purchased by Google in 2005 (not Linux-based at this time).
 • Architecture revamping lead to HTC G1
 first Android smartphone in 2008.
 • You know the rest ;-)
  • 8. Android in Embedded Systems • The industry is (fortunately) not only
 composed of smartphones and tablets ;-)
 • 34% of embedded engineers are
 considering using Android in 2013.
 • May sounds appealing for
 domestic use markets (STB, IVI …)
 • Under the hood, Android however can be
 a burden for device manufacturers.
  • 9. NAME VERSION SDK RELEASE DATE KERNEL VERSION SDK API NDK API N/A 1.0 September 2008 2.6.25 1 N/A PETIT FOUR 1.1 February 2009 2.6.25 2 N/A CUPCAKE 1.5 April 2009 2.6.27 3 1 DONUT 1.6 September 2009 2.6.27 4 2 ECLAIR 2.0 October 2009 2.6.29 5 2 2.0.1 December 2009 2.6.29 6 2 2.1 January 2010 2.6.29 7 3 FROYO 2.2 May 2010 2.6.32 8 4 GINGERBREAD 2.3 - 2.3.2 November 2010 2.6.35 9 5 2.3.3 - 2.3.7 February 2011 2.6.35 10 5 HONEYCOMB 3.0 February 2011 2.6.36 11 6 3.1.x May 2011 2.6.36 12 6 3.2.x June 2011 2.6.36 13 6 ICE CREAM SANDWICH 4.0 - 4.0.2 October 2011 3.0.1 14 7 4.0.3 - 4.0.4 December 2011 3.0.1 15 7 JELLY BEAN 4.1.1 - 4.1.2 June 2012 3.0.31 16 8 4.2 November 2012 3.0.31 17 8 4.3 July 2013 3.0.31 18 9 KIT KAT 4.4 October 2013 3.4.0 19 9 Releases History
  • 10. Android Fragmentation (Apr. 14) VERSION CODENAME API DISTRIBUTION 2.2 Froyo 8 1.1% 2.3.X Gingerbread 10 17.8% 3.2 Honeycomb 13 0.1% 4.0.X Ice Cream
 Sandwich 15 14.3% 4.1.X Jelly Bean 16 34.4% 4.2.X 17 18.1% 4.3 18 8.9% 4.4 KitKat 19 5.3%
  • 12. Unique System & Software Architecture • Android is based on modified Linux kernel
 and 300+ OpenSource software components.
 • There ends the ressemblance with any other
 embedded and/or desktop Linux distribution.
 • Redesign or replacement of fundamental building blocks
 • Got rid of Glibc, X.org / Wayland, Busybox,
 PulseAudio, GStreamer, GTK / Qt …
  • 13. “Proprietary” Development Model • Often referred to as « clopen »
 (for closed/open) • NOT developed in a community way. • Sources drop depends on Google’s willingness to share.
 • Google got rid of (L)GPL in favor of
 Apache/MIT/BSD licenses. • Safe solution for companies to build devices without fear of further legal complications.
  • 15. Mobile-Targeted Kernel • Google introduced several « Androidisms »
 to vanilla Linux kernel.
 • Agressive Power Management Policy • WakeLocks, Early Suspend … • Desktop follows the « always-on » policy. • Android does the opposite.
 • Binder IPC Message Bus
  • 16. Java Application Framework • Java is quite unpopular with embedded developers. • Slow, resource consuming, hard to debug,
 heavy and complicated to deploy.
 • Google introduced its own bytecode: Dalvik.
 • Amazing Zygote app server: • Framework (2000+ classes) is loaded
 once and for all in memory. • Apps are spawned by Zygote with copy- on-write methods, optimizing resources usage.
  • 18. Dealing with Embedded Linux OS • Embedded Linux available customizations
 can come in handy.
 • Diversity of commercial providers • Windriver, Montavista, Mentor Graphics … • DIY OpenSource Embedded Frameworks • The Yocto Project, OpenEmbedded, Buildroot, LTIB … • SoC vendors specific BSPs
 • Mature solutions, allows you to suits your exact needs • -> But where to start from ??! • -> To which price ?? • R&D efforts usually are spent on maintaining system
 instead of bringing values.
  • 19. Dealing with Embedded Linux OS Android (while being forked by
 various groups) is unique.
 
 Device manufacturers surely customize it,
 but there’s only one project
 you want to be compatible with,
 and it’s actively maintained for you
 the Google way.
  • 21. Rich Application Framework • GNU/Linux brings you choice to do
 things at your convenience.
 • Android comes with a single stable
 long-term API and excellent SDK.
 • Standardized Ecosystem for app- developers and 3rd-party partners.
 • Build apps once for multiple targets
 to drastically save costs and efforts.
  • 22. Aggressive Time-to-Market • Stick to HW reference design, adapt the platform and release your new device in a few months !
 • Though far from being easy
 • Requires Android-specific expertise and knowledge of the OS internals !
  • 23. Focus on “What Really Matters” • You don’t have to care about the platform
 and framework anymore.
 • Board bring-up is time consuming and no one wants to waste more time re- inventing yet another embedded distribution.
 • Developers actually only focus on areas
 that add commercial value (i.e. apps)
  • 24. Open Source • Android remains 100% tunable • Though not developed
 in a community way.
 • Provides companies a feeling of safety
 regarding potential legal threats
 and licensing. ! • Thanks to Apache/BSD/MIT licensing.
  • 26. Standardization & Economy • SoC development costs have grown in complexity and difficulty of integration
 • HW manufacturers only invest in
 volume-driven apps and customers.
 • Vendors now feature Linux BSP
 only as an internal sandbox. • Android drives market hence
 engineering resources allocation. • HW vendors don’t invest in Linux
 as much as they once did.
  • 27. Android HAL • Hardware Abstraction Layer • Allows device manufacturers to map Android framework API. • Specific to each Android release and platform API.
 • Proprietary binary blobs prevents easy upgrade and/or ROM customization. • -> Customer often are forced to move to next-generation devices instead of upgrading SW :-(
  • 28. Design Flaws • Android uses many Open Source software
 but also reinvented the wheel ! • -> Mostly for licensing and convenience purpose. ! • NOT Real-Time Capable • Best Effort approach is 1000Hz low- latency. • -> No PREEMPT_RT (proprietary user- space drivers makes it impossible). • -> Dalvik VM garbage collector pauses execution context.
  • 29. Design Flaws • Terrible Audio and Multimedia Architecture • Lots of Java and JNI indirection calls
 makes it sloooooow … • -> Latency issues • Ages away from FFmpeg or GStreamer in terms of framework performances, hardware portability and codecs support. ! • Castrated Network and Connectivity Layers • Can’t handle more than one input network connection at a time (one driver, one type, one interface). • Adding things like Bluetooth, WiFi or basic Ethernet support is a nightmare for device manufacturers.
  • 30. A Trade-off between Performance and Portability • Appealing Java « write once, run everywhere » framework’s philosophy.
 • Any serious performance-critical or multimedia app relies on native C/C++ code being done through NDK, cutting down portability.
  • 31. The limits of “embedded” • Originally designed for low-power and low- resource devices. • Current smartphones feature 4-core Cortex-A9/15, 32 GB eMMC, 2 GB RAM.
 • Starting with ICS, it becomes challenging running Android with less than 512 MB RAM and without OpenGLES-compatible GPU. • Kit Kat highly improves this behaviour. • But hasn’t Android raised the hardware requirements just a bit too high ?
  • 33. Conclusion • Android has brought the Linux kernel to
 an incredible number of devices. • => More than a million devices being
 activated each day. ! • Many manufacturers want Android on their device • Sometimes just to follow the trend
 and be sure not to be left behind the market. • Everybody surprisingly wants an app store
 (why ???) ! • Paradoxically, Google has somehow
 slow down innovation: • All devices look and do almost the same. • To the extend of MMI and HW assembly quality.
  • 34. • Embedded Linux remains the OS of choice for : • Headless devices • SOHO network equipments
 (routers, AP, servers …) • Companies where engineers
 master Linux development for years. • Devices where maximum performances are expected. ! • Android makes perfect sense on devices : • Featuring an LCD screen with
 touch-capable display. • Intended to be apps-driven. Conclusion
  • 35. Android has brought to the market
 what GNU/Linux misses the most :
 
 One single application framework
 that allows developers to deal with
 every single part of the system. Conclusion