social pharmacy d-pharm 1st year by Pragati K. Mahajan
Seminar Report on Android OS
1. i
A Seminar Report on
Android Operating System
Submitted in the partial fulfillment of the requirement for the award of
the degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
Submitted by
MOHD. BILAL
1501010009
Under the guidance of
Mr. Prem Narayan Singh
Assistant Professor
Department Of Computer Science & Engineering
May 2017-2018
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
MOHAMMAD ALI JAUHAR UNIVERSITY
RAMPUR-244901
UTTAR PRADESH
2. ii
BONAFIDE CERTIFICATE
It is certified that seminar work entitled “Android Operating System” is a bonafide work carried
out in the sixth semester by “Mohd. Bilal” in partial fulfillment for the award of Bachelor of
Technology in Computer Science & Engineering from Mohammad Ali Jauhar University,
Rampur during the academic year 2017-2018.
MR. PREM NARAYAN SINGH MR. MOHD KALEEM
(Assistant Professor) (Assistant Professor)
Seminar Guide Head of Department
Mohammad Ali Jauhar University Mohammad Ali Jauhar University
Rampur Rampur
3. iii
ACKNOWLEDGEMENT
I feel an immense pleasure in submitting the seminar report on “Android Operating
System” as partial fulfillment for the award of four-year Degree of B. Tech in Computer Science
& Engineering. The satisfaction and euphoria that accompany the successful completion of this
seminar would be incomplete without a mention of people who made it possible and whose
constant guidance and encouragement crown all the efforts.
First and foremost, I would like to express my sincere gratitude to our advisor, Mr. Prem
Narayan Singh for his invaluable guidance and co-operation throughout the work. His constant
encouragement and vision enabled me to take this new endeavor to the successful path.
I would like to express our heartiest gratitude to Prof. M.R. Khan, Mohammad Ali Jauhar
University, Rampur for his support and encouragement throughout the work for providing the
suitable environment to carry out the work.
I feel compelled to articulate my thankfulness to the Coordinator, Mr. MOHD. KALEEM,
Department of Computer Science & Engineering, Mohammad Ali Jauhar University for his
encouragement which was a source of inspiration.
I extend our heartiest gratitude to Mr. Ishrar Ahmad, Mr. Jawed Akhtar & Mr. Nirabh
Agarwal whose constant motivation and support made me enthusiastic throughout the work.
4. iv
DECLARATION
I MOHD BILAL (1501010009), hereby declare that the work which is being presented in the
seminar “Android Operating System” is the record of authentic work carried out by us under the
supervision of Mr. Prem Narayan Singh in the Department of Computer Science &
Engineering, M. A. Jauhar University, Rampur (UP) and submitted in the partial fulfillment for
the award of the degree of Bachelor of Technology in Computer Science & Engineering. This
work has not been submitted to any other University for the award of any Degree.
SIGNATURE
Name: MOHD. BILAL
Roll No.1501010009
5. v
TABLE OF CONTENTS
Bonafide Certificate ………………………………………………………………………
Acknowledgement ………………………………………………………………………..
Declaration ………………………………………………………………………………..
List of figures……………………………………………………………………………...
Chapter 1: ……………………………………………………….………………….…….
1.1 What is Android……………………………………………….….…...….
1.2 Operating System…………………………………………………….…...
ii
iii
iv
vi
01
01
Chapter 2: ………………………………………………………………………….…….
2.1 History of Android …………….………………………………………......
2.2 Open Handset Alliance…………………………………………………….
03
04
Chapter 3: ………………………………………………………....……………….…….
3.1 Features of Android………………………….……………………………...
3.1.1 Interface…………………………………………………………………...
3.1.2 Applications……………………………………………………………….
3.1.3 Memory Management………………………………………………….….
3.1.4 Versions of Android………………………..…………………………..….
05
05
05
05
06
Chapter 4:………………………...…………………………….…………………………
4.1: Architecture….….…….…………………………………………………....
4.1.1: Application Framework ………………………………………………….
4.1.2 Libraries…………………………………………………………………...
4.1.3 Android Runtime………………………………………………………….
4.1.4 Linux Kernel………………………………………….…………………...
09
09
10
10
11
Chapter 5:..……………….……………….……………………….…………………..….
5.1 Application Execution……………...…………………………………….….
5.2 The Dalvik Virtual Machine……...…………………………………….……
13
14
Chapter 6:…………………………………………………………………………………
6.1 Merits of Android……………………………………..…………………..….
6.2 Limitations of Android……………………………………………………….
15
16
Conclusion………………………………………………………………………………...
References………………………………………………………………………………...
Glossary…………………………………………………………………………………...
17
18
19
6. vi
LIST OF FIGURES
Figure No. Figure Name Page No
Figure 1.1 Diagram for Android Operating system………………………………... 02
Figure 2.1 HTC Android T-Mobile G1 …………………………………….….….. 04
Figure 2.2 Open Handset Alliance Firms …………………………….…………… 04
Figure 3.1 Diagram showing UI of different android versions……………………. 07
Figure 4.1 Major Components of Android……...…………………………………. 08
Figure 4.2 Android Runtime………………..……………………………………… 11
Figure 4.3 Linux Kernel Components……...……………………………………… 12
Figure 5.1 Android execution Environment ………………………………………. 13
Figure 5.2 Dalvik Virtual Machine …………………………………...…………… 14
8. 1
CHAPTER 1
1.1 WHAT IS ANDROID?
Android is Linux based operating system designed primarily for mobile devices such as
smartphones and tablets. Android was first developed as a ADVANCE OPERATING
SYSTEM for digital cameras. There are more than 4,00,000 apps in android market. And,
android is an open source.
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. Android is a software platform and operating system for
mobile devices based on the Linux operating system and developed by Google and the OHA.
It allows developers to write managed code in a Java-like language that utilizes Google-
developed Java libraries, but does not support programs developed in native code.
Android allows to access core mobile device functionality through standard 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 on the phone -- such as contacts
or geographic location - to create new user experiences. Fast and easy development - The
SDK contains what need to build and run Android applications, including a true device
emulator and advanced debugging tools.
1.2 OPERATING SYSTEM
An operating system, or "OS," is software that communicates with the hardware and allows
other programs to run. Common desktop operating systems include Windows, OS X,
and Linux Common mobile OS include Android, iOS, and Windows Phone.
For hardware functions such as input and output and memory allocation, the operating system
acts as an intermediary between programs and the computer hardware, although the
application code is usually executed directly by the hardware and frequently makes system
calls to an OS function or is interrupted by it. Operating systems are found on many devices
that contain a computer – from cellular phones and video game consoles to web
servers and supercomputers.
9. 2
1.3 ANDROID OPERATING SYSTEM
Android Operating System consists of a shell and a kernel. Creator’s of android takes out the
kernel from Linux OS 2.6 and rewrite the shell part using java, that’s forms android OS.
The unveiling of the Android platform on 5 November 2007 was announced with the founding
of the Open Handset Alliance, a consortium of 34 hardware, software and telecom companies
devoted to advancing open standards for mobile devices. When released in 2008, most of the
Android platform will be made available under the Apache free-software and open-source
license.
Figure 1.1 Diagram for Android Operating system
10. 3
CHAPTER 2
2.1 HISTORY OF ANDROID
Android was founded in Palo Alto, California in October 2003 by Andy Rubin, Rich Miner,
Nick Sears and Chris White who work at “Google” to develop.
Rubin described the Android project as "tremendous potential in developing smarter
mobile devices that are more aware of its owner's location and preferences". The early
intentions of the company were to develop an advanced operating system for digital cameras,
and this was the basis of its pitch to investors in April 2004.The company then decided that
the market for cameras was not large enough for its goals, and by five months later it had
diverted its efforts and was pitching Android as a handset operating system that would
rival Symbian and Microsoft Windows Mobile.
Rubin had difficulty attracting investors early on, and Android was facing eviction
from its office space. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in
an envelope, and shortly thereafter wired an undisclosed amount as seed funding. Perlman
refused a stake in the company, and has stated "I did it because I believed in the thing, and I
wanted to help Andy.”
In July 2005, Google acquired Android Inc. for at least $50 million. Its key
employees, including Rubin, Miner and White, joined Google as part of the acquisition. Not
much was known about the secretive Android at the time, with the company having provided
few details other than that it was making software for mobile phones. At Google, the team
led by Rubin developed a mobile device platform powered by the Linux kernel. Google
marketed the platform to handset makers and carriers on the promise of providing a flexible,
upgradeable system. Google had "lined up a series of hardware components and software
partners and signaled to carriers that it was open to various degrees of cooperation".
HTC Dream was the first android device launched in September 2008
Now, android covers 90% of the mobile OS market.
11. 4
Figure 2.1 HTC Android T-Mobile G1 (The first android device)
2.2 OPEN HANDSET ALLIANCE
Open Handset Alliance is a consortium of several companies. OHA is a business alliance of
firm to develop open standard for mobile device. Open Handset Alliance includes 84 firms to
develop open standard for mobile devices, i.e. HTC, Sony, Dell, Intel, Motorola,
QUALCOMM, Google, Samsung Electronics, LG Electronics, T-Mobile, NVidias. Reason
for Nokia not to develop Android mobiles is Nokia is not a part of OHA.
Figure 2.2 OHA Firms
12. 5
CHAPTER 3
3.1 FEATURES OF ANDROID
3.1.1 INTERFACE
Android's default user interface is mainly based on direct manipulation, using touch inputs
that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse
pinching to manipulate on-screen objects, along with a virtual keyboard. Game
controllers and full-size physical keyboards are supported via Bluetooth or USB. The
response to user input is designed to be immediate and provides a fluid touch interface, often
using the vibration capabilities of the device to provide haptic feedback to the user. Internal
hardware, such as accelerometers, gyroscopes and proximity sensors are used by some
applications to respond to additional user actions, for example adjusting the screen from
portrait to landscape depending on how the device is oriented, or allowing the user to steer a
vehicle in a racing game by rotating the device, simulating control of a steering wheel.
3.1.2 APPLICATIONS
Applications, which extend the functionality of devices, are written using the Android
software development kit (SDK)and, often, the Java programming language. Java may be
combined with C/C++,together with a choice of non-default runtimes that allow better C++
support. The Go programming language is also supported, although with a limited set
of application programming interfaces (API).In May 2017, Google announced support for
Android app development in the Kotlin programming language.
3.1.3 MEMORY MANAGEMENT
Since Android devices are usually battery-powered, Android is designed to manage processes
to keep power consumption at a minimum. When an application is not in use the
system suspends its operation so that, while available for immediate use rather than closed, it
does not use battery power or CPU resources. Android manages the applications stored in
memory automatically: when memory is low, the system will begin invisibly and
automatically closing inactive processes, starting with those that have been inactive for the
longest amount of time. Life hacker reported in 2011 that third-party task killer applications
were doing more harm than good.
These are some basic features provided by android:
13. 6
Android supports wireless communication using: -
o 3G Networks,
o 4G Networks,
o 802.11 Wi-Fi Networks,
o Bluetooth Connectivity
Developing an android application is not tough, using SDK and java emulator we can
easily develop applications that we want.
Open source – Free development platform
Built in services like GPS, SQL Database, browser and maps
Portability across current and future hardware
3.2 VERSIONS OF ANDROID
Android Astro 1.0
Released on September 23, 2008.
Android Cupcake 1.5
Released on April 30, 2009.
Android Donut 1.6
Released on September 15, 2009
Android Éclair 2.0/2.1
Released on October 26, 2009
Android Froyo 2.2
Released on May 20, 2010.
Android Gingerbread 2.3
Released on December 6, 2010
Android Honeycomb 3.0
Released on February 22, 2011.
Android IceCream Sandwich 4.0
Released on November 14, 2011
Android JellyBean 4.1
Released on June 27,2012
Android Kitkat 4.4
Released on October 31,2013
Android Lollipop 5.0
Released on November 12, 2014
Android Marshmallow 6.0
Released on May 28, 2015
Android Nougat 7.0
Released on August 22, 2016
Android Oreo 8.0
Released on August 21, 2017
Latest version till date.
14. 7
Figure 3.1 Diagram showing UI of different android versions.
Android is continually developed by Google and the Open Handset Alliance, and it has seen
a number of updates to its base operating system since the initial release.
Versions 1.0 and 1.1 were not released under specific code names. Android code names are
confectionery-themed and have been in alphabetical order since 2009's Android 1.5 Cupcake,
with the most recent major version being Android 8.1 Oreo, released in December 2017.
15. 8
CHAPTER 4
4.1 ARCHITECTURE
The architecture of android consist of the following components:
Linux kernel
Libraries
Android run time
o Core libraries
o Dalvik virtual machine
Application layer
Application framework
Figure 4.1 Major Components of Android
16. 9
4.1.1 APPLICATION FRAMEWORK
Developers have full access to the same framework APIs used by the core applications. The
application architecture is designed to simplify the reuse of components; any application can
publish its capabilities and any other application may then make use of those capabilities
(subject to security constraints enforced by the framework). This same mechanism allows
components to be replaced by the user. Underlying all applications is a set of services and
systems, including:
· A rich and extensible set of Views that can be used to build an application, including lists,
grids, text boxes, buttons, and even an embeddable web browser
· Content Providers that enable applications to access data from other applications (such as
Contacts), or to share their own data
· A Resource Manager, providing access to non-code resources such as localized strings,
graphics, and flat files
· A Notification Manager that enables all applications to display custom alerts in the status
bar
· An Activity Manager that manages the life cycle of applications and provides a common
navigation
back stack.
The application architecture includes the following components:
Activity manager – manages application life cycle
Android provides a set of core applications:
o Email Client
o SMS Program
o Calendar
o Maps
o Browser
o Contacts, Etc.
All applications are written using the Java language.
APIs : Data Structures, Utilities, File Access, Network Access, Graphics, etc.
17. 10
4.1.2 LIBRARIES
Android includes a set of C/C++ libraries used by various components of the Android system.
These capabilities are exposed to developers through the Android application framework.
Some of the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system library
(libc), tuned for embedded Linux-based devices.
Media Libraries - based on Packet Video's Open CORE; the libraries support playback
and recording of many popular audio and video formats, as well as static image files,
including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
Surface Manager - manages access to the display subsystem and seamlessly composites
2D and 3D graphic layers from multiple applications.
LibWebCore - a modern web browser engine which powers both the Android browser
and web view.
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either
hardwareb3D acceleration (where available) or the included, highly optimized 3D
software rasterizer.
Free Type - bitmap and vector font rendering
SQLite - a powerful and lightweight relational database engine available to all
applications.
4.1.3 ANDROID RUNTIME
Android includes a set of core libraries that provides most of the functionality available in the
core libraries of the Java programming language. Every Android application runs in its own
process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that
a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik
Executable (.dex) format which is optimized for minimal memory footprint. The VM is
register-based, and runs classes compiled by a Java language compiler that have been
transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux
kernel for underlying functionality such as threading and low-level memory management.
At the same level there is Android Runtime, where the main component Dalvik Virtual
Machine is located. It was designed specifically for Android running in limited environment,
18. 11
where the limited battery, CPU, memory and data storage are the main issues. Android gives
an integrated tool “dx”, which converts generated byte code from .jar to .dex file, after this
byte code becomes much more efficient to run on the small processors
Figure 4.2 Android Runtime Libraries
4.1.4 LINUX KERNEL
Android Architecture is based on Linux 2.6 kernel. It helps to manage security, memory
management, process management, network stack and other important issues. Therefore, the
user should bring Linux in his mobile device as the main operating system and install all the
drivers required in order to run it. Android provides the support for the Qualcomm MSM7K
chipset family. For instance, the current kernel tree supports Qualcomm MSM 7200A
chipsets, but in the second half of 2008 we should see mobile devices with stable version
Qualcomm MSM 7200, which includes major features:
1. WCDMA/HSUPA and EGPRS network support
2. Bluetooth 1.2 and Wi-Fi support
19. 12
3. Digital audio support for mp3 and other formats
4. Support for Linux and other third-party operating systems
5. Java hardware acceleration and support for Java applications
6. Qcamera up to 6.0 megapixels
Figure 4.3 Linux kernel components
20. 13
CHAPTER 5
5.1 APPLICATION EXECUTION
Figure 5.1 Android execution Environment.
Android translators work on the resulting Java bytecode emitted from a traditional Java
compiler. As such, it is possible to reuse existing Java libraries, even if the original source
code is not available. Such libraries must meet stringent requirements however; they need to:
1. adhere to the Java SE 5 dialect.
2. not use any Java classes or packages found in Java SE 5 not found in the Android platform.
3. not use any packages or classes specific to the Sun Microsystems platform.
4. still behave in a predictable manner under the Apache Harmony Java environment.
it’s possible to integrate existing Java source code, packages and libraries piecemeal. Special
care will be needed in the integration phase of such code.
21. 14
5.2 THE DALVIK VIRTUAL MACHINE
The Dalvik virtual machine is an interpreter only machine optimized for use on low powered,
low memory devices like phones. Notably, Dalvik does not make use of just in time (JIT)
Compilation to improve the performance of an application at runtime. Furthermore, Dalvik is
not a Java virtual machine. This is because Dalvik is unable to read Java bytecode34, instead
it uses its own bytecode format called “dex”. Google claims this format allows battery power
to be better-conserved at all different stages of execution of an application. This means that
standard Java SE applications and libraries cannot be used directly on the Android Dalvik
virtual machine. Dalvik however stands at the center of the Android value proposition. Its
low electrical power consumption, rich libraries, and unified, non-fragmented application
programming interfaces make it stand out, or so Google hopes, over the fragmented
ecosystem that is Java ME35 today. Furthermore, since Dalvik uses the Java programming
language but not the Java execution environment (JVM), Google is free to develop Android
without the need to license or obtain certification from Sun Microsystems Inc, the legal owner
of the Java trademark and brands.
Figure 5.2 Dalvik Virtual Machine
22. 15
CHAPTER 6
6.1 MERITS OF ANDROID OS
Android price fits your pocket-
Android devices are cheaper than iPhones which is one of main reason why Android phone
sale is growing rapidly. IPhone is an expensive device which everybody can’t afford to buy.
Free apps and games-
Android offers a lot of free games and applications on google play, whereas IPhone have
mostly paid Apps on App Store. which is also the main reason why people skip IOS and
attract towards android.
Launchers-
Android offers many cool launcher apps for customizing home screen’s style. While Apple
do not allow users to customize their home screen and all the users have same home screen.
Custom ROMs-
Android users can install custom Rom on their smart phone, which allows them to replace
original software comes with their smart phone. Some of the android users want to use some
tools and apps which do not work on their original OS, that’s why they Root their phone and
install custom ROMS.
Google Integration-
Google integration is very useful service provided by google to it’s users. unarguably google
dominates the web with it’s awesome services like Google drive, Google Music, Google Map,
Google Docs, Google mail, Google plus, Google hangout. and the list goes on,
but IOS do not provide these apps integration.
Expandable Memory-
Android allows you to put a memory card to increase your phone memory. What does Apple
do? Well, they've never offered expandable memory for the iPhone. Instead, they would
23. 16
rather you pay another $100 to upgrade one of their devices from a 16 GB memory to a 32
GB or 64 GB.
6.2 LIMITATIONS OF ANDROID OS
Making source code available to everyone inevitably invites the attention of hackers.
Android operating system uses more amount of battery as compared to normal mobile
phones.
It has been seen that it has security related issues.
As we call Android is world of applications we continuously need to connected with
the internet which is not possible for all the users.
24. 17
CONCLUSION
Android is a truly open, free development platform based on Linux and open source. Handset
makers can use and customize the platform without paying a royalty.
A component-based architecture inspired by Internet mash-ups. Parts of one application can
be used in another in ways not originally envisioned by the developer. can even replace built-
in components with own improved versions. This will unleash a new round of creativity in
the mobile space.
· 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.
25. 18
REFERENCES
Net Surfing:
1. Google Android official webpage:
http://code.google.com/android/
2. Open Handset Alliance webpage:
http://www.openhandsetalliance.com/
3. Wikipedia information:
http://en.wikipedia.org/wiki/Android_(mobile_phone_platform)
4. Official Google Blog:
http://googleblog.blogspot.com/
5. Android authority webpage:
https://www.androidauthority.com/
Books:
1. Android Programming: Pushing the limits
By Erik Hellman
26. 19
GLOSSARY
OS- Operating System
SDK - Software Development Kit
APIs - Application Program Interfaces
OHA - Open Handset Alliance
GPS – Global Positioning system
SQL- Structured Query Language
XMPP- Extensible Messaging and Presence Protocol
SSL- Secure Sockets Layer
SGL- Scalable Graphics Library
ES- Embedded system
BSD- Berkeley Software Distribution
VM- Virtual Machine
MSM- Mobile Station Model
USB- Universal Serial Bus