Android Operating System: by Rajmane Aarti P. (3409) Nandgave Ankita D. (3404)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

ANDROID OPERATING SYSTEM

Seminar Report
By
Rajmane Aarti P.

(3409)

Nandgave Ankita D. (3404)

Android Operating System

Abstract
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. It can be considered as a software platform as well as
an operating system for mobile devices based on the Linux operating system and
developed by Google and the Open Handset Alliance. It allows developers to write
managed code in a Java-like language that utilizes Google-developed Java libraries.
The android architecture consists of key applications, application framework, core
libraries, android runtime and a Linux kernel. The main features of android applications
are which have an integrated browser, SQLite for data storage, support for common
audio, video formats and it has GSM, EDGE, 3G and Wi-Fi connectivity etc
An android application consists of four important parts. They are Activity, Intent
receiver, services and content provider. There are some application development tools
like Eclipse for the android phones. Google also develop emulator of android phone.
Which help the application developers to run the application without an android phone.
Many versions of android operating system are available like Gingerbread, Honeycomb,
Froyo etc. the latest one is Ice Cream Sandwich ie, Android4.0 . The development of
android made a boom in the mobile technology field.

SCJIT,Narsobawadi

Android Operating System

Index

Page
no.

Sr. no. Contents

1.

INTRODUCTION

2.

ARCHITECTURE OF ANDROID OPEARATING


2
SYSTEM

3.

4.

5.

DIFFERENT SECURITY FEATURES


ANDROID OPERATING SYSTEM
FEATURES
ADVANTAGES & DISADVANTAGES

6.

CONCLUSION

7.

REFERANCE

SCJIT,Narsobawadi

OF

8
11

12
13

Android Operating System

Introduction

Android operating system is one of the most widely used mobile operating system
these days. Android mobile operating system is based on the linux kernel and is
developed by google. Android operating system is primarily designed for smart phone
and tablets. Since android is open source it has become the fastest growing mobile
operating system. Due to its open nature it has become favorite for many consumers and
developers. More over software developer can easily modify and add an enhanced feature
in it to meet the latest requirements of the mobile techonology. Android users download
more than 1.5 billion applications and games from google play each month due to its
powerful developments framework users as well software devlopers are able to create
their own application for wide range of devices. Some of key features of android
operating system are: Application freamwork, dalvik virtual machine, media support,
GSM technology, Bluetooth, edge, 3G, Wi-Fi, camera and GPSetc. To help a developer
for better software development android provides android software development kit
(SDK).it provides java programming language for application development. The android
software development kit includes a debugger, libraries, a handset emulator based on
QEMU (Quick emulator), documentation, sample code, and tutor

SCJIT,Narsobawadi

Page no.
1

Android Operating System

Architecture of Android Operating System

Figure: Architecture of Android Operating System

Android operating system is stack of software components. main components of


Android Operating system Architecture or software stack are Linux Kernel, Native
libraries, Android Runtime, Application Framework and Applications.

SCJIT,Narsobawadi

Page no.
2

Android Operating System

Linux Kernel
Linux kernel is at the bottom layer of the software stack. Whole Android Oprating

System is built on this layer with some changes made by the Google. Like main
Operating System it provides the following function: process management, memory
management, device management (ex. camera, keypad, display etc.) Android operating
system interacts with the hardware of the device with this layer. This layer also contains
many important hardware device drivers. Linux kernel is also responsible for managing
virtual memory, networking, drivers, and power management.

Native Libraries Layer


On the top of the Linux kernel layer is Androids native libraries.This layer

enables the device to handle different type of data. Data is specific to handle different
types of data. Data is specific to hardware.All these libraries are written in c or c+
+language.these libraries are called through java interface. Some important native
libraries are:
1. Surface manager: it is used to manege display of device. Surface maneger used
for composing windows on the screen.
2. SQLite: SQLite is the database used in android for data storage.it is relational
database and available to all application.
3. WebKit: it is the browser engine used to display HTML content.
4. Media Framework: media Framework provides playback and recording of various
audio, video& picture format (ex.MP3, AAC,AMR,JPJ,MPEG4,H.264&PNG),
5. Free type: Bitmap and font rendering.
6. Open GL/ES: Used to render 2D or 3D graphics content to the screen.

Android Run Time

SCJIT,Narsobawadi

Page no.
3

Android Operating System


It consists of Dalvik virtual machine and core java libraries. It is located on the
same level as the library layer. Dalvik virtual machine is a type of java virtual machine
used for running applications on android device. The dalvik VM enables every android
application to a run in its own process, with its own instance of the delvik virtual
machine. The dalvik VM allow multipal instance of virtual Machine to be created
simultaneously providing security, isolation memory management and threading support.
Unlike java VM which is process-based, dalvik virtual machine is register-base. Dalvik
virtual machine a run.dex files which are created from .class file by dx tool.

Application Framework The Application Framework Layer Provides Many


HigherLevel services or major APIs to applications in the form of Java classes.

Application developers are allowed to make use of these services in their applications
These is the blocks with which developer's applications directly interact. Important
blocks of Application framework are:
1. Activity Manager: It manages the life cycle of applications.Content
Providers: It is used to manage the datasharing between applications,
manages how to access data from other applications.
2. Telephony Manager: it manages all voice call related functionalities.
3. Location Manager: It is used for Location management, using GPS or cell
tower.
4. Resource Manager: Manage the various types of resources used in
application.
5. Application Layer the Applications Layer is the top layer in the

Android architecture.

Page no.
4

Different Security Features of Android OS


Android Operating system should ensure the security of users, user's data,

SCJIT,Narsobawadi

Android Operating System


Applications, the device, and the network. To achieve the security of these
components Android provides these key security features :
1) Security at the Operating System level through the Linux kernel.
2) Application and box for all applications
3) Secure intercrosses communication.
4) Application mining.
5) Application-defined and user-granted permissions
Linux Kernel
Android operating system is based on Linux kernel. Due to its open source
nature it is researched, attacked and fixed by many research developers. So Linux has
become stable and secure kernel. Linux kernel provides Android with several key
security features including:
a) A user-based permissions model In the Linux file system each file and directories
has three user based permissions. Owner, group, other users. Owner -The Owner
permissions apply only the owner of the file or directory. Group -The group
permissions apply only to the group that has been assigned to the file or directory.
Other users -The other Users permissions apply to all other users on the system. Each
file or directory has three basic permission types: read -The read permission means
user's ability to read the contents of the file. Write -write permissions mean's user's
ability to write or edit a file or directory. Execute-The execute permission means
user's ability to execute a file or view the contents of a directory.
This permission model ensures that proper security is maintained while accessing
android files.
b) Process isolation: The Android operating system assigns a unique userID (UID) to
each Android application. And runs it as a separate process.

The Application Sandbox

Page
No.5
Sandbox is a security mechanism for separatingrunning programsand

limitingthe resources of the device to application. It is often used to execute untested


SCJIT,Narsobawadi

Android Operating System


code or programsfrom untrusted users and untrusted websites. By using sandboxing
technique limited access to devices resources is given therefore security of the
system is increased. Sandboxing technology is frequently used to test unverified
programs which may contain a virus or other malware code, without allowing the
software or Code to harm a the host device. With the help of sandbox untrusted
program access nylons resources of the device for which permission is
granted.Permissionis denied if it tries to access other resources of the device.
Secuer inter-process communication
Some of the applications still use traditional Linux techniques such as network
sockets, file system and shared files for inter-process communication. But android
operating system also provides new mechanism for IPC such as Binder, Services,
Intents and Content Providers. All these mechanism allows developers to verify the
identity of application and also used to set the security policies.
Application signing
In order to install and run applications on Android
OS they must be digitally signed. With this mechanism Android OS identifying the
author of an application. This feature also used to establishing trust relationship
between applications. If an application is no signed properly then it cannot be
installed on the emulator also. Some standard tools such as key tool and Jarsigner are
used to generate keys and sign application. Apk files 3.5 Application-defined a and
user-granted Permission are an android security mechanism to allow or restrict
application access. By default Android application have no permission granted.
Making them safe by not allowing them to gain access to protected APIs.

Features
Application Framework

SCJIT,Narsobawadi

Page no.
6

Android Operating System


It is used to write applications for Android. Unlike other embedded mobile
environments, Android applications are all equal, for instance, an applications
which come with the phone are no different than those that any developer
writes.The framework is supported by numerous open source libraries such as
openssl, SQLite and libc. It is also supported by the Android core libraries. From
the point of security, the framework is based on UNIX file system permissions that assure
applications have only those abilities that mobile phone owner gave them at install time.

Dalvik Virtual Machine

It 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. It is also
tuned to the CPU attributes. 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.

Integrated Browser

Google made a right choice on choosing WebKit as open source web browser. They
added a two pass layout and frame flattening. Two pass layout loads a page without
waiting for blocking elements, such as external CSS or external Java Script and after
a while renders again with all resources downloaded to the device. Frame flattening
converts founded frames into single one and loads into the browser. These features
increase speed and usability browsing the internet via mobile phone.

Optimized Graphics

As Android has 2D graphics library and 3D graphics based on Open GL ES


1.0, possibly we will see great applications like Google Earth and spectacular
games like Second Life, which come on Linux version. At this moment, the shooting
legendary 3D game Doom was presented using Android on the mobile phone.

SQLite

Page no.
Extremely small (~500kb) relational database management system,7 which is

integrated in Android. It is based on function calls and single file, where all definitions,
SCJIT,Narsobawadi

Android Operating System


tables and data are stored. This simple design is more than suitable for a platform such as
Android.

Handset Layouts

The platform is adaptable to both larger, VGA, 2D graphics library, 3D graphics


library based on OpenGL ES 1.0 specifications, traditional smart phone layouts. An
underlying 2D graphics engine is also included. Surface Manager manages access to the
display subsystem and seamlessly composites 2D and 3D graphic layers from multiple
applications

Data Storage

SQLite is used for structured data storage .SQLite is a powerful and lightweight
relational database engine available to all applications.

Connectivity

Android supports a wide variety of connectivity technologies including GSM,


CDMA, Bluetooth, EDGE, EVDO, 3G and Wi-Fi.

Messaging

SMS, MMS, and XMPP are available forms of messaging including threaded text
messaging.

Web Browser

The web browser available in Android is based on the open-source WebKit


application framework. It includes LibWebCore which is a modern web browser engine
which powers both the Android browser and an embeddable web view.

Java Virtual Machine

Software written in Java can be compiled into Dalvik bytecodes and executed in the
Dalvik virtual machine, which is a specialized VM implementation designed for mobile
device use, although not technically a standard Java Virtual Machine.

Media Support

Android will support advanced audio/video/still media formats such asPage


MPEG-4,
no.
H.264, MP3, and AAC, AMR, JPEG, PNG, GIF.

Additional Hardware Support

SCJIT,Narsobawadi

Android Operating System


Android is fully capable of utilizing video/still cameras, touchscreens, GPS,
compasses, accelerometers, and accelerated 3D graphics.

Development Environment

Includes a device emulator, tools for debugging, memory and performance profiling,
a plugin for the Eclipse IDE. There are a number of hardware dependent features,
for instance, a huge media and connections support, GPS, improved support for
Camera and simply GSM telephony. A great work was done for the developers to
start work with Android using device emulator, tools for debugging and plugin for
Eclipse IDE.

Advantages

SCJIT,Narsobawadi

Page no.
9

Android Operating System

Open - Android allows you to access core mobile device functionality

throughstandard API calls.


All applications are equal - Android does not differentiate between the phone's
basic and third-party applications -- even the dialer or home screen can be

replaced.
Breaking down boundaries - Combine information from the web with data
onthe phone -- such as contacts or geographic location -- to create new user

experiences.
Fast and easy development - The SDK contains what you need to build and run
Android applications, including a true device emulator and advanced debugging
tools

Disadvantages

Security - Making source code available to everyone inevitably invites the

attention of blackhathackers.
Open Source - A disadvantage of open-source development is that anyone can

scrutinize the source code to find vulnerabilities and write exploits.


Login - Platform doesn't run on an encrypted file system and has a vulnerablelog-

in
Incompetence - Googles dependence on hardware and carrier partners puts the
final product out of their control.

Page no.
10

Conclusion
Mobile software development has evolved over time. Android has emerged as a
new mobile development platform, building on past successes and avoiding past failures
SCJIT,Narsobawadi

Android Operating System


of other platforms .Android was designed to empower the developer to write innovative
applications .The platform is open source, with no up-front fees, and developers enjoy
many benefits over other competing platforms.
Android is open to all: industry, developers and users.
Participating in many of the successful open source projects.
Aims to be as easy to build for as the web.
Google Android is stepping into the next level of Mobile Internet.

Page no.
11

References
Websites

SCJIT,Narsobawadi

Android Operating System


www.wikipedia.com
www.google.com
www.wikihow.com

Page no.
12

Page no.
11

SCJIT,Narsobawadi

You might also like