Journal of Software Engineering and Applications
Vol.08 No.03(2015), Article ID:54397,12 pages
10.4236/jsea.2015.83012

Comparative Analysis of Operating System of Different Smart Phones

Naseer Ahmad, Muhammad Waqas Boota, Abdul Hye Masoom

Department of Computer Science, Virtual University of Pakistan, Lahore, Pakistan

Email: ms120400137@vu.edu.pk, ms120400080@vu.edu.pk, ms140400072@vu.edu.pk

Copyright © 2015 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received 15 February 2015; accepted 3 March 2015; published 4 March 2015

ABSTRACT

Nowadays rapidly increasing technology is mobile phone technology in telecommunication sector. This mobile device technology has great effect on everyone’s life. This technology has reduced the burden of people in their daily life. To manage the rising demand for such mobile devices, numerous operating systems came in the market as a platform upon which modern application can be produced. As a result, numbers of platforms and essential depository describe these platforms; customers may or may not be aware of these platforms that are appropriate for their needs. In order to solve this issue, we examine the most famous mobile phone operating systems to decide which operating system is most suitable for developers, business applications as well as casual use. In this paper we make assessment on the popular operating systems of mobile devices available in the business market, and on behalf of such assessment we distinguish that operating system OS is much useful of its particular characteristics compared with other systems.

Keywords:

Operating System, Mobile Phone, Communication, Architecture, OS

1. Introduction

Mobile phone device is one of the most widely used technologies in the field of telecommunication. Mobile phone device in the group of mobile technologies contains numbers of portable things like call phones, Personal Digital Assistants (PDAs), palmtops, laptops, global positioning systems, etc. This mobile technology is increasing rapidly around the whole world by the passage of time. We can easily see near around us in our daily life that even a poor person can avail a mobile phone or he/she has access to mobile phone. Mobile phones are widely used in the business environment as well as in our daily life. In the past years people used to go to banks, offices or any other concerned departments for their desired tasks, but in this present period one can easily perform his task with the help of mobile phone. We can see that, few years later the wireless technology is highly developed. We can easily access information by using mobile phones along with the exponential enhancement in performance as well as the capacity of wireless communication system.

One form of telecommunication is mobile phone devices or call phone devices which are used on wireless connection through networks that are broadcasting towers which spread within a specific area on local, national or multinational level. Nowadays maximum growth of mobile devices leads the concerned people to be much more than just voice communication means. But on the other hand, they have begun to be used like mini mobile computers for the purpose of sending or receiving e-mail, internet surfing voice/text chatting, appointments, etc. The most advanced mobile devices of them have the capability to take photos and these photos which are taken from the advanced mobile devices can be compared with the cameras of high resolution. Mobile devices become significant for marketing and advertisement; service provider has great competition among mobile devices and also communication charges of these mobile devices now become affordable for a broad range of people. Hence, in general the number of mobile phone or smart phone of consumers especially in Arabian world is progressively increasing which leads the mobile phone devices to replace the traditional planed line phones or wire phones in households [1] .

We go back to 1947 for the history of mobile phone when a company named Lost Technology started its experiments in New Jersey plane. However, the 1st person that achieved mobile device was Martin Cooper. He was a researcher from Motorola in Chicago and he made his first wireless call from cell phone on 3rd April 1973. The mobile device is a sending or receiving circuit using the frequencies among the land-based platforms, but these devices completely perform via satellite. We can say that its principle is similar to the radio communication, but it has the variation in its frequencies that are more powerful as compared to radio communication and can reach to 20 MHZ of receiving or sanding per second. Communication between two persons can take place by using an Integrated Circuit (IC), mobile set, SIM card and the main switch at the service provider company. SIM card consists of a small circuit with a small memory unit and a processing unit which store the user’s data for communicating from one end to the other end. Mobile phone device contains a Central Processing Unit (CPU), a sending/receiving circuit, Random Access Memory (RAM) and a flash memory. The main objective of this proposed system is to keep velocity with the development in the area of programming and embedded programs. The purpose of such developed system is to get the privilege knowledge for such kind of operating systems and management systems more important for developing special applications [2] .

Mobile networks are consuming a large amount of data in order to enhance their communications and compress the data coverage. Continuously, enhancement in mobile device technology day by day has great impacts on human being. Mobile phone users are availing benefits from the rapid increasing in enhancement of mobile phone devices. We can see this rapid change in mobile device technology in our daily life. In the past period, if someone wanted to mail important document, he/she had to deliver from door to door, but nowadays with current advancement of mobile phone technology, people can easily send the documents in soft copy format via a mobile phone. Enhancement in mobile phone technology also has great impacts on other various fields of life. For example in business sector one can grow his business via a mobile phone; there are many other examples in our daily life and mobile phones play a vital role in the life of human being.

The movement of mobile phone operating system has rapidly increased to contain challengers such as Google Android, Symbian, Apple, BlackBerry, Microsoft, Palm, etc. Such operating system’s platforms have come in a very long way because no company provides an operating system that is perfect for the mobile phone users. These companies argue that their platforms of operating system for mobile phones execute best in all ventures and also these companies surely do not announce any weak point of their systems. This situation creates difficulty for the mobile phone users that they do not know which company’s platform is the most suitable for their requirements. In order to solve this issue, we perform a broad investigation of popular operating systems of mobile phones in order to point out their strength. After analysis of such operating systems for mobile devices we can get a real idea which mobile phone is the best suitable for end users, business application, gaming and also for multimedia.

For the comparison of different mobile phones in the sense of numerous usage scenarios, we came up with a set of main classifications to compare the operating systems of mobile phones. These classifications are: software features, hardware features, multimedia features, power management and development environment. From these classifications we chose some of them and then concluded on behalf of specific classification which operating system is the most suitable for the users.

The category of software features highlights the operating system features that are supported which express how to improve the operating system to manage system calls, memory management and multitasking. The hardware support category tells us which hardware features are supported by the operating system. The multimedia category specifies audio, video and media applications that are supported by the operating system for mobile phones. The power management features tell us about the features that are available for the operating system to save the energy. The development environment category illustrates how reliable it is for third party developers to make applications for the desired platform.

On behalf of these illustrated classifications, we will select a subset from this comparison domain particularly suitable for every usage model. Software features and development environment are tremendously important for third party developers. Software features, multimedia features and development environment are important categories in gaming zone. Software features and hardware support are the basic categories for business application [3] . In the end, most important categories for casual users are power management, multimedia features and hardware support.

The production of mobile phones is growing rapidly at a tremendous rate and different operating systems for such mobile devices are available in the business market. Different models of mobile phones with different features and options are introduced every month. Some of the main questions which arise in the customer’s mind before purchasing a mobile phone are:

・ What is the most suitable mobile phone for me?

・ What features do I look in mobile phones that are more suitable for my needs?

・ What reliabilities in mobile phones are essential that attract me?

・ What about the mobile phones, attraction as well as extra features making the particular mobile phone unique?

These surveys have been done by various people for almost the whole range of users markets but the focus has been on single domain or on general domain. Evaluations of mobile phone operating system have typically hit the development market with a few key points so as to illustrate the operating system invaluable for the users. However, vendors of various mobile devices implement cross-platform operating systems, such as Linux kernel including/containing Google’s Android. The mobile operating system plays a vital role in the decision-making process of the users. At one stage some companies like IBM, SGI and Sun culminated with their computing stages, but on the other hand we could see the computing environment of Microsoft, Linux and Google. Mobile technologies go forward in order to get closer with the standard of intelligent personal computer. The data in this paper expand the analysis of mobile phone operating system to resolve the users’ experience and requirements concerning the mobile computing environment. While the working body is limited to a few number of hardware devices, our focus is on components of the operating system which defiantly describe how well the hardware performs.

We made some assumptions on behalf of performing benchmarks and operating system’s rating. Firstly in operating system’s rating for a particular user group, we are liable to give intelligent rating for operating systems which give more control to the end users and have more features. First consideration creates an idea in which all operating systems being same like the skills of developers, additional features, and management offer excessive potential for use. Because various features were not easily compared quantitatively, we used the phenomena for rating mobile phones. Secondly, we make assumption while performing the benchmarks in which mobile phones that we are using act like a hardware platform representative and available to each operating system. This was not a problem for Android and iPhone operating system, because at this time one mobile phone is related with each operating system. But on the other hand, in Symbian and Windows mobiles, a large number of mobile phones exist for every operating system where the hardware features differ assumingly. In this paper we try to minimize the effects of hardware variances by ranging the benchmarks with CPU concentrated operations in proportion to the operating system for each mobile phone [1] . We will discuss related work in Section 2, Android in Section 3, iPhone OS in Section 4, BlackBerry in Section 5, Windows Mobile in Section 6 and Symbian in Section 7, and finally we conclude our research work in Section 8.

2. Related Work

Mobile phones now have become popular among users for their numerous features specially the mobile phone that can access the internet and email. But on the other hand the unknown third party developers act behind the screen and protecting all the components is the operating system. The operating system describes the performance, security level, features and active application programming interfaces. Hence the intelligent users of mobile phones depend on the operating systems when they decide to purchase instead of depending on the features of the mobile phone only because they know that good operating system can operate well even the reserved mobile phones can not achieved customers attraction with other operating systems besides performing the casual tasks of Short Message Service (SMS) and multimedia presentation which are not the key features to measure the quality of mobile phones [2] .

This is common to make comparison among operating systems for mobile phones. Such type of article paper can easily accessible on the internet since number of users conscious about there mobile phones that how their phones are comparative to other phones in the business environment. This paper generally represents the idea about operating systems that which operating system is most suitable to the end users. Furthermore, this paper does not focus on a specific operating system and user group. The best operating system for mobile phone should be described with different phenomena to satisfy the needs of various mobile phone users. We are going to illustrate in this paper to give a comprehensive analysis relatively simple features checklist. At the end we will conclude that which operating systems is the right choice for the end users based on our analysis. We started by taking a deep look at operating systems for mobile phones. The most common mobile phone’s operating systems in the market of mobile phones are Linux, Android, and Symbian, iPhone OS, RIM BlackBerry and Windows Mobile.

3. Android

Android is Linux based operating system designed for mobile devices such as mobile phone and e-reader tablet PCs. Its first public version was released on 12th Nov, 2007 and first mobile phone with this operating system came in business market on 23rd Sep, 2008. It is an open source operating system which is based on Linux kernel which enables the developers to write and modify applications initially in Java. It is also support C/C++. It provides easy access for users to public sites like YouTube, Face book and smooth integration with Gmail and Google calendar etc. It becomes more popular among hardware manufacturers and also in general public in recent years. One best thing which play a very important role in its popularity that it is absolutely free operating system for mobile devices and it has been selected by many hardware manufactures to run it on several devices like mobile phones, net books tablet PCs and others.

3.1. Android OS Architecture

Android OS can be divided into four layers (see Figure 1), the Linux Kernel, libraries, application framework, and applications. The libraries in Android OS provide data storage, graphics and media applications. Android

Figure 1. Android OS software architecture [4] .

rune time is embedded within the libraries which contains Dalvik Virtual Machine (DVM), which gives power to the applications. The applications from work in which all applications use to access the lowest level’s architecture.

In Android OS Linux kernel provides virtual memory, drivers, power management and networking. On observing the kernel dispatched with the Android’s source code, there are not any important changes to the main functions of the kernel. The local libraries layer provides Android OS with the potentials for its main features. Packaging of Android OS with SQLite provides most data storage. SGL embedded in local libraries acts as the primary 2D graphics provider and open GL/ES provides 3D graphics support. The WebKit web tendering engine modified to make web pages for smaller screen sizes. The Dalvik VM is a byte code predictor, highly optimized for executing on mobile phone.

The application framework provides most important APIs, in which the applications use sharing data, receiving the notifications and also accessing the telephony system. The software of Android is completely written in Java is interpreted by Dalvik Virtual Machine. Phones and contacts applications reside in applications layer which are most important key features. We may expect in this given modal that Android becomes much stronger and the users will easily identify that what applications should handle specific events.

3.2. Concurrency Model

As we discuss above, Android OS is Linux based. Android offers almost the same features regarding concurrency model. The third party developers are able to run background services but it is not guaranteed that the services will run. The operating system will try to kill the processes when memory will be low it is not harmful for user’s experience. It means that foreground running will be alive together with services which are used by the application’s Background process can be killed at any moment and these has no effect on the user’s experience.

3.3. Virtual Memory

As we know that Android OS is Linux based and it proves that it can run with minimum hardware resources. Application on Android run inside the Dalvik Virtual Machine but not executed as local applications. The Dalvik Virtual Machine allows multiple virtual machine instances to run at once and Dalvik Virtual Machine is registered based virtual machine which optimizes for low memory requirements. The Dalvik Virtual Machine (DVM) is made to run Java applications, but DVM is not a JVM. DVM runs Java applications that are converted into Dalvik executable file format. The lack of a just in time compiler is huge difference between DVM and other JVMs. As it optimized for low memory needs to run the application inside the VM is without any hesitation memory compared to an architecture which uses local application and lack of just in time compiler could minimize the performance.

3.4. Networking

By using standard networking packages like Java.net.org, apache.htt networking functionality can be used. Android OS is marketed in business environment as a mobile phone with “always on” internet. Android mobile phones nearly always connected to the internet using Wi-Fi or cellular network. Programmatic control in Android is outstanding over the Wi-Fi connection. One can scan for Wi-Fi networks using the Android API applications, connect to wireless network and keep the wireless radio active when the mobile device returns to slow. When wireless or Wi-Fi functionality is switched off or when airplane mode is allowed making a Wi-Fi connection is not yet possible it shows that preferences cannot be dominated.

3.5. Security

The Dalvik Virtual Machine (DVM) is main part of Android OS and plays a significant role in the security of the operating system. The main design point of Android security architecture is that by default no application has guaranteed to perform any task that would harmfully effect other applications, operating system and user. This approach is forced by using the DVM and fundamental Linux platform using file permissions and UNIX user identifiers. Unlikely, a large number of Linux desktop operating systems, where applications from the same user execute with the same user ID, and each application executes its own virtual machine in a different process with its own user ID. This clearly indicates that Android applications cannot access the data or code from other programs and all data sharing is done explicitly. By default, Android applications does not allow giving permissions to do anything that may affect the data on mobile phone and the user experience.

4. iPhone OS

Apple released first generation iPhone on June 29, 2007 in USA and the most recent version of iPhone, iPhone 5 released on September 21, 2012 [5] . The mobile device which uses the iPhone OS is similar to Mac OS X. The fundamental organization of iPhone OS is given in Figure 2.

The Core OS layer resides in the bottom of iPhone OS architecture. Core services layer contains an additional abstraction layer, media and cocoa touch layer. The Core OS layer also contain the scheduler, Mach kernel, file system, hardware drivers and is in charge of control the memory system, network and inter process communication and security framework to secure the system and program data. As said that the core services layer contain an abstraction setup. It contains access to the network availability, basic framework for objective-C programming, state of mobile device, access to location information and address book.

Media layer includes various frameworks to deal with audio, video, 2D and 3D graphics. The Cocoa Touch layer resides at the top level of iPhone OS architecture and provides basic building blocks to develop graphical event driven applications the iPhone OS. In order to access the higher level APIs objective-C programming is required but as objective-C is a strict superset of C language and possible to contain C code in any objective-C class freely.

4.1. Concurrency Model

Apple has restricted the multitasking capabilities of the iPhone OS in order to maximize the amount of memory available to the foreground application. Apple give permission to only one third party application to run at a same time, when the mobile phone user goes back to the home screen the application is terminated, state information is archived and when the active user goes back then application is reinstated. This is very sensitive obstacle for pervasive computing application since people often want to do work in the background without any user intervention. The restrictions that are imposed by Apple are not natural, near about ten applications or services mostly running concurrently on the iPhone OS, but it is only recommended by Apple’s own application. Only one third party service or application can run at the same time and it should be in foreground state, applications and services that run concurrently are core services such as email checking, calling, playback music, mobile synchronization and Bluetooth. Safari is allowed to run continuously when extra free memory is available and it is Apples own application.

4.2. Memory Use

The 1st generation iPhone offer 128 MB memory while 3rd generation iPhone offers 256 MB that is twice as compared to the 1st generation iPhone, allowing to improve the performance as well as multitasking (D. Albazaz). Near about 11 MB of 128 MB is used for virtual RAM and operating system itself uses a large chunk of memory and remaining approximately 76 MB memory is for user. iPhone OS does not contain swap file for virtual memory, this indicates that when RAM is full then there is not any available memory any more. Current 3GS iPhone has quite advantage of much speed when user running the standard Apple applications that supports the multitasking. In previous iPhone models when another application is launched then safari browser is almost always closed, but in new 3GS it can continue running in the background.

Figure 2. iPhone OS architecture.

4.3. Networking

Inside the iPhone OS the core of network functionality is based on Berkeley Software Distribution (BSD) sockets. Various high level layers of abstraction are also available. The CFNetwork and other software layers on Mac OS X are shown in Figure 3.

The CFNetwork layer allows the developers to develop streams and sockets, and by allowing these low level applications can connect to anything to network internally. However, applications can be developed to connect any service that is executing in a particular network, application do not manage over what network to connect do. Without user interaction applications are not allowed to connect a Wi-Fi connection. This show that the applications are restricted to only an inter connection by using the cellular network. iPhone OS make possible for applications to create peer-to-peer network connectivity by using the Bluetooth. The Software Development Kit (SDK) contains the functionality to dynamically discover other mobile phone devices which run iPhone OS and these will have the ability to connect seamlessly to iPhone OS running devices without any pairing. This is Bonjour service discover protocol technology that allows to setup a connection without any configuration. The devices which do not support this standard are not able to connect iPhone OS device.

4.4. Security

iPhone OS offers various APIs to implement security features for developers. Like as desktop counterpart, iPhone OS uses BSD and Common Data Security Architecture (CDSA) to implement the security features. File access permissions a low level features are implemented by the BSD kernel is a form of UNIX operating system. Higher level functionality is given by CDSA for example encryption, security data storage and authentication. With its own API CDSA is an open source standard but it does not follow the standard Macintosh programming convention and due to this reason this not directly accessible.

Like as the dialer and browser with base access the iPhone OS runs applications. This indicates that when security vulnerability is exploited in one service or application the entire operating system may be compromised. This is not same as the Android and BlackBerry OS in which the applications are shielded from the operating system and other service by running in the virtual machine. Because by introducing the iPhone OS various security features have been founded and with firmware updates fixed by Apple that give permission to a hacker to get full control over the mobile device. However, applications that are running with basic rights by default a big threat.

5. BlackBerry

The operating system of BlackBerry is a modest operating system which has been developed by research in motion to be use completely in combination with the family of BlackBerry mobile phone. In the beginning BlackBerry mobile phone were developed with business experts in mind, and provide wireless synchronization with Microsoft exchange in terms of functionality. In this present period BlackBerry still widely used in current market but in past few years number of new mobile devices with different operation systems have been introduce in business market which have great effect on BlackBerry devices.

Figure 3. CFNetwork and other software layers on Mac OS X.

As illustrated above that BlackBerry OS is a modest operating system and it does not have much information about there internal functionality of the operating system which have been reveal by RIM. The software development kit (SDK) has course documentation which is available for the application development for operating system but it does not provide technical information about particular operating system. Developers can develop application for BlackBerry mobile device in two ways. In the first way developers can create Java applications by using propriety JVM in order to run on BlackBerry device. Various Java APIs are also available for tasks such as networking, data storage and application integration. In the second way developers can create Mobile Data Service (MDS). This application is optimized to receive data from one end of application and display this data to screen. The BlackBerry MDS Runtime Environment is given in Figure 4.

In order to use MDS applications there are different options are visible. These can run in the JVM, web browser, or in MDS runtime. BlackBerry Enterprise Server is essentially required for these applications. It is not possible to make indigenous application such as C/C++ as a third party developer.

5.1. Concurrency Control

Number of applications and processes can run at the same time on BlackBerry OS because of multithreaded nature of BlackBerry OS. In order to handle computationally rigorous tasks these applications can create background threads and also handle network communication without locking the main thread. When an application turned inactive then background threads are allowed to remain active. The truth is that this functionality is available is not a shock, because keeping in mind BlackBerry OS has been developed with running background network processes. For example normal applications use this approach for emails synchronization and calendar events, also third party applications can use these approaches.

5.2. Memory Use

For many third party application JVM handles memory management on the BlackBerry mobile device, if not then specialized MDS runtime is used. The JVM also handles data swapping between flash memory and SRAM, garbage collection and memory allocation. The JVM in BlackBerry must share existing memory between Black-

Figure 4. BlackBerry MDS runtime environment [6] .

Berry Java Application and BlackBerry device application [7] . A particular low memory manager is running in order to deal with the limited memory capacity of mobile phones. When a large amount of free flash memory decreased under a certain threshold or various available objects drops down under a specific limit then the low memory manager frees the accessible memory. Third party applications and standard application must work with this interface in order to delete the low priority data when the low memory manager receives an event of low memory.

5.3. Networking

In mind BlackBerry OS is developed with background network processes. Making a TCP socket or HTTP socket to create a connection over wireless network is not difficult. In the backend the design of BlackBerry OS is though focused on providing a connection to the internet every time, but not on connecting with mobile phone in the native area of the user like the case in number of persistent computing applications. The API does not have the ability to dynamically discover and connect to the wireless network (Wi-Fi): as we know that a Wi-Fi connection can only be used in one situation if it has been setup by the mobile phone user in the past. However, in order to discover or connect Bluetooth Device is available.

5.4. Security

Historically, the security has been a central point of BlackBerry OS, but on the other hand the present security characteristics are adapted towards the use in endeavor surroundings. When someone uses the BlackBerry Enterprise server then all communication among the mobile phone and external world is encrypted, and the network administrator can add or remove the applications at all as well as change policies that manage, what the user and application can do. Encrypt the all user data on the device is a possible policy. The applications that are used by the JVM are accessible by the BlackBerry OS, access to determine data or virtual memory from other applications is not possible if not access has been specially granted. With these capabilities application potentially may be risky and have to be digitally signed by RIM. This situation is also true for many other APIs that have been labeled as perceptive so that a review experiment is offered when mistreatment of these APIs is noticed.

6. Windows Mobile

The operating system of Windows Mobile has been developed by Microsoft to run this OS on variety of mobile phones. Window Mobile OS is based in Win32 API, and designed to offer a similar services like desktop PCs. A general structure of Windows Mobile kernel is shown in Figure 5. In this operating system the kernel is based on Windows Compact Edition (CE), an operating system that is designed for embedded systems and handheld. Windows CE is modular operating system in which the developers choose their required functionality. The size of the operating system including kernel is only few hundred KB, but developers can add components such as web browser or to support for. NET Framework. The main difference among Windows mobile and Windows CE is that the group of components that are fixed and used by Microsoft so that the APIs are reliable between all Windows Mobile Phone devices. However, these APIs are not same. All mobile devices have to manage minimum set of functionalities, but the mobile phone manufactures include the additional APIs in the operating system image freely.

6.1. Concurrency Control

Windows CE came into existence by Microsoft for embedded devices and provides Windows Mobile an interesting attribute that other mobile phone operating system does not provide, in this operating system the kernel offers real time performance. This indicates that users have guaranteed upper bound on the running time of higher priority threads. In order to use this technique Win32 API has to be used because the. NET compact Framework contains a garbage collector that halts all the threads during the garbage collection. As Win32 API is based on such technologies from a period more than 25 years ago dealing with it if possible it should be avoided. In the NET Compact framework the multithreaded functionality offered by Windows Mobile is fully featured, also offers complete functionalities for a developer wish. It is not a problem to run multiple process and multiple threads in background.

Figure 5. Schematic overview of windows mobile kernel.

6.2. Memory Use

Windows Mobile OS is of 32-bit with maximum of 32 MB of virtual memory that is available for a single application. Windows Mobile 6 is based on Windows CE 5.0 in these days this is common to see the mobile phones with 128 MB or more internal memory but this 128 MB memory is not used by a single application. A large chunk of memory is used by the operating system in order to keep the applications running when the users close the applications, this feature called elegant minimize by the Microsoft. When memory is going low then these applications can be closed by the operating system. Important is that the Windows Mobile offers low level access for programmers to the operating system. The developers can access the Win32 directly by Windows Mobile. This facility maximizes the development options but on the other there are risks the developing of applications with memory leaks. The operating system objects created by this API should be cleaned up manually by the application developers. The controlled wrappers present in the NET Framework are made to make sure that the fundamental Win32 objects are correctly cleaned up. As discussed earlier Symbian OS and iPhone OS also support C/C++, but the APIs to access the operating systems features are cleaner defined and much protected from third party developers. Symbian has the ability to cleanup stack in order to secure memory leaks while Objective C objects can be kept in an auto release team that is cleaned up after a happening loop is finished. Mobile phone operating systems that limit the developers to high level programming languages running internally the virtual machine have surely no memory leak difficulties because the garbage collector takes care of this issue.

6.3. Networking

Windows Mobile offers number of APIs in order to create a network connection for mobile phone users. As discussed above that Windows Mobile allows the developers to access very low level APIs in sense everything that you can imagine is possible. To create standard sockets is not difficult and complete management over the Bluetooth and Wi-Fi connection is accessible by default in the managed. NET Compact framework this facility is not supported, but developers can add this by using freely available wrappers simply.

6.4. Security

As mentioned above that the Windows Mobile is similar to the desktop counterpart in different ways. The developers have access to different low level APIs that give full freedom to the application developers. The reverse of invent is that the implementation in security measures of the operating system are not unlimited. The applications are not sandboxed and secured from one another. The applications cannot access the process space of another process directly but with DLL injection mechanism it is possible to run code within the address space of another process. The process space protection is designed to secure the applications from programming errors in other applications but it is not enough to protect applications from malevolent applications. If a trusted process is initiated there is necessary no restrictions on what it is allowed to do something. However, it is possible that the applications which access the trusted APIs required to be signed before access is allowed but this technique depends on the implemented security plan.

7. Symbian

In the first half of 2009 most popular operating system for mobile devices was Symbian with a market share of 51 percent. However, by far Symbian is huge player on the market of mobile devices, but in last few years its market share decease rapidly more than 20 percent due to the major developments such as the release of iPhone OS and Android OS. Symbian OS has various variants also, because operating system does not contain a user interface itself. Availability of Symbian is found as Series 60 User Interface (S60), User Interface Quartz (UIQ) and Mobile oriented Application Platform of Symbian (MOAP(S)). Nokia mobile company discover the Symbian foundation in the end of first half of 2008 with the aim to unite Symbian OS, S60, UIQ and MOAP(S) in order to create one open mobile software platform, but now in this current period the platform still remain distributed [8] . It also offers a high-level of combination with communication and Personal Information Management (PIM) functionality; it can also provide many services and applications such as play back music, associated libraries, games, routing and many other applications and services in order give more features to users [9] .

The UI Framework layer is used by applications implementation and Graphical User Interface (GUI) implementation of the operating system itself (S60, UIQ, and MOAP(S)). In the above given operating system architecture second layer is application service layer to manage the application services. Generic services such as data synchronization and HTTP transport are provided by the Application Services layer. Below this the OS services layer extends the base services layer. The OS Services layer also includes features such as telephony services, task scheduler, multimedia services and network services. The lowest level of user mode services resides in the Base Services layer. The file services also resides in this layer as well as the user library in which applications need to use the interface the kernel. Kernel and hardware drivers form the lowest level layer [10] .

7.1. Concurrency Control

Symbian operating system is multithreaded like other operating system for mobile devices. This ability is also allowed to the third party developers of applications to make possible to run the processes in the background. Unlike all types of applications have access to such APIs; it is not a problem for C++ developers. Symbian OS kernel has the facility of hard real time operating system tasks but on the other hand it does not support real time scheduling for the user processes.

7.2. Memory Use

Symbian OS was designed for mobile device with limited resources. Since the out of memory errors may happen any time at the time of memory allocation, to remove these errors and make the program able to go back to a stable and acceptable stat when error occur. In order to make this acceptable Symbian OS is implemented with cleanup stack and leaves. Symbian OS has not the ability to handle exceptions like standard C++, but on the other hand it supplies its own idioms. When an exception or leave occurs, objects that are allocated in the heap would not cleanup dynamically. In order to solve these issue sources of memory leak pointers to all objects that are created should be stored on the cleanup stack. This technique allows the system to cleanup unused objects dynamically (shown in Figure 6) [10] .

Figure 6. Symbian OS architecture [10] .

7.3. Networking

Symbian OS offers limited set of services in order to connect the wireless network. It can detect for Wi-Fi networks retrieve information or data about the cellular network that is being connected. Symbian OS has also offers limited functionality of Bluetooth. It is possible in only one condition the devices that securely connected to each other for Bluetooth I/O. It means that the user input is required before communication among the paired devices. However, this is not a specific problem of Symbian OS. When a connection occurs, the developer has full control over thew transmitted data. Symbian OS sockets are similar to the BSD sockets and it is possible to specify the interface that must be used. New devices are based on Symbian OS platform in order to support open C and C++ and low level socket API is a port of this standard.

7.4. Security

Symbian OS has various features like other mobile device operating systems for the purpose of protection and privacy. The harmful threat is managed by the Symbian OS security architecture is the distribution of malicious applications. This threat is managed by requiring the program to be signed before there installation. Once they installed then access to the resources is restricted. Since application are reviewed before the risk of installing malware is minimized signed by them, but it is not good because there are number of ways for user to obtain the running unsigned applications. In this regard the Symbian OS is similar to the iPhone OS where applications that are divided using the application store are reviewed first by Apple and after Jailbreak this limitation can be circumvented. Symbian offers developers with numerous APIs in order to implement the security features. By default in Symbian OS Cryptographic, hashing and random number generating algorithm are available. In order to setup a secure connection by using SSL is also not difficult.

8. Conclusion

The discussed operating systems for mobile devices have strong and weak points. It is surely not possible to say which one of this operating system is the best. However, it is possible to identify the slightest appropriate

Table 1. Quality comparison of operating systems based on emergent features.

operating system in the list. Summary of strong and weak points of discussed operating system is given in Table 1. Unnatural restrictions are imposed by Apple with observations in order to run the background process that makes the latest version of iPhone OS and such version is not suitable for most old applications. The remaining four operating systems have no difficulty in running various applications at the same time or running the background processes, so they all score three points. At the moment Android is the only free open source operating system in this list, so it scores three points but the competition scores only two. These operating systems have different technologies to deal with the restricted memory capacity of mobile devices, but BlackBerry and Android OS score two instead of three since the development of local applications is not possible and all third party applications can run in the virtual machine. Networking is the most important attribute for applications, but approximately all operating systems have restrictions in regard of automatically connecting to Wi-Fi or Bluetooth network. Windows Mobile does not have this type of restrictions and gets three points. Android also gets three points because it has a very strong feature set in place since Android 2.0. Security is an important aspect that gets a reasonable amount of consideration in mobile operating systems. BlackBerry and Android OS both run applications in sandboxed virtual machine and hence get three points. Symbian OS has a complicated system for signing applications and Windows Mobile also has the same situation, while the system is less complicated [8] . Android and iPhone OS are nowadays leading the business market.

Acknowledgements

We are thankful to Dr. Farhan Zaidi who gives us opportunity to do research work. We are also thankful to our friends, colleagues and participants in the interviews to give their feedback.

References

  1. Wei, M., Chandran, A., Chang, H.-P., Chang, J.-H. and Nichols, C. (2009) Comprehensive Analysis of Smartphone OS Capbilities and Performance.
  2. Albazaz, D. (2012) Designing a Mini-Operating System for Mobile Phone. The International Arab Journal of Information Technology, 9, 1-2.
  3. Sharma, T.N., Beniwal, M.Kr. and Sharma, A. (2013) Comparative Study of Different Mobile Operating Systems. International Journal of Advancements in Research & Technology, 2, 1-2.
  4. Overview of the Android Architecture. http://elinux.org/Android_Architecture
  5. http://en.wikipedia.org/wiki/IPhone
  6. The Blackberry MDS Runtime Environment. http://www.rim.com/symposium/press/pdf/BlackBerry_Mobile_Data_System_4.pdf
  7. BlackBerry Java Development Environment, Fundamental Guide. http://docs.blackberry.com/zh-cn/developers/deliverables/4526/BlackBerry_Java_Development_Environment-4.7.0-US.pdf
  8. Van der Hoorn, H. (2010) A Survey of Mobile Platforms for Pervasive Computing. Master’s Thesis, University of Groningen, Groningen, 16-36.
  9. Symbian Research Report. http://mad-ip.eu/files/reports/Symbian.pdf
  10. Symbian OS Architecture. http://benz-second.blogspot.com/2012/06/symbian-os-architecture.html