Android (operating system)
From Wikipedia, the free encyclopedia
![]() ![]() |
|
![]() Android 4.2 "Jelly Bean" on the Nexus 4 |
|
Company / developer | Google Open Handset Alliance Android Open Source Project |
---|---|
Programmed in | C, C++, Java[1] |
OS family | Unix-like |
Working state | Current |
Source model | Open source[2] |
Initial release | September 23, 2008[3] |
Latest stable release | 4.2.1 Jelly Bean / November 27, 2012[4][5] |
Marketing target | Smartphones Tablet computers |
Available language(s) | Multi-lingual |
Package manager | Google Play, APK |
Supported platforms | ARM, MIPS,[6] x86[7] |
Kernel type | Monolithic (modified Linux kernel) |
Default user interface | Graphical (Multi-touch) |
License | Apache License 2.0 Linux kernel patches under GNU GPL v2[8] |
Official website | www.android.com |
Android is open source and Google releases the code under the Apache License.[12] This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language.[13] In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion.[14][15]
These factors have allowed Android to become the world's most widely used smartphone platform[16] and the software of choice for technology companies who require a low-cost, customizable, lightweight operating system for high tech devices without developing one from scratch.[17] As a result, despite being primarily designed for phones and tablets, it has seen additional applications on televisions, games consoles and other electronics. Android's open nature has further encouraged a large community of developers and enthusiasts to use the open source code as a foundation for community-driven projects, which add new features for advanced users[18] or bring Android to devices which were officially released running other operating systems.
Android had a worldwide smartphone market share of 75% during the third quarter of 2012,[19] with 500 million devices activated in total and 1.3 million activations per day.[20][21] The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.
Contents[hide] |
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger),[22] Rich Miner (co-founder of Wildfire Communications, Inc.),[23] Nick Sears[24] (once VP at T-Mobile),[25] and Chris White (headed design and interface development at WebTV)[9] to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences".[9] Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[9] That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.[26]Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.[9] 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.[9] 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.[27][28][29]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[30] Reports from the BBC and the Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset. Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.[31][32]
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices.[10] That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.[10] The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008.[33]
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 release is 4.2 Jelly Bean. In 2010, Google launched its Nexus series of devices—a line of smartphones and tablets running the Android operating system, and built by a manufacturer partner. HTC collaborated with Google to release the first Nexus smartphone,[34] the Nexus One. The series has since been updated with newer devices, such as the Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung, respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features.
Description

A Samsung Galaxy Note II's homescreen with Samsung's TouchWiz customisations, showing the status bar, a clock and weather widget, a Google search bar, and several app shortcuts
See also: List of features in Android and Android version history
Interface
Android's user interface is based on direct manipulation,[35] using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.[35] 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.[36]Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen.[37] A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes. Third party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone.[38] Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from the competition.
Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that doesn't immediately interrupt or inconvenience the user.[39] In early versions of Android these notifications could be tapped to open the relevant app, but recent updates have provided enhanced functionality, such as the ability to call a number back directly from the missed call notification without having to open the dialer app first.[40] Notifications are persistent until read or dismissed by the user.
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.[52] The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android x86 project,[7] and Google TV uses a special x86 version of Android.Android's linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[53] 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.[54] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[55] like, for example, in the Jagged Alliance 2 port for Android.[56]
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 kernel maintainers felt that Google did not show any intent to maintain their own code.[57][58][59] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[60] 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.[58] 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.[61]
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".[62] 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.[63] 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).[64]
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.[65] 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,[66] but also by malicious parties to install viruses and malware.[67]
Memory management
Since Android devices are usually 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 (e.g. battery power or processing power) 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 don't waste power needlessly.[68]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.[69] 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.[70]
Update schedule
See also: Android version history
Google provides major updates, incremental in nature, to Android
every six to nine months, which most devices are capable of receiving over the air.[71] The latest major update is Android 4.2 Jelly Bean.[72]Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released.[73] This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus phone. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[73] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update. This problem is compounded when manufacturers customize Android with their own interface and apps, which must be reapplied to each new release. Additional delays can be introduced by wireless carriers who, after receiving updates from manufacturers, further customize and brand Android to their needs and conduct extensive testing on their networks before sending the update out to users.[73]
The lack of after-sale support from manufacturers and carriers has been widely criticised by consumer groups and the technology media.[74][75] Some commentators have noted that the industry has a financial incentive not to update their devices, as the lack of updates for existing devices fuels the purchase of newer ones,[76] an attitude described as "insulting".[75] The Guardian has complained that the complicated method of distribution for updates is only complicated because manufacturers and carriers have designed it that way.[75] In 2011, Google partnered with a number of industry players to announce an "Android Update Alliance", pledging to deliver timely updates for every device for 18 months after its release.[77] As of 2012, this alliance has never been mentioned since.[73]
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.[78] 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;[18] 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.[79] CyanogenMod is the most widely used community firmware,[80] 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.[81] 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,[82] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[81] Motorola,[83] Samsung[84][85] and Sony,[86] 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.[81] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[87]
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.[87]
sumber: http://en.wikipedia.org/wiki/Android_%28operating_system%29
No comments:
Post a Comment