Unit9
Unit9
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 Open
Handset Alliance. 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.
1
CONTENT
1. Introducing Embedded OS
2. Android operating system
2.1 Introduction
2.2 The Birth of Android
2.2.1 Google Acquires Android Inc.
2.2.2Open Handset Alliance Founded
2.2.3 Hardware
2.3 Android Architecture
2.3.1 The kernel layer
2.3.2 Native libraries layer
2.3.3 Application run time
2.3.4 Applications framework layer
2.3.5 Applications layer
2.4 Development Tools
2.5 Security Issues
2.6 Advantages & Disadvantages
2.7 Why Android?
2.8 Android Versions
2
1. Introducing Embedded OS
The mobile development community is at a tipping point. Mobile users demand more
choice, more opportunities to customize their phones, and more functionality. Mobile
operators want to provide value-added content to their subscribers in a manageable and
lucrative way. Mobile developers want the freedom to develop the powerful mobile
applications users demand with minimal roadblocks to success. Finally, handset
manufacturers want a stable, secure, and affordable platform to power their devices. Up until
now single mobile platform has adequately addressed the needs of all the parties.
Enter embedded operating system, which is a potential game-changer for the mobile
development community. An innovative and open platform, Android and Symbian are well
positioned to address the growing needs of the mobile marketplace. This report explains what
E-os is, how and why it was developed, and where the platform fits in to the established
mobile marketplace.
SOME MORE EXAMPLES ARE
IOS (MAC OS)
Inferno (distributed OS originally from Bell Labs)
Pen Point OS
Palm OS from Palm, Inc.
Symbian OS
Windows CE, from Microsoft
# Embedded Linux
Android
Open Zaurus
Metano GNU/Linux from Pynell - Embedded Systems.
3
An important difference between most embedded operating systems and desktop
operating systems is that the application, including the operating system, is usually statically
linked together into a single executable image. Unlike a desktop operating system, the
embedded operating system does not load and execute applications. This means that the
system is only able to run a single application.
4
2.2.3 Hardware
Google has unveiled at least three prototypes for Android, at the Mobile World Congress on
February 12, 2008. One prototype at the ARM booth displayed several basic Google
applications. A ‟d-pad' control zooming of items in the dock with a relatively quick response.
A prototype at the Google IO conference on May 28, 2008 had a 528 MHz Qualcomm
processor and a Synaptic capacitive touch screen, and used the UMTS cellular standard. It
had 128 MB of RAM and 256 MB of flash, showing that Android's memory requirements are
reasonable. The demo was carried out using a 3.6 Mbit/s HSDPA connection.
5
Android can be subdivided into four main layers: the kernel, libraries, applications
framework, and applications. As previously mentioned the kernel is Linux. The libraries that
come with Android provide much of the graphics, data storage, and media capabilities.
Embedded within the libraries layer is the Android runtime which contains the Dalvik virtual
machine, which powers the applications. The applications framework is the API that all
applications will use to access the lowest level of the architecture.
6
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.
7
1) Application Building Blocks
• Activity
Represents the presentation layer of an Android application, e.g. a screen which the
user sees. An Android application can have several activities and it can be switched
between them during runtime of the application. But, they can:
Be faceless
Be in a floating window
Return a value
• Intent Receiver
Components that respond to broadcast „Intents‟
Way to respond to external notification or alarms
Apps can invent and broadcast their own Intent
Think of Intents as a verb and object; a description of what you want done E.g.
VIEW, CALLS, and PLAY etc. System matches Intent with Activity that can best
provide the service Activities and Intent Receivers describe what Intents they can
service.
• Service
Faceless components that run in the background e.g. music player, network
downloads etc…
• Content Provider
o Enables sharing of data across applications
E.g. address book, photo gallery
o Provides uniform APIs for:
querying
Delete, update and insert.
o Content is represented by URI and MIME type
2) Application Lifecycle
In Android, every application runs in its own process, which gives better performance
in security, protected memory and other benefits. Therefore, Android is responsible to run
and shut down correctly these processes when it is needed. It is important that application
developers understand how different application components (in particular Activity, Service,
and Broadcast Receiver) impact the lifetime of the application's process. Not using these
8
components correctly can result in the system killing the application's process while it is
doing important work.
To determine which processes should be killed when low on memory, Android places each
process into an "importance hierarchy" based on the components running in them and the
state of those components.
1. A visible process is one holding an Activity that is visible to the user onscreen but not in
the foreground (its onPause() method has been called). This may occur, for example, if the
foreground Activity is displayed as a dialog that allows the previous Activity to be seen
behind it. Such a process is considered extremely important and will not be killed unless
doing so is required to keep all foreground processes running.
2. A service process is one holding a Service that has been started with the startService()
method. Though these processes are not directly visible to the user, they are generally doing
things that the user cares about (such as background mp3 playback or background network
data upload or download), so the system will always keep such processes running unless
there is not enough memory to retain all foreground and visible process.
3. A background process is one holding an Activity that is not currently visible to the user (its
onStop() method has been called). These processes have no direct impact on the user
experience. Provided they implement their Activity life-cycle correctly (see Activity for more
details), the system can kill such processes at any time to reclaim memory for one of the three
previous processes types. Usually there are many of these processes running, so they are kept
in an LRU list to ensure the process that was most recently seen by the user is the last to be
killed when running low on memory.
4. An empty process is one that doesn't hold any active application components. The only
reason to keep such a process around is as a cache to improve start-up time the next time a
component of its application needs to run. As such, the system will often kill these processes
in order to balance overall system resources between these empty cached processes and the
underlying kernel caches.
9
10
2.4. DEVELOPMENT TOOLS
TOOLS
Java Language
Eclipse IDE
ADT Plug-in For Eclipse
Android SDK
Android Emulator
Command line tools
Documentations
2.6 ADVANTAGE
· Open - Android allows you 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 dialler or home screen can be replaced.
11
· 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 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 black
hat hackers.
· 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 vulnerable log-in.
· Incompetence - Google‟s dependence on hardware and carrier partners puts the final
product out of their control.
12
3. SYMBIAN OPERTING SYSTEM
3.1 INTRODUCTION
Small devices come in many shapes and sizes, each addressing distinct target markets
that have different requirements. The market segment we are interested in is that of the
mobile phone. The primary requirement of this market segment is that all products are great
phones. This segment spans voice-centric phones with information capability to information-
centric devices with voice capability. These advanced mobile phones integrate fully-featured
personal digital assistant (PDA) capabilities with those of a traditional mobile phone in a
single unit. There are several critical factors for the need of operating systems in this market.
It is important to look at the mobile phone market in isolation. It has specific needs that make
it unlike markets for PCs or fixed domestic appliances. Scaling down a PC operating system,
or bolting communication capabilities onto a small and basic operating system, results in too
many fundamental compromises. Symbian believes that the mobile phone market has five
key characteristics that make it unique, and result in the need for a specifically designed
operating system:
1) Mobile phones are both small and mobile.
2) Mobile phones are ubiquitous - they target a mass-market of consumer, enterprise and
professional users.
3) Mobile phones are occasionally connected - they can be used when connected to the
wireless phone network, locally to other devices, or on their own.
4) Manufacturers need to differentiate their products in order to innovate and compete in a
fast-evolving market.
5) The platform has to be open to enable independent technology and software vendors to
develop third-party applications, technologies and services.
The way to grow the mobile phone market is to create good products - and the only
way to create good products is to address each of these characteristics and ensure that
technology doesn‟t limit functionality. Meeting the impressive growth forecast by analysts in
a reasonable time frame is only possible with the right operating system. Symbian and its
licensees aim to create a mass market for advanced open mobile phones. To deliver products
that satisfy mobile phone users, an operating system must be engineered to take into account
key functional demands of advanced communications on 2.5G and 3G networks. To fit into
the limited amount of memory a mobile phone may have, the operating system must be
compact. However, it must still provide a rich set of functionality. What is needed to power a
mobile phone is not a mini-operating system but a different operating system - one that is
tailored. Symbian is dedicated to mobile phones and Symbian OS has been designed to meet
the sophisticated requirements of the mobile phone market that mini-operating systems can‟t.
They simply run out of steam The five key points - small mobile devices, mass-market,
intermittent wireless connectivity, diversity of products and an open platform for independent
software developers - are the premises on which Symbian OS was designed and developed.
This makes it distinct from any desktop, workstation or server operating system. This also
makes Symbian OS different from embedded operating systems, or any of its competitors,
which weren‟t designed with all these key points in mind. Symbian is committed to open
standards. Symbian OS has a POSIX-compliant interface and a Sun-approved JVM, and the
13
company is actively working with 7 emerging standards, such as J2ME, Bluetooth, MMS,
SyncML, IPv6 and WCDMA .As well as its own developer support organization, books,
papers and courses, Symbian delivers a global network of third-party competency and
training centres - the Symbian Competence Centres and Symbian Training Centres. These are
specifically directed at enabling other organizations and developers to take part in this new
economy. Symbian has announced and implemented a strategy that will see .Symbian OS
running on many advanced open mobile phones. Products launched, such as the Sony
Ericsson P800 smartphone, the Nokia 9200 Communicator series and the NTT DoCoMo
Fujitsu 2102V, show the diversity of mobile phones that can be created with Symbian OS.
Other Symbian OS licensees include BenQ Motorola, Panasonic, Samsung, Sendo and
Siemens. Over the next year, we can look forward to an even wider range of mobile phones.
14
THE COMPANY:
Headquartered in London, Symbian Ltd. is owned by Ericsson, Nokia, Panasonic, Psion,
Siemens and Sony-Ericsson.
CUSTOMERS:
Symbian‟s customers include all of its shareholders, but any company is free to
license the product - Symbian OS is open to all on equal terms. So far, in addition to the
shareholders, Sony, Sanyo, Kenwood and Fujitsu have all taken licenses.
BASIC PRINCIPLES:
The cornerstone of Symbian‟s modus operandi is to use open – agreed - standards
wherever possible. Symbian is focused squarely on one part of the value chain - providing the
base operating system for mobile internet devices. This enables manufacturers, networks and
application developers to work together on a common platform.
5) It must be open to all to develop applications - again with a level playing field
for all.
15
ARCHITECTURAL VIEW
16
1) Core - Symbian OS core is common to all devices, i.e. kernel, file server, memory
management and device drivers. Above this core, components can be added or removed
depending on the product requirements.
2) System Layer - The system layer provides communication and computing services such as
TCP/IP, IMAP4, SMS and database management.
3) Application Engines - Above the System Layer sits the Application Engines, enabling
software developers (be they either employed by the phone manufacturer or independent) to
create user interface to data.
There are many features that make Symbian OS ideal for mobile devices. Some of these are
briefly explained below.
17
Multimedia Messaging amongst many. The picture will grow ever more complicated,
especially when technologies are used in combination, but Symbian OS is ready!. For
application developers, this separation of components allows them to program far richer
applications - getting into the middle of the operating system.
18
Systems with No Virtual Memory
Only storage available to the operating system on these platforms is memory;
they do not come with a disk drive
Do not support a demand paged virtual memory
Memory space used in most small platform devices. Typically, have two types
of storage: RAM and flash memory
19
Stores the operating system code (to be used when the system boots)
flash memory
used for both operating memory and permanent (file) storage
it is possible to add extra flash memory to a device (such as a SD
[Secure Digital] card), and this memory is used exclusively for
permanent storage.
Absence of demand-paged virtual memory does not mean the absence
of memory management
Smaller platforms are built on hardware that includes many of the
management features of larger systems includes features such as :
Paging
Address Translation
Heap management
Execution in-place
Loading DLLs
20
Protection
Software ownership
DRM
21
3.7 STRENGTHS
The absence of demand-paged virtual memory does not mean the absence of memory
management. In fact, smaller platforms are built on hardware that includes many of the
management features of larger systems. This includes features such as paging, address
translation, and virtual/physical address abstraction. The absence of virtual memory simply
means that pages cannot be swapped from memory and stored in external storage, but the
abstraction of memory pages is still used. Pages are replaced, but the page being replaced is
just discarded. This means that only code pages can be replaced since only they are backed
on the flash memory.
Platforms with no disk drives usually support execution in-place. What this means is
that the flash memory is mapped into the virtual address space and programs can be executed
directly from flash memory, without copying them into RAM first. Doing so reduces load
time to zero, allowing applications to start instantly, and also does not require tying up scarce
RAM.
3.8 Weakness
No Virtual Memory
Many computer systems do not have the facilities to provide full-blown virtual
memory with demand paging. The only storage available to the operating system on these
platforms is memory; they do not come with a disk drive. Because of this, smaller systems,
from PDAs to smartphones to higher level handheld devices, do not support a demand paged
virtual memory. Consider the memory space used in most small platform devices. Typically,
these systems have two types of storage: RAM and flash memory. RAM stores the operating
system code (to be used when the system boots); flash memory is used for both operating
memory and permanent (file) storage. Often, it is possible to add extra flash memory to a
device (such as a Secure Digital card), and this memory is used exclusively for permanent
storage.
3.9 ADVANTAGES
Greater range of applications.
High quality games.
Better inbuilt WAP browser.
Connectivity is lot easier and faster.
Real Player, Smart movie player etc. sort of application are not available with java
phones.
22
You can install software and applications of any type
You can download big files through your phone easily with 3G around.
DIS-ADVANTAGE
The OS is not available for PCs.
The Symbian OS can be easily affected by a Virus.
23
4.3 CHANGING PHONE FEATURES
If you use a SYMBIAN phone and want to change the way how your menu looks, the
way how your gallery looks and how your videos and music library looks and how your notes
and documents and messages, mms, and phone book looks the way your browser and file
manager looks. Then you can download and install new applications available out there and
use them for the purpose but that will take all your precious phone memory and also will not
act as your default application. If you don‟t want this to happen then you can find a custom
firmware for your phone that satisfy all your needs and flash it but that‟s risky as we saw
before but in an android you can actually do little tweaks and treks by removing your default
file browser and downloading and installing new file browser. That‟s it no risky stuff no
memory eaten by an extra useless application that you don‟t need. And the new downloaded
application act as your default application.
4.5 MODIFICATIONS
Symbian phones does not allow users to do modifications with their phones but why if
you bought the phone it‟s yours, it‟s not Nokia phone anymore android people say it‟s your
phone now so go ahead and do anything you want.
5. CONCLUSION
In the small and rapidly growing world the need of mobiles and its applications are
obvious. To meet the users, embedded OS are playing the vital. To speak in a sentence about
Android and Symbian, Android is much advanced and provides more value to the end users.
Symbian needs updates its features.
6. Reference
[1] http://www.android.com
[2] http://developer.android.com/
[3] http://www.androidwiki.com
[4] www.symbian.com
[5] www.symbian.com/technology/symbos-phones.html
24