A Study On The Android Operating System Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

For a while long time now there was two operating systems for mobile phones dominating the market form mobiles, such as Symbian OS and windows mobile OS.

In Jan 2007, apple became the third bug company that took place in the mobile market introducing the IPHONE that running the IN -HOUSE developed operating system Mac OS X. the new technology left the generation of keypad behind and start new touch technology, the IPHONE was the first of the phones to give a ground - breaking new touchpad interface that works very fast and very sensitive [1].

This, combined with its appearance of both physical device and operating system, give rise to a big hype for Apple's new cash cow iPhone. In combination with iPhone market, offering thousands of applications which can simply be downloaded and installed, iPhone has become the main success in Apple's production history.

As for the last competitor, Google, the famous web search portal entered the market with linux-kernel-based product name android Google.

Google Android, a Linux-kernel-based operating system, comes along with a quite new ideology within this market: it is supposed to be open! This, in specific, means all essentials used shall be provided in source code form so that designers will have the opportunity to take a closer look into the system to maybe alter it to their needs. In order to assurance a great impact of Google Android on the market, Google organized several creators contests in order to create a rich set of ready-to-go applications for the Android platform before the real phone is even existing on the market, hoping to enter the race with Apple's iPhone market.

The strategy of Google started by picking HTC As provider for the first physical device that runes android as an operating system and T-Mobile as telephone provider who offered G1 .

Motivation of this assignment is to have fully understanding of the new born platform Google android, the framework, its origin operating system and the differences between the commonly known Linux operating systems

History of Google android (Google obtains Android, Inc.)

Way back to the 2005, Google bought android when it was a tiny company, was based in Palo Alto in California. Some of the people who went over to work at Google were Rich Miner, the co-founder of Wildfire Communications, Andy Rubin, co-founder of Danger (a software services company), Chris White, and engineer at WebTV, and Nick Sears, the former VP of T-Mobile.

Rubin and his team began to develop a Linux based system for cell phones and for other mobiles and their main target were the makers of the handsets and the service providers to provide them with flexible and upgradeable operating system at the same time. All that led to rumors in December 2006 that Google will inter the phone market with handset and operating system branded by Google.

Several companies including Google, Intel, QUALCOMM, NVidia, T-Mobile, HTC, sprint Nextel, Motorola , in the 5th of November 2007 came together for perform an open handset alliance and started to develop open standard form mobile devices with new product name android a mobile device built on Linux kernel.

Since October 2008 android was available as open - source platform under apache license, with add on applications and extensions made by private companies for free or for sale.

There were few devices that run Google android even before the T-mobileG1. In February 2008 at the mobile world conference there was three cell phones produced as prototypes running android applications. At the IO Google conference in may same year a cell phone with QUALCOMM processor and touch screen, 256 MB of flash memory and 128 MB RAM presented .then the famous T-Mobile G1 comes to the market with three colors.

Openmoko, a phone company, declared that it would be applying basic Android features into its headphones, the Neo FreeRunner and the Neo 1973. The Kogan Arora and the Kogan Arora Pro (from Kogan Technologies), to be released January 29th, 2009, are expected to be pre-loaded with Android. Motorola, too, is working on new Android phones.

2008 Android SDK 1.0 is released. The G1 phone, manufactured by HTC, and sold by the wireless carrier T-Mobile USA, follows shortly afterwards.

ROBOT(android) operating system and other OS's

According to the android website [2] Google described as a platform or software stack for mobiles including an operating system and applications.it consist of an operating system like UNIX based on Linux kernel 2.6 . it contain rich set of java codes to enable wide range of software for the developers to use on Google android.

Built on an open source framework, and featuring powerful SDK(software development kit) libraries and an open thinking, Android has opened mobile phone development to thousands of developers who haven't had access to tools for building mobile applications. Experienced mobile developers can now expand into the Android platform, leveraging the unique features to enhance existing products or create innovative new ones.

Android sits together with a new wave of mobile operating systems designed for more and more powerful mobile hardware. Windows Mobile, the Apple iPhone, and the Palm Pre now provide a richer, basic development environment for mobile applications. However, unlike Android, they're built on Branded operating systems that in some cases order native applications over those created by Third parties, limit communication among applications and built-in phone data, and limit or control the supply of third-party apps to their platforms.

Android offers new potentials for mobile applications by offering an open growth environment

Built on an open-source Linux kernel. Hardware access is accessible to all applications over series Of API libraries, and application communication, while sensibly controlled, is fully supported.

In Android, all applications have equal standing. Third-party and built-in Android applications are written with the same APIs and are implemented on the same run time. Users can remove and replace any built-in application with a third-party creator alternate, even the dialer and home screens can be replaced not like in other operating systems in other phones.

Unlike Apple , Google have a flexible approval process for applications that the developer make that help them to put their software into the market faster and much easy. Unlike the iPhone's applications store, the android market is not the only place that the users get there applications to install into their devices but there is other third party websites that provide applications with different categories The android phones will become the second largest platform by the year 2012 after the leader Nokia .to put in mind that the android operating system not only for mobile phone but it used in the tablet devices and that adds more competition with apple .

Google driving android everywhere and by doing that they created level fields for the mobile. Google is a seach and media company based on selling and advertising so if everyone use android, Google will be able to provide more services such as Gmail and Maps and make some money off the android market While Google does license some proprietary apps.

Open handset alliance (OHA).

On the 5th of November 2007 the Open Handset Alliance, a group of several a non-profit companies, formed by key mobile operators, manufacturers, carriers, and others. The alliance is committed to openness and innovation for mobile user experience.

To unveiled with the goal to develop open standards for mobile devices. Along with the formation of the Open Handset Alliance, the OHA also who was first to unveiled the product, Android.(table.1)


Software Co.



Handset Manufacturer

China Mobile

China Unicom

KDDI Corp.


Sprint Nextel


Telecom Italia






Ascender Corp.





NMS Comm.

Nuance Comm.








Astonishing Tribe

Wind River Systems

Omron Software




Broadcom Corp.

Intel Corp.

Marvell Tech.Group



SiRFTech. Holdings


Texas Instr.

AKM Semicond.

















Sony Ericsson


Table 1

Platform Versions

Android version number itself sort of tells the level of major and slight release of the software platform. What is most important is the API level. As rosemary mentions in her report that Version numbers change all the time, sometimes because the APIs have changed, other times because of minor bug fixes or performance improvements [3].

As for the application developer they need to make sure what API level there application is targeting to make it successfully running because the API level will determined the device that and or NOT run the applications.

Android 1.5 (cupcake) April 2009: update for keyboards software. Copy and paste expanded to the webpages. Bluetooth A2DP support. YouTube direct uploading .video capture and playback. New kernel 2.6.27.

Android 1.6 (donut) September 2009: market enhancement .multi select deletion of files. text-to-speech. kernel 2.9.29

Android 2.0/2.1(éclair) October 2009: animated wall paper. Spruced-up interface .HTML5.microsoft exchange .Bluetooth 2.1.

Android 2.2 (froyo) may 2010: GPS assisted .supported for SD card. New home screen. USB securing

Android 2.3(gingerbread) December 2010: NFC (near field communication).better battery management for the devices .auto shut for applications to save memory.

The following pie chart and table is based on the number of Android devices that have accessed Android Market within a 14-day period ending on the data collection date noted below (figure 1.)

Figure 1

There is not many people use the android 1.5 and 1.6 but many use the 2.2 but still the number is growing. This is because every 1.0 and 1.1 are upgraded to 1.5 automatically unlikely the 1.5 and 1.6 will never be able to upgrade to 2.x because the older devices do not have firmware relevant and most of the manufacturers not planning to release upgrades because they are busy on building new models.

Android architecture.

Simply android is a combination of free, open-source operating system for mobile devices, an open-source advance platform for creating mobile applications, and Devices, mainly mobile phones, that run the Android operating system and the applications created for it. The Android Platform embraces the idea of general-purpose computing for handheld devices. It is a complete platform that structures a Linux-based operating system, stack for managing devices, memory, and processes. Android's libraries cover telephony, video, graphics, UI programming, and a number of other aspects of the


To be more specified, android made from several necessary and independent parts such as:

Hardware of the mobile device that support the software requirement.

Law level interface made by Linux operating system kernel with hardware, memory management and process control. All adjusted for mobile devices.

Libraries for applications development with open source codes, including SQLite, WebKit, OpenGL, and media manager.

Dalvik Virtual as a runtime used to execute android and its applications.

Application framework that securely exposes system services to application layer what include the window and location manager, telephone, sensors and content providers.

GUI framework to host and lunch applications.

Applications that can be re installed comes as part of the stack.

Software development tools and kits used to create and change the applications.

Figure 2

At the core of the Android Platform is Linux kernel version 2.6, Linux is a great operating system and a poster child of open source. There are many good motives for choosing Linux as the base of the Android stack. Some of the main ones are lightness, security, and the Responsibility for device drivers, resource access, power management, and other OS duties. Linux is a portable platform relatively easy to assemble on numerous hardware designs. What Linux brings to Android is a level of hardware ideas. By basing Android on Linux, the developer doesn't have to worry too much about original hardware structures. Most of low level parts of Linux have been written in fairly portable C code, which allows for third-parties to port Android to changes of devices.

Linux is a very secure system, having been tried and tested over some very harsh environments over the years. Android deeply relies on Linux for security. All Android applications run as separate Linux processes with authorizations set by the Linux system. As such, Android passes a lot of security concerns to the core of Linux system.

The supplied device drivers include Display, Camera, Keypad, WiFi, Flash Memory, Audio, and IPC (inter process communication). Although the core is Linux, the majority-if not all-of the applications on an Android device such as the T-Mobile G1 or Motorola Droid are developed in Java and run through the Dalvik VM.

The next layer above the kernel contains the Android native libraries. These shared libraries are all written in C or C++, compiled for the particular hardware building used by the phone, and preinstalled by the phone vendor.

As in the SQLite.org stated that SQLite is a relational database that is available on the device itself [4]. SQLite is also an independent open source effort for relational databases and not straight tied to Android. The developer can acquire and use tools meant for SQLite for Android databases as well.

Dalvik and the Android run time sit on top of a Linux kernel that handles low-level hardware interaction including drivers and memory management, while a set of APIs provides access to all of the under- lying services, features, and hardware.

Dalvik Virtual Machine Dalvik is a register-based virtual machine that's been optimized to ensure that a device can run multiple instances or applications efficiently. It relies on the Linux kernel for threading and low-level memory management.

Most of the application framework accesses these core libraries through the Dalvik VM.

Android's process and memory management is a little rare. Like Java and .NET, Android uses its own run time and virtual machine to manage application memory. Unlike either of these frameworks, the Android run time also manages the process lifetimes. Android ensures application reaction by killing and stopping processes as necessary to free resources for higher-priority applications.

The Android system tries to maintain an application process for as long as possible, but ventually it will need to remove old processes when memory runs low. To determine which processes to keep and which to kill, Android places each process into an "importance hierarchy" based on the components running in it and the state of those components. Processes with the lowest importance are eliminated first, then those with the next lowest, and so on. There are five levels in the hierarchy such as :

foreground process

A visible process 

A service process 

A background process 

An empty process 

The Android Java API's main libraries include telephony, resources, locations, UI, content providers (data), and package managers (installation, security, and so on).

Programmers develop end-user applications on top of this Java API. Some examples of end-user applications on the device include Home, Contacts, Phone, Browser, and so on.

Android also supports a custom Google 2D graphics library called Skia, which is written in C and C++. Skia also forms the core of the Google Chrome browser. As mentions in khronos website The 3D APIs in Android, however, are based on an implementation of OpenGL ES from the Khronos group [5], OpenGL ES contains subsets of OpenGL that are targeted toward embedded systems.

From a media perspective, the Android Platform supports the most common formats for audio, video, and images. From a wireless perspective, Android has APIs to support Bluetooth, EDGE, 3G, WiFi, and Global System for Mobile Communication (GSM) telephony, depending on the hardware.

Android at work (multitasking).

The standard Linux or windows desktop, they have many applications running and can be seen at once in different window. One window are focused and the others are waiting to be focused but all visible and equal and Easy to switch between them and the user move the window around so he can see what to do next and close programs that don't needed anymore .

Android doesn't work that way.

On android there is one center application that typically takes over the display except the notification or status line. When android run first on the most devices, the first application can be seen is the home application that shows the background image with search or clock widget and a scrollable list of other applications the user can call.

When the user runs an application, Android starts it and brings it to the foreground. From that application, the user might invoke another application, or another screen in the same application, and then another and

SDK (software development kit)

As marko gargenta mentioned that Android supplies a complete and well-organized collection of high-level APIs for building applications and leveraging the ultimate functionality of the platform. The APIs provide an extremely high level of thought, which makes them moderately instinctive and easy to use [6].

Third-party applications can duplicate or interface with virtually every major component of the platform. For example, Android provides methods for saving information from the user's contact list and for covering the contact system with new data fields. It's also easy to make a new dialer or tool custom behaviors for system events like incoming SMS messages. This is one area in particular where really feels like Google exceeded opportunities and delivered on its promises: The APIs truly make it possible to build applications that integrate fully with the rest of the platform.

Android Software Development Kit (SDK) is all needed to develop applications for Android. It comes with a set of tools as well as a platform to run it and see it all work. It can be download Android SDK for the particular platform from Android SDK Download page.

The Android toolkit provides a lot of very useful components right out of the box. The individual applications are designed specifically for finger-friendly interaction, with features like kinetic scrolling already built in. Developers use an XML-based and JAVA user interface description language to state the layout and qualities of the applications, with the XML descriptions being loaded into the program through the Android resource system. The separate applications described in the XML layout can be referenced by ID in the program.

The lack of a robust visual layout tool is a bit of a weakness for Android compared to other mobile development solutions, particularly Microsoft's Visual Studio. It's likely that the tools will mature and catch up as Android evolves.

Android interface

In an Android application, the user interface is built using java and XML objects. There are many types of views and view groups, each of which is a descendant of the View class.

View objects are the basic units of user interface expression on the Android platform. The View serves as the base for subclasses called "widgets," which offer fully implemented UI objects, like text fields and buttons. The View Group serves as the base for sub menus called "layouts," which offer different kinds of layout architecture, like linear, tabular and relative.

A View object is a data structure whose properties store the layout parameters and content for a specific rectangular area of the screen.

On the Android platform, they define an Activity's UI using a hierarchy of View and View Group, as shown in the diagram below. This hierarchy tree can be as simple or complex as the developer need it to be, and user can build it up using Android's set of predefined widgets and layouts, or with custom Views that users create themselves(figure 3) .

Figure 3

Android Layouts can be expressed the view hierarchy with XML layout file that offers a human - readable structure for the layout muck like HTML.

A widget is an application that serves as an interface for interaction with users , android provide many sets of full implemented that contain check boxes or text entry and you can see it in the date picker or the clock .

Menus are another important part of an application's UI in the android operating system. Menus offer a reliable interface that reveals application functions and settings. The most common application menu is revealed by pressing the MENU key on the device. However, it can also add Context Menus, which may be revealed when the user presses and holds down on an item.

Figure 4

On android there are many ways to intercept the user interactions and the applications by using keys (track ball) or touch screen depends on the device hardware specification.

Android security and permissions

Android is a privilege-separated operating system, in which each application runs with a distinct system identity (Linux user ID and group ID).

Additional finer-grained security features are provided through a "permission" mechanism that applies limits on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. Parts of the system are also separated into separate identities. Linux thereby separates applications from each other and from the system.

A central strategy point of the Android security architecture is that no application, by default, has authorization to perform any processes that would adversely impact other applications, the operating system, or the user. This includes reading or writing the user's private data (such as contacts or e-mails), reading or writing another application's files, execution network access, keeping the device awake, etc.

All Android applications (.apk files) must be signed with a certificate whose private key is held by their developer. The purpose of certificates in Android is to distinguish application authors. This allows the system to grant or deny applications access to signature-level permissions and to grant or deny an application's request to be given the same Linux identity as another application.


Android has a lot to offer, and it's going to be a compelling platform when it is more mature. It gives application developers virtually first-time access to underlying platform components, and it provides an gradually versatile basis for many kinds of products. As the broader third-party environment around Android grows, it could be repurposed to power a much wider range of mobile and embedded devices .

At the present time, the biggest hurdle for Android is to gain carrier recognition. The platform's weaknesses and serious bugs at launch have induced trepidation in some of the potential early adopters. The carriers are also struggling with uncertainty about the implications of Google's technical method and business model, which are very different from what they are accustomed to with other platforms.

Some handset makers, however, are beginning to wake up to Android's prospective. Most of the hardware companies are still in the toe-dipping stage, but several are making Android a key component of their software strategies. Motorola, for example, has been ramping up Android development and recently declared that Android is "more competitive" than Windows Mobile.

My guess is that we won't see much this year, but 2011 could bring a bunch of them.

Google had better act fast to take advantage of Android's energy, because its window of opportunity is closing quickly. Microsoft is moving to get its improved version of Windows Mobile ready to be produced, and Symbian will be open source soon.




The complete guide to google android report ,2010,rosmery hattersley.



Learning Android ,Marko Gargenta ,2010 Marko Gargentaa LTD ,labs.oreilly.com/ofps.html

Figure 1 http://developer.android.com

Figure 2 G. Inc., "Google android project website."

Figure 3 Learning Android ,Marko Gargenta ,2010 Marko Gargentaa LTD ,labs.oreilly.com/ofps.html

Figure 4 The complete guide to google android report ,2010,rosmery hattersley.