You know more about Android

3:45 PM Unknown 0 Comments

Linux

Android consists of a kernel based on Linux kernel version 2.6 and, from Android 4.0 Ice Cream Sandwich onwards, version 3.x, with middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode.[61] The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android-x86 project,[6] and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series.[7] In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.[62]

Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[63] Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[64] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[65] like, for example, in the Jagged Alliance 2 port for Android.[66]

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.[67][68][69] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[70] but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux.[68] Some Google Android developers hinted that "the Android team was getting fed up with the process," because they were a small team and had more urgent work to do on Android.[71]

In August 2011, Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years".[72] 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.[73] 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).[74] The merge will be complete starting with Kernel 3.8, Google has opened a public code repository that contains their experimental work to re-base Android off Kernel 3.8.[75]

The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations.[76] In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open source community to enhance the capabilities of their devices,[77] but also by malicious parties to install viruses and malware.[78]

Whether or not Android counts as a Linux distribution is a widely debated topic, with the Linux Foundation[79] and Chris DiBona,[80] Google's open source chief, in favour. Others, such as Google engineer Patrick Brady disagree, noting the lack of support for many GNU tools, including glibc, in Android.



Open source community

Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system.[92] 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;[19] 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 overclock or over/undervolt the device's processor.[93] CyanogenMod is the most widely used community firmware,[94] and acts as a foundation for numerous others.

Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this.[95] Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices,[96] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[95] Motorola,[97] Samsung[98][99] and Sony,[100] providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so.[95] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[101]

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.[101]




Platform Usage

This chart provides data about the relative number of devices running a given version of the Android platform as of July 8, 2013.[159]
Version Code name Release date API level Distribution
4.2.x Jelly Bean November 13, 2012 17 5.6%
4.1.x Jelly Bean July 9, 2012 16 32.5%
4.0.3–4.0.4 Ice Cream Sandwich December 16, 2011 15 23.3%
3.2 Honeycomb July 15, 2011 13 0.1%
3.1 Honeycomb May 10, 2011 12 0%
2.3.3–2.3.7 Gingerbread February 9, 2011 10 34.1%
2.3–2.3.2 Gingerbread December 6, 2010 9 0%
2.2 Froyo May 20, 2010 8 3.1%
2.0–2.1 Eclair October 26, 2009 7 1.5%
1.6 Donut September 15, 2009 4 0.1%
1.5 Cupcake April 30, 2009 3 0%

0 comments: