We all know that 'mother' is very important
in life of every person. In computer hardware theory also the term 'mother' is
of great importance. As every one knows that the major hardware component of
computer is 'mother-board'. We all might think why name is given as
mother-board, why not father or daughter or son-board? The simple reason behind
this is that mother is the person who looks after every chores being carried
out. Mother is one who binds some rules for the family. Similarly in case of
hardware theory also the name so given is because mother board carries out all
the functions. Similarly, in software field also we get to see the 'mother'. In
a precise manner we can say that Android is the child of mother Linux-kernel.
Fig
1. Android
with Linux
kernel
In today's era, Android is the heartbeat of
any handset or machine, but the base behind this huge spreading application is,
mother Linux. Why is Linux given so much importance or why is Linux kernel
called as the base for the development of android apps??Android is
overwhelming. Android integrates Linux kernel at the bottom of its software
stack. In fact Android was created on top of Linux Kernel 2.6.
Android is open source, therefore any
manufacturer can access it, customize it and adapt it according to the
requirements of their own gadget. This is the reason why Android is found on
variety of gadgets. With camera, without, high-end and low-end, whether a
full-fledged tablet or a low-end entertainment device, Android can run on any
platform. This has not only given freedom to manufacturers to customize the
operating system, add personalized skin, applications or strip-off default
Google services, adapt the OS to run on high/low spec gadget but it has also
given freedom to people-freedom of choice. A kernel is the first layer of software
that interacts with the device hardware. The kernel is responsible for
providing basic architectural model for process scheduling, resource handling,
memory management, networking and isolation etc. It must be noted that while
Android is built on Linux Kernel, Google has maintained its own forked version
of Linux Kernel specifically for android since 2010.
There are number of reasons for selecting
Linux kernel. Linux Kernel boasts some proven core features that are integrated
in Android operating system.
Following are some features:
1.
Easily portable: Linux runs on devices of diverse
architecture from numerous machines like supercomputers & smaller devices
like motor bikes. This is due to the fact that Linux is an immensely portable
platform. It is fairly easy to compile Linux on various hardware. What do you
think is the major concern of Android? It's that it is picked by many
manufacturers and is used on a variety of gadgets. Linux makes that possible.
Linux brings Android a level of hardware abstraction. Most parts particularly
the low-level ones are written in portable C code that can be accessed and
modified by manufacturer easily. This means manufacturers can pick up Android
and modify it to adapt it according to their hardware requirements rather that
improving the hardware to fit the software.
2.
Essential property: Linux brings to Android some useful
features. The Linux Kernel 2.6 includes these features:
Memory Management: While developing
for mobile devices memory handling becomes a point of great concern. Thanks to
Linux Kernel over which Android is built. You can free yourself from the worry.
Linux will handle Linux kernel for-threading and low-level memory management
for Android. Linux kernel is responsible to manage the core feature of any
mobile device i.e. memory cache. Linux kernel manages memory by allocating and
De-allocating memory for the file system, processes, applications etc.
Fig
3. Baby
Android with
mother Linux
(kernel)
Process Management:
Linux Kernel is responsible to start, stop and execute the program. For a
beginner a process can be thought of as an instance of computer program. i.e.
whenever a program runs on computer, the OS creates its instance or process for
it which is executed by the OS. In case of Android, Linux is responsible to
allocate resources to various processes that need them.
Driver Model: As
evident this is the layer where all the device specific drivers run. Here Linux
ensures that your application is able to run on Android. Hardware vendors can
develop their drivers into Linux in a familiar environment. That is giving
plenty room for hardware vendors to optimizing OS.
Linux also manages
the file system which in turn controls the data storage service for Android device.
Linux Kernel is
responsible to communicate with the network. It also controls networking stack,
drivers, routing devices and network adapters.
Linux kernel
handles the security between application and the system. Linux takes control of
authentication of users and is responsible for user management. Besides this
Linux kernel is also responsible for power management and for undertaking
various services like Internet search, voice communication, system logging etc.
Linux runs in
scientific research labs, supercomputers and systems for mission critical
tasks. Android completely relies on Linux for security. All Android
applications run as distinct Linux processes under permissions set by Linux
system.
Thus we can say
that the kernel of the Linux is the back bone for Android technology.
Nice blog supported with relevant pictures....as many android apps are Linux based!!
ReplyDeletehmmmm goooood.............
ReplyDeletehmmmm.......gd...
ReplyDeletegood...
ReplyDeletelinux is the most reliable............
ReplyDelete