Monday 25 April 2016

Mobile OS Architecture Trends

custom software development companies

The design of Mobile OS has experienced a three-phase evolution in the past decade: from the PC-based operating system to an embedded operating system to the current smart phone-oriented operating system. The Mobile OS architecture has gone from simple to complex to something in-between, while this entire evolution process. This evolution process is driven naturally by the technology advancements in the internet, as well as in software and hardware because of the advancement in the custom software development companies.

The technological advancements by web development companies have resulted in a variety of different competing mobile operating system solutions on the market driven by different actors. Few of these actors include Bada by Samsung, iOS of Apple, Android by Google, RIM’s BlackBerry OS, Symbian of Nokia, Windows Phone by Microsoft, webOS by HP and few embedded Linux distributions such as MeeGo and Maemo to mention few of them.

Some of the most popular mobile operating systems are described below:

Android OS

As of 2011, Android has the largest installed base of any mobile OS and its devices also sell more than Windows, iOS and Mac OS devices combined as of 2013 (Mahapatra, 2013). As of July 2013 the Google Play store has had over 1 million Android apps published, and over 50 billion apps downloaded (PHONEARENA, 2014). One of the developer survey conducted between April and May 2013 found that 71% of mobile developers develop for Android (DEVECO, 2013).

The layers of Android platform are as follows :
  • Linux Kernel: Android relies on Linux for core system services such as process management, security, memory management, and many more.
  • Android Runtime: it provides a set of core libraries which supports most of the functionality in the core Java libraries. Android Virtual Machine known as Dalvik VM relies on the Linux kernel for some underlying functionality.
  • Libraries: Android includes a set of C/C++ libraries which are exposed to developers through the Android application framework including surface manager, media libraries, system C libraries, 3D libraries etc.
  • Application Framework: it provides an access layer to the framework APIs used by the core applications and allows components to be used by the developers
iOS
  • iOS(previously iPhone OS) is a mobile operating system developed by Apple Inc. and  is exclusively distributed for Apple hardware. iOS is the operating system that powers iPod Touch, iPad, Apple TV and iPhone. It promoted a new style of user interaction for limited input devices, small screen, specifically, direct manipulation. On-screen interface elements, and to perform interface operations are controlled by touch-based gestures like tap and hold, tap, swipe, and pinch. iOS is derived from Mac OS X.

iOS is made up of following  abstraction layers:
  • Core OS: The kernel of the operating system including basic low-level features: system support—DNS, threads, math, sockets, memory—general security services— private/public keys, certificates, encryption— Bluetooth, sound and image processing, and external hardware management.
  • Core Services: Fundamental system-services, which are subdivided in different frameworks and based on C and Objective C. IT include basic application services including SQLite, calendar events, XML support, accounts, location data management, contacts, networking,  and store purchasing. 
  • Media Layer: Considers the high-level frameworks that are responsible for using graphics both 2d and 3d, video- and audio technologies.
  • Cocoa Touch: The UIKIT, which is an Objective- C based framework and provides a number of functionalities that are necessary for the development of an iOS Application like the User Interface Management. Also APIs for building applications— multitasking, notifications, interface views, access to device data and touch input are included. 

Windows Phone

Windows Phone is a proprietary smart phone operating system developed by Microsoft. It is the successor to Windows Mobile, though it is incompatible with the earlier platform. Windows Phone was launched in 2010 under the name Windows Phone 7. Large number of hardware manufacturers including HTC, Samsung, LG, and Nokia are developing Windows Phone devices. Both Nokia and Microsoft announced in February 2011 that Windows Phone 7 would be the primary OS for all future Nokia smart phones. Windows Phone 7 received a major upgrade (7.5 Mango) in February 2011, adding features that had been missing in the original release. The Second generation Windows Phone 8 was released in October 2012 (NCSU, 2014).

Windows Phone 7’s architecture required a hardware layer that meets Microsoft’s minimum system requirements: a multi-touch capacitive display, 256MB RAM, a DirectX 9-capable GPU, an accelerometer, 8GB of flash memory, a compass, a 5-megapixel camera, proximity and light sensors, an A-GPS, an ARM7 CPU and six physical buttons: back, start, and search; camera, volume, and power/sleep(Windows, 2011). Windows Phone kernel handles low-level device driver access as well as basic storage, security and networking.Three libraries: a UI model for user-interface management, an App Model for application management, and a Cloud Integration module for web search via push notifications, location services ,Bing, and so on sit above the kernel (NCSU, 2014). The application-facing APIs include XNA, Silverlight, HTML/JavaScript and the Common Language Runtime (CLR) that supports C# or VB .Net applications. Kernel itself is a proprietary Windows OS design for embedded devices that combines Windows Embedded CE 6.0 R3 and Windows Embedded Compact 77. Windows Phone 8 replaced the Windows CE kernel with one based on Windows NT and this is meant in part to mimic the Windows 8 desktop OS, which allows for easier porting of applications between the two operating systems, usually carried out in many application development companies.

Author Signature - Sanika Taori

No comments:

Post a Comment