March 17, 2014 at 9:55 am #4858MahendraPratapSinghParticipant
World is contracting with the growth of mobile phone technology. As the number of users is increasing day by day, facilities are also increasing. Starting with simple regular handsets which were used just for making phone calls, mobiles have changed our lives and have become part of it. Now they are not used just for making calls but they have innumerable uses and can be used as a Camera , Music player, Tablet PC,T.V. , Web browser etc . And with the new technologies, new software and operating systems are required.
ANDROID is an one of the renowned operating system for mobile and tablets in today’s world. Now almost every individual love to carry an android smart phone . Android is an operating system based on the Linux kernel, and designed primarily for touch screen mobile devices such as smart phones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance—a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.
Operating Systems have developed a lot in last 15 years. Starting from black and white phones to recent smart phones or mini computers, mobile OS has come far away.Especially for smart phones, Mobile OS has greatly evolved from Palm OS in 1996 to Windows pocket PC in 2000 then to Blackberry OS and Android.
One of the most widely used mobile OS these days is ANDROID. Android is a software bunch comprising not only operating system but also middleware and key applications. Android is an operating system based on the Linux Kernel, and designed primarily for touch screen mobile devices such as smart phones and tablet computers. Android Inc was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris White in 2003. Later Android Inc. was acquired by Google in 2005.. The first publicly available smart phone running Android, the HTC Dream, was released on October 22,2008.
The user interface of Android is 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. Internal hardware such as accelerometers, gyroscopes and proximitysensors are used by some applications to respond toadditional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented.
Android’s source code is released by Google under the Apache Licens this permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers.Survey done on July 2013, Android has the largest number of applications (“apps”), available fordownload in Google Play store which has had over 1 million apps published, and over 50 billion downloads. It is the widely used platform among developers.
Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move. 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, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest released version is 4.4.2 KitKat, which was released on December 9, 2013. Let’s have a brief look of their updation in their Android OS along with their new upgraded feature.
3. FEATURE AND SPECFICATIONS
Android is a powerful Operating System supporting a large number of applications in smart phones. These applications make life more comfortable and advanced for the users. Hardwares that support Android are mainly based on ARM architecture platform.Some of the current features and specifications of android are:
Android comes with an Android market which is an online software store. It was developed by Google. It allows Android users to select, and download applications developed by third party developers and use them. There are around 2.0 lack+ games, application and widgets available on the market for users. Android applications are written in java programming language. Android is available as open source for developers to develop applications which can be further used for selling in android market. There are around 200000 applications developed for android with over 3 billion+ downloads. Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. For software development, Android provides Android SDK (Software development kit).
4. MEMORY MANAGEMENT
Since android devices are battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory while the app is still technically “open”, suspended apps consume no resources and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don’t need to be closed and reopened from scratch each time, but also ensuring background apps do not consume power needlessly.
Android manages the apps stored in memory automatically when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves. However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.
Architecture is a specification detailing how a set of software and hardware technology standards interact to form a operating system or platform. In short, architecture refers to how system is designed and what technologies it is compatible with. So let’s have a brief outlook of hardware as well as software architecture on which android is based upon.
The main hardware platform for Android is the 32-bit ARMv7 architecture. The Android-x86 project provides support for the x86 architecture, and Google TV uses a special x86 version of Android. In 2012, Intel processors began to appear on more mainstream Android platforms, such as phones. In 2013, Freescale announced support for Android on its .MX processor, specifically the i.MX5X and i.MX6X series.
As of November 2013, current versions of Android recommend at least 512 MB of RAM (with 340 MB as a requirement), and require a 32-bit ARMv7, MIPS or x86 architecture processor (latter two through unofficial ports), together with an OpenGL ES 2.0 compatible graphics processing unit (GPU). Android supports OpenGL ES 1.1, 2.0 and 3.0. Some applications explicitly require certain version of the OpenGL ES, thus suitable GPU hardware is required to run such applications.
5.2 SOFTWARE STACK
5.2.1 Linux kernel
Linux kernel layer is the lowest layer of the software in the android platform. This layer provides the core services on which any android computing device will rely on. Android Linux kernel is just like all other Linux Kernel provides generic operating system services.Som services of Android linux kernel are:
Ø Memory & Process Management
Ø File & Network I/O
Ø Device Drvivers
Let’s have a brief look of all the services in brief:
1.Securiry: It provides permission architecture so that we can restrict access to data and resources to only those process that have proper authorization.
2.Memory & Process Management: This feature enable to rum multiple process simultaneously without interfering with each other.
3.File & Network I/O: It handles the low level details of File and Network I/O.
4.Device Driver: It also have device driver to be plugged in so that android can communicate with wide range of low level hardware components such as memory, camera, radio etc.
In addition to services supported by any Linux common kernel an Android Linux kernel also include several android specific components some of them are :
1. Power Management
2. Android Shared Memory
3. Low Memory Killer
4. Interprocess Communication : It allows multiple process to share data and services in sophisticated ways.
And much more.
Current Android versions consist of a kernel based on the Linux kernel’s longterm 3.4 branch,
varying in version numbers depending on the actual Android device. Android versions older than 4.0 Ice Cream Sandwich were based on the Linux kernel versions 2.6.x.Android’s Linux kernel has further architecture changes by Google outside the typical Linux kernel development
cycle. Certain features that Google contributed back to the Linux kernel, notably a power management feature called “wakelocks”, were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code.
In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3. Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop). Google maintains a public code repository that contains their experimental work to rebase Android off the latest stable Linux versions.
In android flash storage is divided into the many partitions for example: /system is used for the operating system itself and /data is used for storage of user data and applications installations.
In comparsion with Linux distributions, Android owners don’t have access of the root of the
Operating system and partition /system is there for read only. However peoples manage to access the root by the help of exploiting the security flaws in Android and but also by malicious parties to install viruses and malware.
This include variety of system library typically written in C and C++ and that’s why they are also refer to as native library. And these native libraries handle the core performance sensitive activities on device such as quickly rendering web pages, updating the display. Android has its own system C library which implements standard OS system calls such as process and thread creation, memory allocation, mathematical computation etc.
There is also a surface manager for updating the display and media framework for playing back an audio and video files, webkit for rendering and displaying web pages, OpenGL for high performance graphics and SQLite for managing in memory relational databases.
And along with this, this layer also include android run time which supports writing and running android application.
18.104.22.168 Android Runtime
Two main components of this are :
1. Core Java and
2. Dalvik Virtual Machine
1. Core Java: In this basically the android apps are developed. Which are generally written in Java language. There were many java building blocks which are provided by android some of them are listed in tabular form on next pag
2. Dalvik Virtual Machine
It’s the software that runs the android app. As we know that android app are written in java so one can think of that they might run only on standard java virtual machine but that’s not the case here . This can be clearly understood by going through its typical work flow.
Dalvik Virtual Machine is especially designed for running android app because unlike other java virtual machine it is designed for resource constrained environments. By resource constrained mean that for mobile device which have slower cpu, less ram, limited battery life.
5.2.3 APPLICATION FRAMEWORK
Its contain many reusable software that are used by many mobile for example:
The View System it contains common graphical element like button and icons and including user interfaces.
The Package Manager it keeps track of all the app package installed on the device.
The Windows Manager manges the windows comprising an APP
The Resource Manager it manages non-compiled resources e.g. strings, graphics and layout files. Lets have a example of non compiled in case of string.
As we know that android is not limited to only English speaking people so it uses the non compiled string in frist screen shot we can see that text encircled with red colour is in English and suppose if an Italian user wants to change the language for his own comfort he can easily change in settings panel and change it. The second screenshot show the encircled text in Italian.
The Acitvity Manager manages app life cycle and navigation stack
The Content Provider it store the data and enables the inter application data sharing.
The Location Manager provides location and movement information which are generated by GPS system.
The Notification Manager place the notification icon in the status bar when important event occur.
The applications is top most layer in stack of software layer of android. Android contains some standard built in apps which are present here. Some standard which are present in this are:
HOME main screen
CONTACTS contact database
PHONE dial phone numbers
BROWSER view web pages
EMAIL READER compose & read mail.
And many more .The best thing about these standard apps is that they are replaceable if anyone has better option in place of these apps he or she can freely use it. Google, for software development and application development, had launched two competitions ADC1 and ADC2 for the most innovative applications for Android. It offered prizes of USD 10 million combined in ADC1 and 2. ADC1 was launched in January 2008 and ADC 2 was launched in May 2009. These competitions helped Google a lot in making Android better, more user friendly, advanced and interactive.
6. OPEN-SOURCE COMMUNITY
Android has an active community of developers and enthusiasts who use the Android Open Source Project(AOSP) source code to develop and distribute their own modified versions of the operating system. These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance; provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to over clock or over/undervolt the device’s processor. Cyanogen Mod is the most widely used community firmware,and acts as a foundation for numerous others.
The unlocking and “hackability” of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.
The source code for Android is available under free and open-source software licenses. Google publishes most of the code (including network and telephony stacks) under the Apache License version 2.0, and the rest, Linux kernel changes, under the GNU General Public License
version 2. The Open Handset Alliance develops the changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private by Google, with source code released publicly when a new version is released. Typically Google collaborates with a hardware manufacturer to produce a “flagship” device (part of the Nexus
series) featuring the new version of Android, then makes the source code available after that device has been released.
While much of Android itself is open source software, most Android devices ship with a large amount of proprietary software. Google licenses a suite of proprietary apps for Android, such as Play Store, Google Search, and Google Play Services—a software layer which provides APIs that integrate with Google-provided services, among others.
Research company analysis estimated in the second quarter of 2009 that Android had a 2.8% share of worldwide smartphone shipments.By the fourth quarter of 2010 this had grown to 33% of the market, becoming the topselling smartphone platform, overtaking Symbian. By the third quarter of 2011 it is estimated that more than half (52.5%) of the smartphone sales belonged to Android. By the third quarter of 2012 Android had a 75% share of the global smartphone market according to the research firm IDC.
In third quarter of 2013, Android’s share of the global smartphone shipment market—led by Samsung products was 81.3%; Android smartphones account for more than half of sales in most markets, including the US. Indeed, during August, September, and October 2013, no less than 261.1 million smartphones were sold overall, with about 211 million smartphones running Google’s operating system.
These charts provide data about the relative number of devices accessing the Play Store recently and running a given version of the Android platform, as of January 11, 2014.
9. APPLICATION PIRACY
It’s the major issues for every OS developing firm whether its giant of IT Microsoft, Google, Apple and many others . Same are the some common issues arise regarding paid android apps too . The developers of Football Manager stated that the ratio of pirated players vs legitimate players was 9:1 for their game Football Manager Handheld. However, not every developer agreed that piracy rates were an issue; for example, in July 2012 the developers of the game Wind-up Knight said that piracy levels of their game were only 12%, and most of the piracy came from China, where people cannot purchase apps from Google Play.
- You must be logged in to reply to this topic.