The presentation covers Android architecture in depth with examples and animations depicting the applications and process flow in a nice manner.It also presents the history of android and booting process. Therefore it is necessary to always use (F5) slide show mode to view the presentation.
The presentation was held at Cluster Innovation Centre, University of Delhi for 3rd Semester students of BTech(IT).
Project Based Learning (A.I).pptx detail explanation
OS in mobile devices [Android]
1. OS in Mobile Devices
Instructing Computing Devices : Operating Systems
1
Saturday, 29th Nov 2014 yatharthagg@gmail.com
2. 2 OS in Markets
Shipment in Q2 2014
85%
0%
2%
12%
1%
Android
iOS
Windows
Phone
BlackBerry
OS
3. History………..
In July 2005, Google acquired Android Inc., a small startup company based
in Palo Alto, CA. Android's co-founders who went to work at Google.
included :
Andy Rubin (co-founder of Danger),
Rich Miner (co-founder of Wildfire Communications, Inc.),
Nick Sears (once VP at T-Mobile), and
Chris White (one of the first engineers at WebTV).
On 5 November 2007, the Open Handset Alliance(OHA), a consortium of
several companies which include Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,
Sprint Nextel and NVIDIA , was unveiled with the goal to develop open
standards for mobile devices.
The OHA also unveiled their first product, Android, an open source mobile
device platform on the same day.
3
4. Android Architecture
Can be divided into Four Layers:
The kernel
The libraries and runtime
The application framework
The application layer
4
5. The Kernel
The architecture is based on the Linux 2.6 kernel.
This layer is core of android architecture. It provides service like
power management, memory management, security etc.
It helps in software or hardware binding for better communication.
5
6. The Libraries
Android has its own libraries, which is written in C/C++. These
libraries cannot be accessed directly. With the help of
application framework, we can access these libraries.
There are many libraries like web libraries to access web browsers,
libraries for android and video formats etc.
6
7. and Runtime
Core Libraries are written in the Java programming language.
The core library contains all of the collection classes, utilities, IO,
all the utilities and tools that you’ve come to expected to use.
7
8. Runtime continued…….
Dalvik Virtual machine is extremely low-memory based virtual machine,
which was designed especially for Android to run on embedded systems
and work well in low power situations.
The Dalvik VM creates a special file format (.DEX) that is created through
build time post processing. Conversion between Java classes and .DEX
format is done by included “dx” tool.
8
9. The Application Framework
Application Framwork is written in JAVA
It is a toolkit that all applications use, ones which come with
mobile device like Contacts or SMS box, or applications written by
Google and any Android developer.
9
10. • Activity manager:-It manages the lifecycle of applications. It enable proper
management of all the activities. All the activities are controlled by activity manager.
• Window manager:-It is use to create views and layouts.
• Content Providers:-It allows applications to share their data with other applications.
• View System:-It contains things like buttons and lists, all the building blocks of the UI.
It also handles things like event dispatching, layout drawing.
• Package manager:-It is use to retrieve the data about installed packages on
device.
• Telephony manager:-It is use to handle settings of network connection and all
information about services on device.
• Resource manager:-It provides access to non-code resources such as graphics etc.
• Location manager:-It fires alerts when user enters or leaves a specified
geographical location.
• Notification manager:-It enables all applications to display custom alerts in status
bar.
10
11. The Application Layer
The Application Layer used used by the final user.
By installing different applications, the user can turn his mobile
phone into the unique, optimized and smart mobile phone.
All applications are written using the Java programming
language.
These applications works with end user with the help of
application framework to operate.
11
14. It all starts with init()
14
daemons runtime
daemons
Init
Linux Kernel
daemons
Service
manager
System
Server
Telephony
services
Surface
flinger
Surface
flinger
System
Server
Zygote Dalvik VM
Booting
process
15. Processes
Threads
Applications
Tasks
Activity
An activity is an application component that provides a screen with which
users can interact in order to do something, such as dial the phone, take a
photo, send an email, or view a map.
Each activity is given a window in which to draw its user interface.
15
Application anatomy…
16. Activity Lifecycle
onCreate() : The initial method to set up an
Activity.
onStart() : The application process type
changes to visible and the activity is about to
be visible to the user.
onDestroy():The counterpart to onCreate()
onResume() : This method is called if the
Activity is visible in the foreground and ready
to get and process user input.
onPause() : The method has to quickly save
uncommitted data and stop CPU intensive
work to prepare the Activity to lose the focus
and going to background.
onRestart() : This method has to restore a
previously saved state of the Activity, as it is
called after an activity was completely
stopped and is needed again
16
17. 17 Navigation of applications
Home
System Processes
Home
HOME
Mail
Mail List
Mail List Message
Message
Browser
Browser
Browser
Maps
Map
Map
18. 18
Map
System Processes
Home
HOME
Browser
Browser
Maps
Map
Browser
Mail
Message
Message