Monday, November 2, 2009

Android, is it a new OS or just a linux distro?

  Android is fastly gaining popularity in the mobile market. New Android phones like Motorola's DROID are coming up.

There is a general perception that Android is new Operating System. But some others argue that it is just another linux distribution(distro). So what is android actually?

What is linux distro?

A linux distribution is a full package consisting of OS, libraries and utilities. Fedora, SUSE, Debian are examples of linux distro. A distro will have a linux kernel as the base. Then GNU libraries and applications constitute the application space. The applications (mainly C applications) communicate to the linux kernel via GNU libc.


What is Android?

Android also have Linux kernel as the base. But Google do not use GNU libraries or utilities. Here they use bionic libc and some utilities which are different from that of normal linux distribution.
  There are mainly two reasons for this.  The first one is that they want to have minimum footprint for the libraries, because it is going to be used in mobile phones which have limited resources. GNU libraries and utilities are known to have bigger footprint.

    Another reason is that they want to avoid GPL licensing. Google want to allow the use of proprietary software and libraries, which is not possible if they use GPL licensing. So they adopted BSD licensing.

  The applications constitute browser, contacts etc.
Application Framework provides components common to the applications. This includes Resource Manager, Activity  Manager, Window Manager etc.
Android libraries constitute Bionic libc, SQ Lite for data storage, Open GL for graphics handling, Media Framework for handling audio, video etc.
Run time libraries include libraries to give run time support for java applications.  This include Dalvik Virtual Machine.
 A detailed explanation is given in the Android developer’s site.

  In Android the linux kernel constitutes the OS part. From a layman's perspective, it can be a new OS. Because he sees only the application components, which are quite different from normal linux distributions. But if you are a programmer, especially driver developer, you will not agree that it is not new OS. You will say that it just a different kind of distribution.

 So my argument is , Android is a platform (or software stack) optimized for mobile phones.  It is not a distribution like Fedora or debian.  It is not a new OS also. If we check android developer site, nowhere it is claimed that it is a new OS.

No comments:

Post a Comment