Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I read from somewhere that Android uses the Linux Kernel. Is it really true? I thought the Linux Kernel was meant for desktop operating systems.

share|improve this question
10  
The Linux kernel is used on a lot of embedded devices. Android is borderline between embedded and desktop, there are far smaller devices running Linux. –  Gilles Nov 27 '11 at 20:12
14  
Modern phones are basically desktops with small displays. If you compare them to the desktops of ten years ago (which ran Linux just fine), you'll find the phones beat the older desktops on almost every specification. –  David Schwartz Nov 28 '11 at 0:44
2  
Probably important to emphasize three things - 1) the customizability of the Linux kernel - there's a lot that can be configured differently according to expected use or omitted if not needed, and 2) the kernel is generally just one component (albeit near or is the "bottom level" component) in a stack of software ultimately responsible for a user-facing experience, whether desktop, phone, server, or anything else. The majority of what makes Android "Android" is not the kernel, as you can tell from below, and 3) phone hardware is really powerful these days. –  ultrasawblade Sep 16 '12 at 17:41
    
@ultrasawblade said the kernel is responsible for user facing experience. This is not true. The user looks down on the stack, the components at the bottom are the most hidden. In Debian a popular Gnu+Linux, you can use the a bsd kernel making Gnu+bsd. It does not change things much from the users point of view. A system admin may see A difference if her tools do not hide this difference for her. –  richard Jun 16 at 9:36
    
I said "the kernel is generally just one component in a stack of software ultimately responsible for a user-facing experience" - means not that the kernel's responsible for it entirely but is just playing a part. –  ultrasawblade Jun 16 at 10:41

3 Answers 3

up vote 27 down vote accepted

Architecture of Android

enter image description here

Android relies on Linux for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Latest Android runs Linux version 3.10 (source).

And my comment on your second sentence is that Linux Kernel is not meant for only desktop operating systems. Its use cases vary from Desktop OS to Servers, mainframes and supercomputers to Embedded Devices.

Linux is a widely ported operating system kernel. Due to its low cost and ease of customization, the Linux kernel is used on a highly diverse range of computer architectures: in the hand-held devices and the mainframe Systems, in devices ranging from mobile phones to supercomputers.

On the other note: Palm (later acquired by HP) use Linux-derived operating system, webOS, which is used into its line of Palm Pre smartphones. Several network firewalls and routers from makers such as Cisco/Linksys use customized linux kernel. There are tons of devices out there which are using embedded linux.

share|improve this answer
2  
I don't know why say that the kernel is not meant for desktop operating systems. It works perfectly fine on desktop devices. It also works fine on many other classes of device so maybe you meant to say it is not exclusively for desktop devices. –  Richm Nov 27 '11 at 17:48
    
@Richm, Thanks for pointing it out. I have corrected it in the answer. –  Sachin Divekar Nov 27 '11 at 18:06
    
On Linux/UNIX platforms the desktop is a set of applications that use the kernel services. This make it easy to add, swap, or remove desktops. Servers often replace the desktop with a terminal shell. –  BillThor Nov 27 '11 at 18:23
    
Isn't a "phone" just some form of desktop? :-p –  johannes Nov 27 '11 at 19:53
    
Note that Android originally used a heavily modified version of the linux kernel, but as of 3.5 a lot of featured are merged back into the main kernel. Android 4.4 currently runs on much less patched Linux 3.4 kernel (an long term release) –  dtech Dec 13 '13 at 19:54

Yes, as do many other embedded devices. Many routers also use a Linux based OS, as, like Sachin said, it is easily customizable.

Here is a Xubuntu screenshot of mine, Running mksh and Android kernel 3.0.8+ (From the Android x86 sources) Xubuntu Running mksh and Android kernel 3.0.8+

share|improve this answer

There is a lot of confusion around the name Linux; It if often used to refer to two different things.

  • It the case of android, and some other cases. It refers to a Kernel named Linux. A small but essential part of an operating system. A kernel controls the hardware and provides services to the rest of the system. (see nice diagram answer of @Sachin Divekar).

  • In the case of almost all desktop systems it refers to X11+Gnu+Linux. See the diagram again, but remove all references to phone, telephony and android. Now change Application Framework to Gnu Tools, add a layer called X11, and another called Gnome or Kde etc. Then put application back on top. For servers there is usually no X11 or Kde/Gnome, as a graphical user interface is a waist of resources.

Android does not use X11 or the Gnu Tool. However like Gnu+Linux some of the libraries are Gnu.

It is often difficult to knew which meaning someone has when they say Linux. This is why it is recommended not to say Linux when you mean Gnu+Linux.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.