lec14_android - ANDROID OS CSE120(FA10 Xiao...

Info icon This preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
ANDROID OS CSE120 (FA10) Xiao Ma ([email protected] )
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
the definition of open: "mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/ manifest.git ; repo sync ; make" WHY ANDROID? What does it mean to researchers? What does it mean to users?
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
OUTLINE Android platform architecture OS kernel, libraries and devices Android programming model Delvik Virtual Machine Energy efficiency How to write efficient code
Image of page 4
FIRST THING FIRST What is the difference between a mobile OS and a desktop/server OS?
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
ARCHITECTURE
Image of page 6
ANDROID
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
ANDROID
Image of page 8
ANDROID
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
BASED ON LINUX Android uses Linux 2.6 kernel as the hardware abstraction What are the essences an OS should provide? Memory management, process management, IPC No virtual memory; specially implemented IPC Drivers and architecture support How to port Android to a new device? Using Linux vs. Writing a new OS from scratch Do all Linux kernel implementations work well on mobile devices?
Image of page 10
APPLICATION LIBRARY GNU libs (glibc) is too big and complicated for mobile phones, so Android implements its own special version of libc - Bionic libc : Smaller size - 200K (glibc is more than 400K) Strip out some complicated C++ features, the most significant one - no C++ exception! Very special and small pthread implementation, heavily based on kernel futexes Bionic libc does not fully support POSIX and is not compatible with glibc which means ...?
Image of page 11

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
PROCESS MANAGEMENT What’s the difference between mobile apps cycle and desktop apps cycle?
Image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern