Mobile phones becomes a basic necessity of our digital world.
First computer and now smart mobile phones revolutionize our every aspect of
life. Modern smartphones are closer to handheld computers that enable us to perform
many task like make video calls, photography, mailing, watch videos, social
media, perform banking tasks and much more besides. A Mobile operating system
(OS) is a software which controls and drive all the components of a mobile
hardware. A mobile operating system. System is an OS built exclusively for a
mobile device such as smartphone, tablet or other embedded mobile OS. Now a day’s
most popular mobile operating systems are Android and iOS.
1.1 Android VS iOS
Android and iOS are the two top most leading Mobile operating
system in the world. Android is launched by Google Inc. initial release was on
23rd September 2008(9 years ago) basically designed for touch screen
mobiles devices later than also developed for Android TV, android auto and
Android wear, iOS is launched by Apple Inc. initial release of iOS was on 29th
June 2007(10 years ago) for iPhone, iPad, iPod. Both Operating systems are much
fast, secure and reliable.
Now a days 99% mobile devices are
powered by android and iOS so the market is also occupied by these two of Operating
Systems. According to recent stats 85% market share is occupied by Google Android
14% by Apple IPhone iOS and 1% by others mobile operating system. According to official
Press releases of Google and Apple which states that over 2 billion android
devices are monthly active and over one billion iOS devices active worldwide.
In this paper we are going to provide
a comparison between android and iOS at operating systems level. Such that how
things are handled in these two Operating systems
Both Android and iOS are forked from existing Operating
systems. Android is based on Linux kernel LTS (long-term support) branches, written
in java, C and C++. Since android run on a modified Linux kernel it have a
monolithic style of kernel. Android is an open source mobile operating system by having an Open Source software program, Google allow
developers to alter large amounts of the code to their own preference.
On the other hand iOS is based on Darwin (BSD) and macOS
forked from UNIX operating system. Written in C, C++, objective-C and swift.
iOS have a hybrid style of kernel (XNU) containing features of both micro &
monolithic kernels. iOS is a closed source mobile OS apple
don’t allow developers to change anything that deals with the operating system
2. Process and Thread Management
Table 1: process and
Single thread of
for app components
for app components
Using of threads
URL scheme for IPC
2.1 Android Process and
In Android Operating system when a new application start
running, system create and start a new process for that application with only a
single thread of execution. There is a main thread in every application which
is known as User Interface (UI) thread. Basically every thread, component and
parts of the application work under this UI thread. Every process is made up of
more than one threads. Some thread run dependently and some independently
depending upon the application. Each and every thread always remain inside of
the process virtual memory and address space of the process. If a new
application need to start and there is not enough space in the memory then android
forcefully shut down the process according to their importance to create space
for new process. There is a hierarchy of processes to determine which process
will be killed first or last while system is low on memory, in android hierarchy
is like this form high to low. Foreground process, visible process, service
process, background process & empty process. The list is based on
“importance hierarchy”. It mean importance of first process is high so it will
be killed at last while last one killed first. There are different states of a
process. In android states are created, running, paused, stopped & killed.
There is proper mechanism in android for inter process communication (IPC).
This mechanism is called remote procedure RPCs. Process can always perform I/O
operations for their proper working.
2.2 iOS Process and
iOS also create and start a new process for application which
is newly start with a single thread of execution. Every process is made up of
more than one thread and there is main thread which control the main
functionality of the application. Every thread can perform I/O operation. when
a new thread created inside main thread that thread run independently inside
the same virtual memory and address space of process. . If a new application need
to start and there is not enough space in the memory then iOS forcefully shut
down the process according to their importance to create space for new process.
There is a hierarchy of processes to determine which process will be killed
first or last while system is low on memory. The hierarchy is same like this
high to low. Foreground processes, background processes, suspended processes
& not running processes, the list is based on “importance hierarchy” it mean importance of first process is high
so it will be killed at last while last one killed first. There are different
states of a process, in iOS states of process are, not running, active,
inactive, background & suspended. In iOS two techniques are used for IPC
which is Grand central dispatch and pasteboard.