Operating Systems for Mobiles

What is an operating system?

Operating System is a set of programs which help in controlling the application softwares where users run and provide the link between the hardware and software running on the computer. Here the OS is responsible for the control and the management of the resources which helps in managing different application related programs.  A mobile OS is basically an operating system for different devices like smartphones, tablets, PDAs and other devices.

Types of operating systems

  • iOS
  • Android
  • Firefox OS
  • Windows Phone
  • Blackberry OS
  • Ubuntu Touch

iOS

iOS or IPhone OS is a simple mobile operating system developed by Apple. The basic iOS development kit contains tools and interfaces to install, develop, run and test the apps that appear on iOS device home screen. iOS act as the intermediary between the hardware and the apps you create. In iOS, apps communicate with the hardware through many system interfaces. The iOS technologies, consists of many layers. The layer is shown in the figure below.

 

Cocoa Touch Layer

coca touch layer

  • It contains the frameworks to build the iOS apps. Frameworks are used to give an appearance to the app. Also, it helps in giving the support to many technologies like push notifications, multitasking etc.
  • The frameworks of cocoa touch layer are given below:
  1. Address Book UI framework:
  • Objective C programming interface.
  • Displays standard system interfaces for creating, editing and selecting contacts.
  1. EventKit UI framework:
  • This framework provides controllers for presenting interfaces for viewing and editing calendar related events.
  1. GameKit  framework:
  • It provides users to share their game information.
  1. iAd framework:
  •  Helps to deliver banner based advertisements from the app.
  1. MapKit Framework
  • It provides a map which gives you the apps UI. Instead of just using the framework interfaces, one can customize the maps content and appearance.
  1. Message UI Framework:
  • Provides support for composing emails or SMS messages from the app.
  1. Notification Centre Framework:
  • It provides support for creating widgets that help to display information in Notification centre.
  1. Pushkit Framework:
  • It provides registration support for voice over internet protocol. This framework replaces the old application program interfaces for registering VoIP apps.
  1. Twitter framework
  • It supports a UI for generating tweets and support for creating URLs to access the twitter.
  1. UIKit framework:
  • It provides the infrastructure for implementing event driven apps and other graphical apps in iOS

Media Layer

It contains graphics, video and audio technologies to implement multimedia experiences in the apps. This iOS graphics technology provides you the support to work with UIKit and make it easy to deliver content.

AirPlay

It lets your app stream audio and video content to Apple TV and it allows streaming the audio content to the Airplay speakers and receivers.

Core-Services Layer

  • It contains fundamental system services for apps.
  • Some of these services are Core Foundation and Foundation frameworks.
  • The technologies present in the layer helps to support features like social media, iCloud, networking, location etc.
  • It provides you with frameworks like: Accounts framework, Address Book framework, Ad Support frame work, CFNetwork, CloudKit, Core Data framework, Core Foundation, Core Location, Core Media, Core Motion, Core Telephony, EventKit, HealthKit, HomeKit, JavaScript Core, Mobile Core, Multipeer Connectivity, Newsstand Kit, PassKit, Quick Look, Safari Services, Social framework, StoreKit, System Configuration and WebKit frameworks.

Core OS Layer

Core OS layer contains many technologies and low level features.  The different frameworks involved in this are accelerate, core bluetooth, external accessory, generic security services, local authentication, network extension, security framework and system.

Android

Android is a mobile OS. It is based upon the Linux kernel. Android is specially designed for mobile devise, tablets, computers, televisions etc. Its architecture is in the form of a software stack which has an OS, run time environment, services, libraries and middleware.

  • Linux Kernel

It interacts with the hardware and it contains all essential hardware drivers. More than that it act as an abstraction layer between software and hardware layers. The major functions of this kernel are multi-tasking, power management, provide network stack and device drivers.

  • Libraries

In this layer, the libraries are written in C or C++ language. The libraries that are included here are Media framework, SQLite, WebKit and OpenGL.

  • Android Runtime

It consists of Dalvik virtual machine and Core Java libraries.  Dalvik Virtual machine is a type of JVM used in most of the Android devices to run the apps and this is then optimized for power and memory. Core Java libraries are different from Java SE and Java ME libraries.

  • Application Framework

These blocks are the applications that directly interact with. The programs can manage the basic functions like resource management and voice call management. Also, the application framework consists of activity manager, content providers, telephony manager, location manager and resource manager.

Firefox OS

Firefox OS is a Linux based kernel OS for smartphones and other computers. It’s mainly used for smart TVs and is developed by Mozilla.

Windows Phone

It is a family of OS developed by Microsoft for smartphones.

Blackberry OS

It is a mobile OS developed by Blackberry and provides you the support for multi-tasking and gives support to specialized devices.

Ubuntu Touch

Also, known as Ubuntu Phone is the mobile version of Ubuntu OS. This OS is good for touchscreen mobile devices.