This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
In order to critically assess each of the mobile OS the report will provide information on what the OS is and its function as well as look at each OS providing information on the Kernel, the portability of the software, the security provided, the usability and the methods which an application developer can distribute the software. The report will finally then assess the information given comparing each of the OS's and the benefits they provide as well as look at the business model which can be created from using each of them within a business environment. To conclude recommendations will be given using the data found throughout the report on which OS would provide the best functionality and deliver the best possible experience.
Both OS are new and have been released within four weeks of the report, this has not left a lot of time of publications through books so will mainly use information provided from each OS's developer web sites also utilizing any information which has been given from technology based web sites. The use of figures and tables will also be utilised to provide summary information.
Operating System (150)
What is an Operating System?
OS's can be found on all computer devices such as the PC (Personal Computers), Tablets, Kindles and Mobile Phones. It is the software that interacts with the user allowing them to execute System Programs and Applications. This is achieved by acting as a Resource Manager to the hardware and software as depicted within Fig1 (Dhotre,2009).
Figure Operating System Interaction
How does the Operating System Function?
The OS is made of a large number of small programs, for example the Text Editor can be used for editing plain text files and writing Source Code, the Debugger which facilitates auditing Source Code before compiling, a Compiler for converting Source Code into Binary along with many others. In order for these to run a Kernel is needed to allocate resources to each of the programs. There are many types of Kernel but the primary three are Monolithic, Micro and Hybrid, each run in different ways and provide different functionality. The Kernels primary function is to bridge between the applications and hardware as seen in Fig 2.
Figure The OS Kernel
Google Android (670)
Android is an open source mobile operating system which was originally developed by Android Inc and then acquired by Google in July 2005 (Elgin,2005). Android 1.0 was released in September 2008 (Morrill,2008) and its most recent version 4.2 Jelly Bean was released in October 2012 (Jean-Baptiste,2012). Android currently has 400 million devices activated (Android,2012a) and dominates the mobile market with 75 percent of units running an Android platform (Oreskovic,2012). The OS is open source allowing its users and developers to view, edit and redistribute the software using an Apache 2.0 License (Android,2012e). The Apache License allows flexibility for manufactures and developers obviating the need to release their source code back to the community permitting a propriety business model to be adapted (Open Handset Alliance, 2012).
*Please study the 'Android Architecture' as this will be referred to further throughout the report.*
Figure Android Architecture
The Kernel (112)
Android Jelly Bean uses a Hybrid Kernel (h4oxer, 2012) which is based on the Linux 3.0.31 architecture (Shah, 2012). The Hybrid Kernel is a combination of the Micro and Monolithic Kernel, the 'filesystem' and 'network stack' are contained within the 'kernelspace' whilst other device drivers are run as servers within the 'user space' (Kandukuru,2012). The Kernel runs within the ROM (Read Only Memory) allowing the system RAM (Random Access Memory) to be used for the running of Applications. The Kernel source code is available on the 'Android Developers' web site allowing business and home developers to create custom versions. This gives the freedom to ensure that the ROMs will run correctly over a plethora of mobile devices. Applications such as 'ClockworkMod' enables the user of the device to install new additions of the Kernel with the 'ROM Manager APK' once the device has been given 'root privileges' (Clockworkmod, 2012).
As seen within 'Figure 3 Android Architecture' the Kernel has a number of driver functions which in turn are communicated to the device hardware. In order for an application to communicate with the device hardware it initiates the following procedure:
Application layer speaks to the Application Framework layer.
Application Framework layer runs within the Dalvik Virtual Machine.
Dalvik Virtual Machine initiates the specific Libraries which are needed.
The Libraries layer communicates with the Kernel.
The Kernel communicates with the device hardware.
Android Applications are written in the Java computer language and compiled using the 'Android SDK Toolkit'. Java allows portability through different OS platforms and can be used to create a wide range of different applications (Cadenhead,2011). In order to run the applications Android utilizes the 'Dalvik Virtual Machine (DVM)' which can be seen in Figure 3 within the 'Android Runtime'. For each running application a new DVM is run allowing applications to be run simultaneously as well as being isolated from each other. Due to this method the applications can be run over many devices as long as they are running the Android OS (Android,2012).
As already mentioned Android is based on the Linux Kernel, this is one of the primary sources for Androids security model. Android uses the 'user-based' protection for identifying and isolating the application resources, assigning each application with a unique user ID (UID). The applications are then executed within the DVM meaning that each running application is separate from the other and runs within its own Sandbox preventing communication (Android,2012). 'Fig 4 Android Platform Security Model' demonstrates how two applications would run on the Android OS.
Android Security Model.JPG
Application runs within DVM.
Linux user-based protection added sandboxing application.
Kernel level application sandbox added.
Figure Android Platform Security Model
(Android Development, 2012)
As well as security running within the OS level of Android, the 4.2 release has included the following security features.
Table New Jelly Bean Security Features
Client Side Malware Protection
The Google Play applications store provides the a 'bouncer' which scans for malicious code within applications, but when applications are bought from a third party such as Amazon this scan is not performed. To combat this Android has introduced the 'Client Side Bouncer' which scans applications which are installed.
Always-on VPN (Virtual Private Network)
VPN functions were already present in previous additions to Android but would have to be manually switch back on after device reboot. Within Android 4.2 the VPN will initiate after boot and if this function is selected and not connected to the VPN data will cease to transmit.
The 'SMS Confirmation' will alert the user to any messages which they may of not written, if the device decides that it has encountered one of these messages it will prompt the user before it is sent. This has been added due to the number of malware released which exploits SMS and sends messages to premium rate numbers.
Security Enhanced (SE) Linux
SE Linux is a kernel add-on which has been implemented into the Android OS. This reduces the amount of rights which an application has and only grants them the rights which are needed to run.
As shown within Fig 6 and 7 both devices are running an Android OS but the usability of each will differ due to constraints of the hardware such as navigation. Android can be seen to have a 'Multiple Personality Disorder' since there are many variations to OS releases within different hardware vendors. The usability of the Android OS will be investigated more closely within '5.4'.
Figure Samsung S3
Figure HTC Droid DNA
(PC Mag, 2012)
(PC Mag, 2012)
Application Distribution (112)
Android advertise that they offer an 'open distribution' to enable developers to release their applications. Developers can either upload to an application market such as 'Google Play', 'Amazon', or provide them via email, their own web site or a server to distribute the applications. (Android Developers, 2012). The following methods can be used to distribute applications:
The application market allows the largest distribution to users, the developer can either upload to the official Android market 'Google Play' or other third party vendors such as 'Amazon' (Android Developers, 2012).
Applications can be sent to users via email, once the email is opened the Android device will display 'install' if the user has set the handset to allow installations from 'unknown sources' (Android Developers, 2012).
Web Site / Server
Companies can make their applications available to employees by serving the installation file via a web site or server. The employee can navigate to the prepared 'APK' file and directly install. This allows companies to develop their own applications and only make them available to authorised personnel (Android Developers, 2012).
Apple iOS (670)
Apple iOS is the mobile OS which is available on Apples 'iPad', 'iPod' and 'iPhone' devices which was originally released in June 2007 (Honan, 2007). iOS has been developed on the 'Darwin' OS which is open source (Apple, 2012) but does not include Appleâ€™s proprietary 'graphics or applications layers, such as Quartz, QuickTime, Cocoa, Carbon, or OpenGL' (Apple, 2012) and released with the 'Apple Public Source License'. The Apple mobile OS currently has a market share of 14.9 percent (IDC, 2012) and has been seen as an innovator within the mobile device market.
*Please study the 'OS X Architecture' as this will be referred to further throughout the report.*
Figure OS X Architecture
iOS uses an XNU (X is Not Unix) Hybrid Kernel which is a fusion between the Mach micro kernel and the BSD monolithic kernel. The Mach allows core components of the OS as different separate processes, managing resources such as the CPU (Central Processing Unit) and memory. Apple also states that it 'handles scheduling, provides memory protection, and provides a messaging-centered infrastructure' (Apple, 2012). The BSD is based on the FreeBSD kernel. As seen within Fig 9 the BSD sits a level higher than the Mach and looks after functions such as APIs and services (Apple, 2012). Fig 9 also depicts that there are other instances which are within the XNU kernel such as the file system, networking and NKE within the BSD layer and the I/O kit and drivers which reside with the BSD layer.
Figure OS X Kernel Architecture
iOS applications are written in an object-oriented language 'Objective-C' and run using 'Cocoa' which can be seen within Fig 6. Due to this the portability of applications are reduced (Apple, 2012). The iOS OS is also only available on Apple hardware due to the proprietary nature of 'graphics or applications layers, such as Quartz, QuickTime, Cocoa, Carbon, or OpenGL' (Apple, 2012).
As shown within Fig 10 Apple provides security at a software and hardware level. For the purpose of the report only software features will be briefly investigated. Each application runs within its own 'User Partition' and sandboxed so that they cannot communicate with each other thus ensuring that weakness within applications cannot be exploited to gain information whilst 'System Software Personalization' stops Apple devices OS's from being downgraded making sure that old exploitations cannot be used (Apple, 2012).
Figure Apple Security Model
As shown within Fig 11 and 12 each iOS release has been visually identical with exceptions of new functions added to the OS. This enable the users to navigate through different Apple mobile devices and different OS's with ease (Zeman, 2012). The usability of the iOS will be investigated more closely within '5.4'.
Figure iOS 1
Figure iOS 6
(I Tunes, 2012)
Before applications can be made available a certificate is needed to reduce the risk of malicious code being released. Fig 13 depicts the stages of obtaining a certificate.
Figure Managing a Distribution Certificate
Once a certificate has been obtained there are two methods of distributing applications:
Apples app store enables users to purchase and download applications to their mobile devices via wifi or over the mobile carrier network (Apple, 2012).
Ad-Hoc allows administrators to push applications to '100 devices' via email or server (Apple, 2012).
Android vs iOS (500)
As shown within Fig 14 Android has 75% market share with at iOS 14.9%. This is due to Apple only releasing their OS on their own devices and not allowing licensing to any other vendor. Android have a large range of manufacturers using the OS which offer a wide range of devices.
Figure Mobile Operating System Market Share
Android and iOS have both utilised Hybrid Kernels and have been developed using open source technology. Where iOS have based the OS development on the 'XNU' kernel which is two separate kernels 'Mach' and 'BSD', Android have used the core elements of 'Linux 3.0.31' and built a micro architecture into the design. There are many variations of the Android Kernel available and users which have gained rooted access to their devices are able to install their own custom ROMs. In order to fix bugs within the OS's iOS can have a quicker turn around since they can push it direct to their users, where Android must first make changes and then release it to the community which in turn manufacturers can then make amendments to ensure that it operates on their devices and then can be released to the users. Figs 14 and 15 show a graphical representation of this.
Figure Android Update Process
Figure Apple Update Process
Due to the open source nature of Android the OS is portable over many devices since manufacturers can manipulate the code to work on their hardware, as well as the DVM allowing applications to be run over the different hardware environments. Whereas Apple do not offer any licence so other manufacturers cannot utilise the OS for other platforms, the OS can only be ported to other Apple devices.
Where iOS can design security which runs at a hardware and software level it is harder for Android to do so since they do not manufacture their own devices. The Apple security model is vigorous with encryption at both hardware and software making it harder to exploit the device where Android has only implemented encryption from version 4. Both OS's provide sandboxing for running applications to reduce the risk of vulnerabilities being exploited. To combat malware Android has now implemented 'Client Side Malware Protection' on top of the 'bouncer' which audits application code within the store. The 'bouncer' has been found to be vulnerable (Messmer, 2012) which does increase the need for the 'Client Side Malware Protection'. Apple application certificates allow the source code to be audited pre-distribution and reduces the risk of malware becoming available via the 'app-store'.
Within '3.4' and '4.4' only the usability of the OS's and the devices had been discussed. Table 2 shows that a range of common usability functions each of the OS's can perform. Both iOS and Android offer many of the same functions. Android has recently added NFC (Near Field Communication) which allows devices to communicate via radio since there are devices being released with this capability; Apple has not done so since they do not offer this function on any of their devices. iOS 6 shown to be available over a range of Apple products but Android can be redesigned to sit on most mobile hardware devices. Both iOS and Android have removed Flash in favour of HTML5 due to vulnerability risks which can be initiated using the Flash software.
Table Common Features
Android Jelly Bean
iPad3, Iphone 5, 4s, 4, 3gs, IPod Touch
Wide Range of Devices
3D Maps, TBT Navigation
TBT, 3D Maps, Street View
Android and iOS both offer wide range of distributing applications designed for their devices. As shown within Table 3, Android allows more freedom with distribution since they do not restrict third party web sites from releasing application for the OS, where Apple applications can only be downloaded and installed from the Apple App-Store or certified developers email and servers. As already discussed within '4.5' Apple applications must be certified before they can be distributed, this has reduced the amount of malware which is available for any i-devices.
Table Application Distribution Methods
Third Party Web Sites
Within '3' the Android OS uses an Apache 2 licenses which enables manufacturers to redevelop the OS for their own mobile devices. Due to these licenses they can retain the rights to the source code thus enabling a business model on the custom ROM distribution.
In order to distribute applications via 'Google Play' the developer must 'sign up' for a 'Publisher Account' which costs $25 for registration and to sell applications a 'Merchant Account' is also needed (Android, 2012), receiving 70% of the revenue from sales (Google, 2012).
As already discussed within '4' the top layers of the iOS OS are proprietary and the source code is not available to manufacturers, this ensures that there is no business model for the redistribution of the OS.
In order for iOS applications to be distribute an application Apple offer three routes to do so receiving 70% of the sales return:
iOS Developer Program
The 'iOS Developer Program' costs $99 per year and allows the developer to distribute applications as 'individual, sole proprietor, company, organization, government entity or educational institution' (Apple, 2012).
iOS Developer Enterprise Program
The 'iOS Developer Enterprise Program' allows companies organizations, government entities or educational institutions to 'develop proprietary apps for internal distribution' (Apple, 2012) at the cost of $299 per year.
iOS Developer University Program
The 'iOS Developer University Program' allows higher education institutions to incorporate iOS application development into their curriculum at no cost (Apple, 2012).
Please see Table 4 for a break down on what each of the programs offer.
Table Program Comparison
Pre-release Versions of iOS SDK
GM Versions of iOS SDK
Test on iPad, iPhone, and iPod Touch
Code-level Technical Support
Ad Hoc Distribution
App Store Distribution
Custom B2B App Distribution
$99 per Year
$299 Per Year
Android vs iOS
The costs to distribute applications with Apple are far higher than that of Android and could deter the application developer entrepreneur from developing applications for i-products. Both Android and iOS allow the developer to make 70% of sales revenue and offer services which can gain extra income through advertisement. With the ever increasing rise of overheads within businesses it could prompt companies to use Android devices since they do not have the year subscription over heads of the applications and allows more freedom on how they are distributed.
To conclude OS's are needed in order for a user to interact with the device and without the Kernel the software would not be able to initiate hardware. Each OS's kernel functions differently utilising hardware and system resources. Security can be provided in a number of ways but is a must within the digital world of today allowing devices to run with the reduced risk of malware. The usability can steer users towards certain hardware / software allowing them to interact with the device with ease. Companies are embracing technology to enable them to function precisely by utilising the development of applications, but as discussed cost is always at the forefront of any companies mind when developing and releasing applications to the mobile device industry.
Both Android and iOS offer many features to it users and can provide SME's with a large range of business solutions. Whilst iOS is the most expensive of the two it offers a high end of security but becomes rigid whilst doing so not allowing companies create custom versions of the OS. Android offers a flexible platform for developers and its users allowing companies to customise the OS to a specific need. With the state of the current economy and companies looking to reduce overheads and increase productivity Android could be seen as the solution due to the freedom it offers but also keeps a proprietary business model so that rights can be kept by not releasing source code back to the community.