Do Androids Dream
      Of Electric Sheep?
                The Google Android
              Open Source Phone Stack

     ...
What is Android?
●   Android™ is a complete set of software for
    mobile devices:
    –   An operating system
    –   Mi...
Who Develops Android?




 Open                                                                                           ...
Why Google Created Android?
●   "We want people out there to use the Internet
    on their phones a lot. It actually doesn...
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...
Conclusions
●   Android does not compete with iPhone, it
    serves a different market segment.
●   Android will drive pho...
Android Principles
●   Open
●   All applications are created equal
●   Breaking down application boundaries
●   Fast & eas...
Android Features
●   Application                                                                                 ●        ...
Android Structure




                                                                                                    ...
10

              © 2009 Codefidence ltd. All rights reserved. Android is a trademark of Google Inc. Use of this trademark...
Linux Kernel
●   2.6 foundation with some “enhancements”
    –   Alarm
    –   Ashmem
    –   Binder
    –   Power Managem...
Bionic C library
●   BSD License
●   200K size
●   Custom pthread and other speed tweaks
●   Missing:
    –   C++ exceptio...
What Is the Dalvik VM?
●   It is a Java like virtual machine to...
    –   Run on a slow CPU
    –   With relatively littl...
Dalvik VM features
●   Register based
●   Dex file format
●   Private byte code format
●   No JIT
●   Private VM per appli...
Android Application Framework
●   Activities
    –   UI that responds to events
●   Intents
    –   Application requests f...
Process Model
●   Every application is wrapped in a APK file.
●   Application runs in separate Linux processes.
●   Applic...
Security Model
●   Each application runs as a separate Linux user.
●   Security is enforced by OS and MMU, not VM.
●   App...
Upcoming SlideShare
Loading in …5
×

Do Androids Dream Of Electric Sheep?

476 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
476
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Do Androids Dream Of Electric Sheep?

  1. 1. 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.
  2. 2. 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.
  3. 3. Who Develops Android? Open OEM & Source Service Project 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.
  4. 4. 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.
  5. 5. 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.
  6. 6. 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.
  7. 7. 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.
  8. 8. Android Features ● Application ● SQLite Framework ● Video and audio ● Dalvik virtual machine codecs ● Integrated (webkit) ● Bluetooth, EDGE, browser 3G, and WiFi ● 2D and 3D graphics ● Camera, GPS, APIs with HW compass, and accelerometer 8 © 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.
  9. 9. 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. 10. 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.
  11. 11. 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.
  12. 12. 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.
  13. 13. 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.
  14. 14. 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.
  15. 15. Android Application Framework ● Activities – UI that responds to events ● Intents – Application requests for activities ● Services – Long running background processing 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.
  16. 16. 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.
  17. 17. 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.

×