The Penguin and the Droid

Similar documents
Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Android: Under the Hood. GDG-SG DevFest 5th Nov 2016 Jason Zaman

Comprehensive Development and Debug Coverage for Linux and Android on the MIPS Architecture

Lecture 3 Android Internals

Computer Software. c 2016 by David W. Gerbing. School of Business Administration Portland State University

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Japan Linux Symposium Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION

Produced by. Mobile Application Development. Eamonn de Leastar

Ahmed Ali Big fan of Android

Android Overview. Francesco Mercaldo, PhD

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android System Development Training 4-day session

Android Programming in Bluetooth Cochlea Group

Android on Tizen. Moscow State University

17655: Discussion: The New z/os Interface for the Touch Generation

Infrastructure Middleware (Part 1): Hardware Abstraction Layer (HAL)

IJRDTM Kailash ISBN No Vol.17 Issue

Android Internals and the Dalvik VM!

Android Internals. Lecture 1. Android and Low-level Optimizations Summer School. 13 July 2015

Introduction to Android

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Introduction to Android

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android Internals. Lecture 3. Operating Systems Practical. 19 October 2016

Four Components of a Computer System

Android App Development

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

SD Module- Android Programming

Developer s overview of the Android platform

Android OS and Power Architecture

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Configuring the Android Manifest File

Introduction to Linux

ios vs Android By: Group 2

Mobiliti. Certified Device List MR6 Release. Last Updated June, ASP Version

INTRODUCTION. 2

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Lecture 1 - Introduction to Android

Android Forensics: Simplifying Cell Phone Examinations

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries

Open Source Development

Android Everywhere. Cristina Segal, EMEA Director Android Solutions GM Android testing tools

My Personal Flasher (MPF) - User Guide for Android

Goliath for NetScaler Frequently Asked Questions

A MODEL FOR COMPARATIVE ANALYSIS OF THE SIMILARITY BETWEEN ANDROID AND IOS OPERATING SYSTEMS

Cords and gumballs. Mike Hearn.

Android. (XKE Mars 2009) Erwan Alliaume.

Install Vlc Manually Ubuntu

VirtualSwindle: An Automated Attack Against In-App Billing on Android

The Case for Security Enhanced (SE) Android. Stephen Smalley Trusted Systems Research National Security Agency

<Insert Picture Here> Linux: The Journey, Milestones, and What s Ahead Edward Screven, Chief Corporate Architect, Oracle

Running Android on the Mainline Graphics Stack. Robert

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

ECE Enterprise Storage Architecture. Fall ~* CLOUD *~. Tyler Bletsch Duke University

Mobile development initiation

History of Unix, Linux and the Open Source

Open Source Development. Ely Levy Yair Yarom

THE ONLINER A VIP FOR MARKETERS. Slovenia

CS260 Intro to Java & Android 04.Android Intro

Basic Concepts & OS History

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned

Where Should the Brain of Your Mobile Application Live?

Amazon kindle fastboot

The Benefits of SMS as a Marketing and Communications Channel From The Chat Bubble written by Michael

Making Applications Mobile

Raspberry Pi 3: 2016 Raspberry Pi 3 User Guide (Raspberry Pi, Raspberry Pi 2, Raspberry Pi Programming, Raspberry Pi Projects) Free Ebooks PDF

Introductory Visualizing Technology

BYOD Success Kit. Table of Contents. Current state of BYOD in enterprise Checklist for BYOD Success Helpful Pilot Tips

Mobile Image Processing

#techsummitch

Android. Training.

Chapter 1 Hello, Android

G-WAN. Complete install process for Ubuntu (both for the 32 and the 64 OS versions).

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

What Mobile System Would Win, If the Developer Were To Choose?

The Cost of Going it Alone Dave Neary

Android In Industrial Applications. A Field Report

Let life inspire you. with ReSound Unite wireless accessories. Learn more about ReSound Unite wireless accessories.

FutureWalker

UNDERSTAND THE OPPORTUNITY

Mobile Messaging Apps Study : India. August 2014


Tablet - is the generic term for a mobile computer with touchscreen display that is operated with fingers or stylus pen instead of a mouse and

UNIT I Linux Utilities and Working with Bash

Cloud Computing. Technologies and Types

Social media to promote

Transform Your Business To An Open Hybrid Cloud Architecture. Presenter Name Title Date

Latest Certified Device List Phone Channel (OCT 2016)

Android Application Development A Beginners Tutorial

GOING MOBILE: Setting The Scene for RTOs.

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

Getting Started With Android Feature Flags

Linux Operating System

Simon Jackson Mike Bow Dan North Pete Hemery

The plural of Chromium is Chromia. Peter-Paul Koch Mobilism, 27 March 2015

Transcription:

The Penguin and the Droid Robert Berger Reliable Embedded Systems 2012 by Robert Berger - Reliable Embedded Systems cbna CC-Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/ last commit: 2012-03-10 14:24:11 +0200 revision: 2018ac4ded2d30a8ce7d5a9582385652934f9af1 March 10, 2012

Disclaimer The views, opinions, positions or strategies expressed by the author and those providing comments are theirs alone, and do not necessarily reflect the views, opinions, positions or strategies of anybody else.

Let me introduce myself

Roles

The Penguin and the Droid Figure: Tux: Linus Torvalds? Figure: Droid: George Lukas

The Penguin and the Droid Figure: The Penguin (Tux) Figure: The Droid (Android Logo)

Why stay here? Audience You work for a small/medium sized company which thinks about switching to Android You don t but would still like to hear my view of things (it will be fun) Objective I would like to make you think out of the box and forget about the marketing hype for a while... and yes I ll try to be provocative... Please throw only soft items at me if you disagree with me

Linux vs. Android Linux is, in simplest terms, an operating system. Linux distribution s makers have decided which kernel, operating system tools, environments, and applications to include and ship to users. There are, at last count, over 350 distinct distributions of Linux. http://www.linuxfoundation.org/what-is-linux, http://distrowatch.com/ Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. http://developer.android.com/sdk/index.html

Linux history Figure: Memorable Linux Milestones

Android history Figure: The Android Story

Linux vs. Android Kernel Figure: Linux vs. Android Kernel releases

Linux openness 1 development process created, maintained, improved by the community release cycle 1/2 year Ubuntu 2 months kernel all in the open

Linux openness 2 license user space: various (typically open source) kernel: GPLv2 (Copyleft not Copyright) guarantees the following freedoms (as in free speech, not free beer) Bazaar model run the program as you wish for any purpose study the source code and change it to do what you want make copies and distribute them distribute modified versions requires you to make the modified source code available

Android openness 1 development process created behind Google s (and partners) closed doors we don t know how it s maintained and improved release cycle no fixed release cycle of the Android SDK as a partner of Google (NDA) you get more frequent releases than the public Motorola s Xoom tablet was on the market quite a bit before a public release of Android 3.0 (Honeycomb) was made (Amazon Kindle, Facebook,...)

Android openness 2 license Google did a lot to avoid the GPL and to be able to use a permissive / less free license even replaced the standard glibc with bionic like this proprietary modifications (without making source code available) are possible for product differentiation is this really necessary for infrastructure code? user space: Apache 2.0 licence wherever applicable kernel: GPLv2 Cathedral model

Linux Architecture Figure: Linux architecture user-space application(s) kernel use whatever framework/language you like system call interface monolithic process management, memory management, file systems, device drivers,...

Linux vs. Android Architecture Figure: Linux architecture Figure: Android architecture

Android Architecture user space Dalvic VM: for systems with limited memory, low power consumption, executes Dex bytecode JNI: access native code Zygote: pre-initializes VM instances and forks them Bionic instead of glibc kernel additional Android stuff Figure: Android architecture

Android Architecture user space apps (default, yours, from market) application API (Java libs) on top of VM... kernel see above Figure: Android architecture

How much Linux is Android? Bionic not glibc compatible you ll find glibc programs below /external folder which omit certain glibc features not POSIX compatible lacks SysV or POSIX IPC (message queues, semaphores and shared memory) because when improperly used can cause resource leaks supports UNIX and internet sockets and pipes Binder replaces (more or less) message queues - IDL (Interface Definition Language) ashmem replaces (more or less) shared memory

How much Linux is Android? Android does not include a full set of standard Linux utilities has no native windowing system - (SurfaceFlinger) is not FHS (file hierarchy standard) compatible uses intents instead of DBUS is built on top of a Linux kernel needs out of mainline patches for Android to work opportunistic suspend not mainline compatible Android mainlining project

How to get Android on your board? Linux first? port Embedded Linux to hardware platform add Android extensions to it Non-mainline Android? non-mainline kernel with Android extensions start from there "Android capable" mainline Kernel? add Android user-space to it

Market for Embedded Linux Figure: Hard Disc Recorder Figure: Particle Accelerator Figure: TV Figure: Alarm Clock

Market for Android (Google) Figure: Mobile Phone Figure: Mobile Phone Figure: Tablet Figure: Tablet

Market for Android (not Google) Figure: In car entertainment Figure: In car entertainment Figure: In flight entertainment Figure: Scope

Android Market share Figure: Q4 2011, Nielsen Mobile Insights 250 Million Android Devices Activated, 11 Billion Apps Downloaded

Google Android market 1 Google philosophy: You can make money without doing evil. http://www.google.com/about/company/tenthings.html Google (still) wants Android only for the consumer market (mobile phones/tablets) to avoid fragmentation no other markets and even not everyone in the mobile phone/tablet market "Android Market is only licensed to handset manufacturers shipping devices. For questions about specific cases, contact android-partnerships.at.google.com."http://source.android.com/faqs.html

Google Android market 2 Google can make more money in mobile than it can on the desktop with the opportunities in the mobile search market. Gomez-Barroso, Jose Luis; Feijoo, Claudio; Compano, Ramon; "Opportunities in the Mobile Search Market," Computer, vol.44, no.11, pp.83-85, Nov. 2011 doi: 10.1109/MC.2011.347 http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6072571&isnumber=6072553

Android? pro high level of uniformity well partitioned managed and unmanaged code out-of-memory management, power management, logging, debugging,... well suited for devices with touch and graphical HMI

Android? con kernel branch of Linux kernel Android mainlining project - 3.3 kernel? Android user space on top of Android-compatible mainline kernel? Google defines roadmap (consumer/mobile phone,...) - similar to working with non mainline Linux project major effort to upgrade to newer versions even for handset manufacturers - buy new phone Licenses permissive Microsoft gets license fees from 70% of all Android devices sold in U.S.http://www.unbiasedtech.com/microsoft-lg-android-license-agreement/ Google-Motorola deal Can my device use apps from the Android market if I m not a handset manufacturer?

Thank you!