An operating system is an interface between the underlying hardware components in a device and the applications programs on the user interaction layer.
An operating system can be considered as the backbone of all devices which consist of a computing layer, the user interacts with.
The operating system manages the overall resources and carries out task scheduling for the efficient performance of the system.
In this article, we’d like to discuss the mobile operating systems in particular which we use on a daily basis.
Yes, we do know you are familiar with Android and iOS devices out there, but ever cared to think about how these things work?
This primer will help you uncover just that in an understandable, less complex method which you might actually have fun reading with.
Let’s cut the chase here and dive deep into the article straightaway!
Background
In the early 1990s, smaller mobile devices were essentially embedded systems that were designed to run a single task to utmost perfection.
The only task for mobiles phones during this period was phone calls and some years later messaging, so these embedded chips worked out best for them.
It is not to say that today’s smartphones are not embedded systems, but an advanced version of the same which can run different applications at once with the help of a broad set of instructions from a robust operating system on board.
A smartphone in general consists of two operating systems, which might be a surprise for most of you reading this article.
The main operating system that interacts with the user and most of the hardware is familiar to us and comes in different flavours such as Android, iOS and Windows mobile, but the secondary Real Time Operating System (RTOS) is the piece of embedded code which runs the modem and network connectivity features.
Now you might have a question pop up in your mind – are the desktop operating systems same as the mobile operating systems?
Well, sort of.
Both desktop operating systems and mobile operating systems have the common end functions, i.e synchronising the hardware layer and the application software compatibility.
The main differences between a desktop operating system and a mobile operating system are as follows:
- The design is significantly different from each other
Mobile operating systems have a smaller screen estate to operate with. This makes the user interface to be scaled accordingly.
The method of interaction with the device being primarily touch driven, the UI has to be modified for the same compared to the keyboard and mouse interaction on desktop operating systems.
Even though the end functionality is the same, there can be a difference in the method of process execution and the overall performance capabilities between the two.
- Restrictions on memory
Unlike desktop computers and most laptops, smartphones don’t come with expandable memory chips.
The OEM has to optimize the operating system to work with whatever they have in hand and accommodate for the applications which a user might later install.
The memory available for each running applications has to be prioritized accordingly.
A smartphone is an always-on gadget when compared to desktops and laptops and the memory is in constant use throughout the day.
- Limited battery power and processing power
Smartphones are n times compact and lightweight than the desktop and laptop counterparts. Incidentally, these gadgets pack a lower capacity battery to reduce the weight and size.
The operating system has to work with this restriction along with the less powerful processor on board to offer a pleasant and smooth performance for the end user.
The basic workflow of a smartphone
Before getting to know more about the common operating systems used in smartphones, let’s take a brief detour and understand the structure of a smartphone operating system.
The point to note here is that the layered structure of each operating system is different from each other.
The things mentioned here is just the basics to simplify the details so that there is no problem understanding these otherwise complex concepts.
- Low-level hardware
Lower level hardware is basically the physical smartphone you’re holding in your hands and the tangible components inside the shell.
There are the processor, memory modules and other hardware sensors and related components on the board which comes under this section.
- Operating system
The above mentioned low-level hardware needs to be controlled by the end user for specific functions.
For eg., if you want to click a picture, you are going to unlock the device, and click on the camera icon.
This triggers the operating system to request access to the particular hardware i.e the camera module and on receiving confirmation opens up the camera.
The next request is clicking the picture itself. When you click the picture, it has to be saved to the memory on the phone.
The operating system makes necessary scheduling for the camera application to save the picture on to the memory, which is a separate hardware entity.
The kernel is the core of an operating system that has complete control over the hardware inside. It is this kernel which interacts with the hardware upon user requests.
A hardware abstraction layer (HAL) is a part of the operating system which acts as the middleman between application programs and the kernel.
Third party applications can request hardware access via the HAL without having to know about the kernel level implementation.
Then comes the prebuilt OS libraries which cater to specific functions of the hardware components like touch, graphics, telephony, audio, video playback etc.
The OS libraries and application framework together form a virtual scaffolding on top of which developers can make applications that face the user.
These applications are the user-facing components of an operating system.
Major smartphone operating systems
There are a lot of large scale and small scale smartphone operating systems designed and developed by companies around the world.
In this section, we are discussing the major ones and some derivatives which you may find interesting to know more about.
1. Android from Google
Android enjoys a 72% market share and stays first in the smartphone operating system race.
The android operating system runs on a modified version of the Linux kernel and is an open source platform.
Most probably, the phone you are reading this article might be an Android device.
Google pushes one major Android update a year following a dessert name code, this year being the Android 9.0 Pie.
Since the project is open source, the majority of the code is available for public review and security patches for known vulnerabilities are issued every month.
Android has a very small learning curve. A newcomer to the smartphone world will be able to master the operating system without any delay.
Deeper integration with Google services such as Gmail, Drive, and other value-added services makes this operating system much more versatile, to begin with.
Android has a dedicated play store from which you can download all the major apps and games, either freely or paying a small premium.
There are movies and books which can be purchased additionally and the Google play music service lets you subscribe to the streaming music service as well.
Android Open Source Project (AOSP)
Google has made the source code of the Android operating system, for the most part, open to the public.
The AOSP repository managed by Google contains the latest revision of OS code that anyone can access, improve upon and alter according to their wish.
Most of the OEMs don’t use this pure AOSP build on their smartphones, but alter them heavily with skins and other features.
Why do OEMs heavily skin the pure AOSP?
- Differentiation – If all the OEMs used the same AOSP versions of Android on their devices, practically every phone will look and feel the same.
- User retention – Not all custom skins are the same. Every custom Android UI implementations look different. Some may like it and some may not.
- Consider a person liking a particular aspect of a custom skin, he/she is much more likely to stick with the same brand for future smartphone purchases.
- Additional features – AOSP is not the most complete Android implementation out there.
- There are many things that Android is inherently capable of but omitted in the AOSP builds. OEMs can implement new features or improve the existing features to work well with their device.
- Value-added services – With the help of custom skins, OEM’s can monetize the OS by adding purchasable themes and such.
Some of the major custom implementations of Android is listed in detail below.
MIUI ( Mi User Interface)
MIUI is an aftermarket Android firmware developed by the Chinese OEM, Xiaomi.
MIUI was first started back in 2010, releasing MIUI v1 – a modified Android 2.1 version to the public in China.
Later, there came several iterations of the same that was bundled in some of the most popular smartphones of Xiaomi.
Started off as a software company, Xiaomi released its first smartphone in August 2011 with MIUI as the primary firmware.
Following its success, the company launched many budget-friendly phones, both in the mainland of China and globally and now enjoys the position of one of the largest phone manufacturers in the world along with Samsung and Apple.
The latest MIUI iteration is the MIUI v10 running on top of the Android 9.0 Pie base.
EMUI (Emotion UI)
EMUI is the custom Android firmware developed by Huawei, which is currently used in Huawei and Honor series smartphones launched globally.
EMUI, earlier known as Emotion UI was launched back in December 2012 with the Ascent P1 smartphone running on base Android 4.0 ice cream sandwich.
EMUI is known for its extensive system-wide customizations and features. The current version of EMUI is the EMUI 9.0 running on top of Android 9.0 Pie.
FunTouch OS
Fun Touch OS is a customized fork of the Android operating system used by Vivo on their smartphones.
Fun Touch OS looks and feels very similar to Apple’s iOS.
Color OS
Color OS is Oppo’s take on AOSP Android and is seen with Oppo and Realme devices.
Initially launched in 2013, Color OS features a plethora of functionalities such as navigation gestures, revamped camera interface and more.
Color OS 1.0 was the first implementation of this skin which ran on top of Android 4.0 KitKat.
Currently, Color OS 5.2 based on Android Oreo is in use, with touted 6.0 version coming on top of Android 9.0 Pie.
2. Aliyun OS
Aliyun OS is owned and maintained by the Chinese conglomerate Alibaba.
Aliyun is basically a Linux distribution developed by Alibaba cloud which runs on appliances such as Smart TVs.
Initially released in 2011, the Aliyun OS has then modified to run on smartphones.
3. Sailfish OS
Sailfish OS is an independent Linux based mobile operating system that runs on a Linux kernel, with an open source Mer middleware and proprietary Sailfish UI on top.
Sailfish OS is licensed and owned by a Finnish company called Jolla Oy.
In reality, Sailfish OS is just the extension of the MeeGo OS that was once developed by Nokia and Intel together but later discontinued as Nokia ditched the project to side with Windows mobile OS.
Sailfish can run most of the day to day smartphone services without using any Android components. But there is an option to enable Android runtime for those who want to install Android applications on their phone running Sailfish.
4. Tizen OS
Tizen OS, similar to the Sailfish OS is an independent Linux based operating system for smart devices.
Tizen consortium, headed by Samsung includes notable members such as Fujitsu, NTT Docomo, Intel, Panasonic etc.
Samsung had even released a few Tizen running budget smartphones in India. Tizen OS is also used in smartwatches and Smart TVs from Samsung.
5. iOS by Apple
iOS is a mobile operating system designed and developed by Apple exclusively for its hardware.
iOS is the second largest operating system currently in use in the planet, accounting for about 24% of the devices.
Since the iOS is developed specifically targeting iPhones and iPads, Apple has successfully optimized the software to hardware performance on these devices to outperform devices running on Android.
iOS is not an open source operating system and the whole control on the code and device repo rests on Apple.
iOS is known for its fluidity, stability and timely software updates across its entire device portfolio.
The iOS app store features the best and greatest native apps which run and perform significantly better than its Android counterparts.
6. Windows Mobile
Windows mobile was a smartphone operating system that ran on Nokia and Microsoft devices and a few Samsung and HTC smartphones before meeting its doom in late 2017.
Windows Mobile was based on Windows NT core which is the same middleware Windows 10 desktop runs on.
The Windows mobile came with a futuristic tiled interface and promised universal applications which were promised to run seamlessly on both Desktop and mobile devices.
However, due to the extreme competition from Android and iOS devices and lack of native apps on its app store, the adoption rate was abysmal and Microsoft was forced to put a lid on the project.
Final words
This concludes our informative article about the working of a smartphone OS and various major smartphone operating systems currently in use among the device manufacturers.
We sincerely hope that you’ve learned something new from this article.
If you liked this article, please feel free to subscribe to our weekly newsletter. It will be a great reward for our hard work and indeed an inspiration to bring much more informative content in the coming future.
Thanks for your time and have a fantastic day ahead!