the android open source phone stack

Download The Android Open Source phone stack

If you can't read please download the document

Upload: tuxologynet

Post on 15-Nov-2014

791 views

Category:

Documents


1 download

DESCRIPTION

The following slides are from a presentation about the Google and the Open Handset Alliance Android Open Source phone stack from Gilad Ben-Yossef, Codefidence ltd. Chief Coffee Drinker :-)It was first given as a Herzelinux meetings on Thursday May 7, 2009. The meeting was recorded and we hope to have that video available for your real soon now.http://tuxology.net/lectures/google-android-open-source-phone-stack/

TRANSCRIPT

Do Androids Dream Of Electric Sheep?The Google Android Open Source Phone Stack Gilad Ben-Yossef Chief Coffee Drinker

1 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

What is Android?

Android is a complete set of software for mobile devices:

An operating system Middleware Key mobile applications.

2 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Who Develops Android?

Open Source Project

OEM & Service Providers

3 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Why Google Created Android?

"We want people out there to use the Internet on their phones a lot. It actually doesn't matter if it is Android, the iPhone or something else."

Sergey Brin (http://tr.im/kqoA)

4 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

It's Working!

2 phones on sale from HTC G1 sold 1 mil units in US in 1 quarter. Half of users come from legacy phones. 80 percent of G1 owners browse the web daily. An average G1 owner consumes 50 times the data of the average voice-centric phone user.

5 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Conclusions

Android does not compete with iPhone, it serves a different market segment. Android will drive phone prices down. The mobile phone is the Internet platform in BRIC huge market. It's like the PC revolution all over again, with Android as Windows.

6 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Android Principles

Open All applications are created equal Breaking down application boundaries Fast & easy application development

7 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Android Features

Application Framework Dalvik virtual machine Integrated (webkit) browser 2D and 3D graphics APIs with HW

SQLite Video and audio codecs Bluetooth, EDGE, 3G, and WiFi Camera, GPS, compass, and accelerometer8

2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Android Structure

9 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

10 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Linux Kernel

2.6 foundation with some enhancements

Alarm Ashmem Binder Power Management OOM Killer Debugging & logging

11 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Bionic C library

BSD License 200K size Custom pthread and other speed tweaks Missing:

C++ exceptions wide chars pthread_cancel

12 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

What Is the Dalvik VM?

It is a Java like virtual machine to...

Run on a slow CPU With relatively little RAM On an OS without swap space While powered by a battery

13 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Dalvik VM features

Register based Dex file format Private byte code format No JIT Private VM per application / process. GC understands memory sharing semantics

14 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Android Application Framework

Activities

UI that responds to events Application requests for activities Long running background processing

Intents

Services

15 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Process Model

Every application is wrapped in a APK file. Application runs in separate Linux processes. Applications share code and data via Linux Copy on Write semantics.

Applications forks of a preinitialized Zygote process

Shared memory is used for communication.

16 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.

Security Model

Each application runs as a separate Linux user. Security is enforced by OS and MMU, not VM. Applications asks for specific permissions during installation:

android.permission.VIBRATE android.permission.CALL android.permission.DELETE_PACKAGES ...

17 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License.