32
What is Mobile Operating System? A mobile operating system, also known as a mobile OS, mobile software platform or a handheld operating system, is the operating system that controls a mobile device or information appliance—similar in principle to an operating system such as Windows, Mac OS X, or Linux distributions that controls a desktop computer or laptop also an operating system for mobile devices is the software platform on top of which other programs called application programs, can run on mobile handheld. However, they are currently somewhat simpler, and deal more with the wireless versions of broadband and local connectivity, mobile multimedia formats, and different input methods. Typical examples of devices running a mobile operating system are smart phones, personal digital assistants (PDAs), tablet computers and information appliances, or what are sometimes referred to as smart devices, which may also include embedded systems, or other mobile devices and wireless devices. How it is different from Operating Systems for Personal Computers? An operating system (OS) is a set of programs that manages computer hardware resources, and provides common services for application software. The operating system is the most important type of system software in a computer system. Without an operating system, a user cannot run an application program on their computer, unless the application program is self booting. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting for cost allocation of processor time, mass storage, printing, and other resources.

Credit Seminar Report

Embed Size (px)

Citation preview

Page 1: Credit Seminar Report

What is Mobile Operating System?

A mobile operating system, also known as a mobile OS, mobile software platform or a handheld operating system, is the operating system that controls a mobile device or information appliance—similar in principle to an operating system such as Windows, Mac OS X, or Linux distributions that controls a desktop computer or laptop also an operating system for mobile devices is the software platform on top of which other programs called application programs, can run on mobile handheld. However, they are currently somewhat simpler, and deal more with the wireless versions of broadband and local connectivity, mobile multimedia formats, and different input methods.

Typical examples of devices running a mobile operating system are smart phones, personal digital assistants (PDAs), tablet computers and information appliances, or what are sometimes referred to as smart devices, which may also include embedded systems, or other mobile devices and wireless devices.

How it is different from Operating Systems for Personal Computers?

An operating system (OS) is a set of programs that manages computer hardware resources, and provides common services for application software. The operating system is the most important type of system software in a computer system. Without an operating system, a user cannot run an application program on their computer, unless the application program is self booting. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting for cost allocation of processor time, mass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware, [1][2]

although the application code is usually executed directly by the hardware and will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers. Examples of popular modern operating systems include Linux, Android, iOS, Mac OS X, and Microsoft Windows

Page 2: Credit Seminar Report

Classification of Operating Systems:

The Operating systems be it operating system for Personal computer or an operating system for a mobile or any other handheld device can be classified into five major types. They are :

1. Real-time Operating Systems : 2. Multi-user vs. Single-user Operating Systems :3. Multi-tasking vs. Single-tasking Operating Systems :4. Distributed Operating Systems :5. Embedded Operating Systems :

1. Real-time Operating Systems :

A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.

2. Multi-user vs. Single-user Operating Systems :

A multi-user operating system allows multiple users to access a computer system concurrently. Time-sharing system can be classified as multi-user systems as they enable a multiple user access to a computer through the sharing of time. Single-user operating systems, as opposed to a multi-user operating system, are usable by a single user at a time. Being able to have multiple accounts on a Windows operating system does not make it a multi-user system. Rather, only the network administrator is the real user. But for a Unix-like operating system, it is possible for two users to login at a time and this capability of the OS makes it a multi-user operating system.

3. Multi-tasking vs. Single-tasking Operating Systems :

When only a single program is allowed to run at a time, the system is grouped under a single-tasking system. However, when the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-tasking can be of two types: pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. MS Windows prior to Windows 2000 used to support cooperative multitasking.

Page 3: Credit Seminar Report

4. Distributed Operating Systems :

A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other, gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.

5. Embedded Operating Systems :

Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.

Components of Mobile Operating Systems :

The components of a mobile operating system all exist in order to make the different parts of a device work together. All software from financial databases to film editors needs to go through the operating system in order to use any of the hardware, whether it be as simple as a mobile or smart phone or complex as an Internet connection. There are several components for a mobile operating system. Some of them are :

1. Kernel2. Program execution3. Interrupts4. Modes5. Memory management6. Virtual memory7. Multitasking8. Networking9. Security10. User interface

Page 4: Credit Seminar Report

1. Mobile Kernel or Microkernel :

With the aid of the firmware and device drivers, the kernel provides the most basic level of control over all of the computer's hardware devices. It manages memory access for programs in the RAM, it determines which programs get access to which hardware resources, it sets up or resets the mobile's embedded system’s operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.

In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC). If the hardware provides multiple rings or CPU modes, the microkernel is the only software executing at the most privileged level (generally referred to as supervisor or kernel mode). Traditional operating system functions, such as device drivers, protocol stacks and file systems, are removed from the microkernel to run in user space. In terms of source code size, micro kernels (as a rule of thumb) tend to be under 10,000 lines of code. MINIX3 for example has around 4,000 lines of code. kernels larger than 20,000 lines are generally not considered micro kernel.

Micro kernels developed in the 1980s as a response to changes in the computer world, and several challenges adapting existing "mono-kernels" to these new systems. New device drivers, protocol stacks, file systems and other low-level systems were being developed all the time, code that was normally located in the monolithic kernel, and thus required considerable work and careful code management to work on. Micro kernels were developed with the idea that all of these services would be implemented as user-space programs, like any other, allowing them to be worked on monolithically and started and stopped like any other program. This would not only allow these services to be more easily worked on, but also separated the kernel code to allow it to be finely tuned without worrying about unintended side effects. Moreover, it would allow entirely new operating systems to be "built up" on a common core, aiding OS research.

Micro kernels were a very hot topic in the 1980s when the first usable local area networks were being introduced. The same mechanisms that allowed the kernel to be distributed into user space also allowed the system to be distributed across network links. The first micro kernels, notably Mach, proved to have disappointing performance, but the inherent advantages appeared so great that it was a major line of research into the late 1990s. However, during this time the speed of computers grew greatly in relation to networking systems, and the disadvantages in performance came to overwhelm the advantages in development terms. Many attempts were made to adapt the existing systems to have better performance, but the overhead was always considerable and most of these efforts required the user-space programs to be moved back into the kernel. By 2000, most large-scale (Mach-like) efforts had ended, although Open Step used an adapted Mach kernel called XNU, which is now used in the OS known as Darwin, which is the open source part of Mac OS X.

Page 5: Credit Seminar Report

Although major work on micro kernels largely ended, experimenters continued development. It has since been shown that many of the performance problems of earlier designs were not a fundamental requirement of the concept, but instead due to the designer's desire to use single-purpose systems to implement as many of these services as possible. Using a more pragmatic approach to the problem, including assembly code and relying on the processor to enforce concepts normally supported in software led to a new series of micro kernels with dramatically improved performance. The historical term nano kernel has been used to distinguish modern, high-performance micro kernels from earlier implementations which still contained many system services. However, as nanokernels have all but replaced their microkernel progenitors, the term has fallen into disuse.

Micro kernels are closely related to exo kernels. They also have much in common with hypervisors, but the latter make no claim to minimality and are specialized to supporting virtual machines; indeed, the L4 microkernel frequently finds use in a hypervisor capacity.

2. Program Execution :

The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify development and execution of application programs. Executing an application program involves the creation of a process by the operating system kernel which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program which then interacts with the user and with hardware devices.

3. Interrupts :

Interrupts are central to operating systems, as they provide an efficient way for the operating system to interact with and react to its environment. The alternative — having the operating system "watch" the various sources of input for events (polling) that require action — can be found in older systems with very small stacks (50 or 60 bytes) but are unusual in modern systems with large stacks. Interrupt-based programming is directly supported by most modern CPUs. Interrupts provide a computer with a way of automatically saving local register contexts, and running specific code in response to events. Even very basic computers support hardware interrupts, and allow the programmer to specify code which may be run when that event takes place.

When an interrupt is received, the computer's hardware automatically suspends whatever program is currently running, saves its status, and runs computer code previously associated with the interrupt; this is analogous to placing a bookmark in a book in response to a phone call. In modern operating systems, interrupts are handled by the operating system's kernel. Interrupts may come from either the computer's hardware or from the running program.

Page 6: Credit Seminar Report

When a hardware device triggers an interrupt, the operating system's kernel decides how to deal with this event, generally by running some processing code. The amount of code being run depends on the priority of the interrupt (for example: a person usually responds to a smoke detector alarm before answering the phone). The processing of hardware interrupts is a task that is usually delegated to software called device driver, which may be either part of the operating system's kernel, part of another program, or both. Device drivers may then relay information to a running program by various means.

A program may also trigger an interrupt to the operating system. If a program wishes to access hardware for example, it may interrupt the operating system's kernel, which causes control to be passed back to the kernel. The kernel will then process the request. If a program wishes additional resources (or wishes to shed resources) such as memory, it will trigger an interrupt to get the kernel's attention.

4. Modes :

Modern mobiles support multiple modes of operation. Mobiles with this capability use at least two modes: protected mode and supervisor mode. The supervisor mode is used by the operating system's kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is written and erased, and communication with devices like graphics cards. Protected mode, in contrast, is used for almost everything else. Applications operate within protected mode, and can only use hardware by communicating with the kernel, which controls everything in supervisor mode. Mobiles might have other modes similar to protected mode as well, such as the virtual modes in order to emulate older processor types, such as 16-bit processors on a 32-bit one, or 32-bit processors on a 64-bit one.

When a computer first starts up, it is automatically running in supervisor mode. The first few programs to run on the computer, being the BIOS or EFI, boot loader, and the operating system have unlimited access to hardware - and this is required because, by definition, initializing a protected environment can only be done outside of one. However, when the operating system passes control to another program, it can place the CPU into protected mode.

In protected mode, programs may have access to a more limited set of the Mobile's instructions. A user program may leave protected mode only by triggering an interrupt, causing control to be passed back to the kernel. In this way the operating system can maintain exclusive control over things like access to hardware and memory.

The term "protected mode resource" generally refers to one or more Mobile registers, which contain information that the running program isn't allowed to alter. Attempts to alter these resources generally causes a switch to supervisor mode, where the operating system can deal with the illegal operation the program was attempting (for example, by killing the program).

Page 7: Credit Seminar Report

5. Memory Management :

Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already used by another program. Since programs time share, each program must have independent access to memory.

Cooperative memory management, used by many early operating systems, assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen any more, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails, it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs or viruses may purposefully alter another program's memory, or may affect the operation of the operating system itself. With cooperative memory management, it takes only one misbehaved program to crash the system.

Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging. All

Page 8: Credit Seminar Report

methods require some level of hardware support (such as the 80286 MMU), which doesn't exist in all computers.

In both segmentation and paging, certain protected mode registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses will trigger an interrupt which will cause the mobile to re-enter supervisor mode, placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the kernel will generally resort to terminating the offending program, and will report the error.

Windows 3.1-Me had some level of memory protection, but programs could easily circumvent the need to use it. A general protection fault would be produced, indicating a segmentation violation had occurred; however, the system would often crash anyway.

6. Virtual Memory :

The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks. If a program tries to access memory that isn't in its current range of accessible memory, but nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault.

When the kernel detects a page fault it will generally adjust the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application's memory is stored, or even whether or not it has actually been allocated yet. In modern operating systems, memory which is accessed less frequently can be temporarily stored on disk or other media to make that space available for use by other programs. This is called swapping, as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand.

Page 9: Credit Seminar Report

7. Multitasking :

Multitasking refers to the running of multiple independent computer programs on the same computer; giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer's time to execute.

An operating system kernel contains a piece of software called a scheduler which determines how much time each program will spend executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the mobile and memory. Later, control is returned to the kernel through some

Page 10: Credit Seminar Report

mechanism, so that another program may be allowed to use the mobile. This so-called passing of control between the kernel and applications is called a context switch.

An early model which governed the allocation of time to programs was called cooperative multitasking. In this model, when control is passed to a program by the kernel, it may execute for as long as it wants before explicitly returning control to the kernel. This means that a malicious or malfunctioning program may not only prevent any other programs from using the mobile, but it can hang the entire system if it enters an infinite loop. Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well.

The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the mobile. This implies that all programs must be limited in how much time they are allowed to spend on the mobile without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above sections on Interrupts and Dual Mode Operation.)

8. Networking:

Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer's operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer's graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer's command line interface.

Client/server networking allows a program on a computer, called a client, to connect via a network to another computer, called a server. Servers offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server's network address. Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel.

Many operating systems support one or more vendor-specific or open networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and Microsoft-specific protocols (SMB) on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access. Protocols like ESound, or esd can be easily extended over the network to provide sound from local applications, on a remote system's sound hardware.

Page 11: Credit Seminar Report

9. Security:

A mobile being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.

The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between "privileged" and "non-privileged", systems commonly have a form of requester identity, such as a user name. To establish identity there may be a process of authentication. Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all (such as reading files over a network share). Also covered by the concept of requester identity is authorization; the particular services and resources accessible by the requester once logged into a system are tied to either the requester's user account or to the variously configured groups of users to which the requester belongs.

In addition to the allow/disallow model of security, a system with a high level of security will also offer auditing options. These would allow tracking of requests for access to resources (such as, "who has been reading this file?"). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.

External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. External requests are often passed through device drivers to the operating system's kernel, where they can be passed onto applications, or carried out directly. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select computer systems being considered for the processing, storage and retrieval of sensitive or classified information.

Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security. At the front line of security are hardware devices known as firewalls or intrusion detection/prevention systems. At the operating system level, there are a number of software firewalls available, as well as intrusion detection/prevention systems. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.

Page 12: Credit Seminar Report

An alternative strategy, and the only sandbox strategy available in systems that do not meet the Popek and Goldberg virtualization requirements, is the operating system not running user programs as native code, but instead either emulates a processor or provides a host for a p-code based system such as Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read. Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing.

10. User Interface :

Every mobile that is to be operated by an individual requires a user interface. The user interface is not actually a part of the operating system—it generally runs in a separate program usually referred to as a shell, but is essential if human interaction is to be supported. The user interface requests services from the operating system that will acquire data from input hardware devices, such as a keyboard, mouse or credit card reader, and requests operating system services to display prompts, status messages and such on output hardware devices, such as a video monitor or printer. The two most common forms of a user interface have historically been the command-line interface, where computer commands are typed out line-by-line, and the graphical user interface, where a visual environment (most commonly with windows, buttons, icons and a mouse pointer) is present.

History of Mobile Operating System :

The increasing importance of mobile devices has triggered intense competition amongst software giants such as Google, Microsoft, and Apple, as well as mobile industry leaders Nokia, Research In Motion (RIM), and Palm, in a bid to capture the largest market share preemptively.

With the release of the iPhone in 2007, Apple significantly disrupted the mobile industry and effectively ushered in a new era of mobile operating systems for smart phones and other devices that focus on user experience and rely on finger-operated touch-based interaction. In November 2007, Google formed the Open Handset Alliance with 79 other hardware, software, and telecom companies to make inroads into the smart phone market through its new Android operating system. Though its reception was mainly positive from the media and public, the release of Android created a rift between Apple and Google, eventually leading to the resignation of Google's ex-CEO, Eric Schmidt, from Apple's board of directors.

Since the launch of both Apple's iOS and Google's Android, the smart phone market has exploded in popularity and in May 2010 accounted for more than 17.3% of all mobile phones sold. This has led to greater consumer awareness of the various mobile operating systems, with telecoms and manufacturers regularly advertising the advantages of their OS. As of January 2011, Google holds 33.3% of the smart phone market worldwide, demonstrating amazing growth for Android which held only 4.7% a year earlier. Nokia, Apple, RIM, and Microsoft hold 31%, 16.2%, 14.6%, and 3.1% respectively.

Page 13: Credit Seminar Report

Popular Operating Systems :

Operating systems that can be found on smart phones, mobile OS-powered tablet computers, and other mobile devices include Google's Android, Apple's iOS, RIM's BlackBerry OS, Microsoft's Windows Phone, Linux, HP's web OS, Samsung's Bada, and Nokia's MeeGo among many others. Android, Bada, web OS and Maemo are built on top of Linux, and iOS is derived from the BSD and NeXTSTEP operating systems, which are all related to Unix.

1. Android :

Android is an operating system for mobile devices such as smart phones and tablet computers. It is developed by the Open Handset Alliance led by Google. Google purchased the initial developer of the software, Android Inc., in 2005. The unveiling of the Android distribution on November 5, 2007 was announced with the founding of the Open Handset Alliance, a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software license. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.

Android consists of a kernel based on the Linux kernel, with middleware, librariesand APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code. Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. Developers write primarily in a customized version of Java. There are currently more than 520,000 apps available for Android. Apps can be downloaded from third-party sites or through online stores such as Android Market, the app store run by Google. Android was listed as the best-selling smart phone platform worldwide in Q4 2010 by Canalys.

Android was developed by a small startup company that was purchased by Google Inc., and Google continues to update the software. Android is an open source, Linux-derived OS backed by Google, along with major hardware and software developers (such as Intel, HTC, ARM, Samsung, Motorola and eBay, to name a few), that form the Open Handset Alliance.[7]

Released on November 5th 2007, the OS received praise from a number of developers upon its introduction.[8] Android releases prior to 2.0 (1.0, 1.5, 1.6) were used exclusively on mobile phones. Most Android phones, and some Android tablets, now use a 2.x release. Android 3.0 was a tablet-oriented release and does not officially run on mobile phones. The current Android versions are 2.3.x for mobile phones and 3.2 for tablets. Android releases are nicknamed after sweets or dessert items like Cupcake (1.5), Frozen Yogurt (2.2), or Honeycomb (3.0). Most major mobile service providers carry an Android device. Since the HTC Dream was introduced, there has been an explosion in the number of devices that carry Android OS. From Q2 of 2009 to the second quarter of 2010, Android's worldwide market share rose 850% from 1.8% to 17.2%.

Page 14: Credit Seminar Report

2. BlackBerry:

BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smart phone handheld devices. The operating system provides multitasking and supports specialized input devices that have been adopted by RIM for use in its handhelds, particularly the track wheel, trackball, and most recently, the track pad and touch screen. The BlackBerry platform is perhaps best known for its native support for corporate email, through MIDP 1.0 and, more recently, a subset of MIDP 2.0, which allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used with BlackBerry Enterprise Server. The operating system also supports WAP 1.2.

Updates to the operating system may be automatically available from wireless carriers that support the BlackBerry over the air software loading (OTASL) service. Third-party developers can write software using the available BlackBerry API classes, although applications that make use of certain functionality must be digitally signed. A June 2011 research indicates that approximately 45% of mobile developers were using the platform at the time of publication.

This OS is focused on easy operation and was originally designed for business. Recently it has seen a surge in third-party applications and has been improved to offer full multimedia support. Currently Blackberry's App World has over 15,000 downloadable applications. RIM's future strategy will focus on the newly acquired QNX, having already launched the BlackBerry Play Book tablet running a version of QNX and expecting the first QNX smart phones in early 2012.

3. iOS :

iOS (known as iPhone OS before June 2010) is Apple's mobile operating system. Originally developed for the iPhone, it has since been extended to support other Apple, Inc. devices such as the iPod touch, iPad and Apple TV. Apple, Inc. does not license iOS for installation on third-party hardware. As of May 31, 2011, Apple, Inc.'s App Store contains more than 500,000 iOS applications, which have collectively been downloaded more than 15 billion times. In the last quarter of 2010, it had a 26% share of the smart phone operating system market in terms of units sold, behind Google's Android and Nokia's Symbian. As of May 2010, it accounted for 59% of mobile web consumption—including both the iPod Touch and the iPad—in North America.

The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multitouch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode). iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature. In iOS, there are

Page 15: Credit Seminar Report

four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The current version of the operating system (iOS 4.3.5) uses roughly 650 megabytes of the device's storage, varying for each model.

The Apple iPhone, iPod Touch, iPad, and second-generation Apple TV all use an operating system called iOS, which is derived from Mac OS X. Native third party applications were not officially supported until the release of iOS 2.0 on July 11th 2008. Before this, "jailbreaking" allowed third party applications to be installed, and this method is still available. Currently all iOS devices are developed by Apple and manufactured by Foxconn or another of Apple's partners.

4. Symbian :

Symbian is a mobile operating system (OS) and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user interface component based on S60 5th Edition. The latest version, Symbian^3, was officially released in Q4 2010, first used in the Nokia N8. In May 2011 an update, Symbian Anna, was officially announced, followed by Symbian Belle in August 2011. Symbian OS was originally developed by Symbian Ltd. It is a descendant of Psion's EPOC and runs exclusively on ARM processors, although an unreleased x86 port existed.

Some estimates indicate that the cumulative number of mobile devices shipped with the Symbian OS up to the end of Q2 2010 is 385 million. By April 5, 2011, Nokia released Symbian under a new license and converted to a proprietary shared-source model as opposed to an open source project. On February 11, 2011, Nokia announced that it would migrate away from Symbian to Windows Phone 7. In June 22, 2011 Nokia has made an agreement with Accenture as an outsourcing program. Accenture will provide Symbian based software development and support services to Nokia through 2016 and about 2,800 Nokia employees will be Accenture employees at early October 2011. The transfer was completed on September 30, 2011.

Symbian has the largest share in most markets worldwide, but lags behind other companies in the relatively small but highly visible North American market. This matches the success of Nokia in all markets except Japan. In Japan Symbian is strong due to a relationship with NTT DoCoMo, with only one of the 44 Symbian handsets released in Japan coming from Nokia. It has been used by many major handset manufacturers, including BenQ, Fujitsu, LG, Mitsubishi, Motorola, Nokia, Samsung, Sharp, and Sony Ericsson. Current Symbian-based devices are being made by Fujitsu, Nokia, Samsung, Sharp, and Sony Ericsson. Prior to 2009 Symbian supported multiple user interfaces, i.e. UIQ from UIQ Technologies, S60 from Nokia, and MOAP from NTT DOCOMO. As part of the formation of the Symbian OS in 2009 these three UIs were merged into a single OS which is now fully open source. Recently, though shipments of Symbian devices have increased, the operating system's worldwide market share has declined from over 50% to just over 40% from 2009 to 2010. Nokia handed the development of Symbian to Accenture, which will continue to support the OS until 2016.

Page 16: Credit Seminar Report

5. Windows Phone:

Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market. It was launched in Europe, Singapore, Australia, New Zealand, the US, Canada, Mexico, and the PAL region in the second half of 2010, and Asia in early 2011. With Windows Phone, Microsoft offers a new user interface with its design language named Metro, integrates the operating system with third party and other Microsoft services, and controls the hardware it runs on.

On February 15th, 2010, Microsoft unveiled its next-generation mobile OS, Windows Phone 7. The new mobile OS includes a completely new over-hauled UI inspired by Microsoft's "Metro Design Language". It includes full integration of Microsoft services such as Windows Live, Zune, Xbox Live and Bing, but also integrates with many other non-Microsoft services such as Facebook and Google accounts. The new software platform has received some positive reception from the technology press.

Other software platforms :

1. GridOS from Fusion Garage

GridOS was built using open source code from the Android kernel. It is used as the operating system of the Grid 4 mobile phone and Grid 10 tablet, which are due to start shipping September 15th 2011.

2 .QNX from RIM (closed source, proprietary)

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by BlackBerry-producer Research In Motion.

3 .SHR (community-driven)

SHR is a GNU/Linux based operating system for smartphones and similar mobile devices. It integrates various Free and Open Source Software projects into a versatile platform - flexible enough to run on a vast selection of mobile hardware such as the Openmoko Neo Freerunner, Nokia N900, Palm Pre and variants, T-Mobile G1, HTC HD2, iPhone 3Gs and more. The SHR build system is based on OpenEmbedded - well known from the Yocto project. For telephony, networking, etc. freesmartphone.org framework is used. On top of that an easy to use graphical interface centered around Enlightenment libraries is used to provide phone calls, messaging and pim. A growing amount of available applications offers SHR users with everything expected on a smartphone. But also numerous classical programs well known from other Linux distros can be made available easily.

Page 17: Credit Seminar Report

SHR is 100% community driven and based on Free and Open Source Software. This empowers everybody to realize their innovations or add support for new hardware - without needing to ask some CEO or strategy manager first.

4 .MeeGo from non-profit organization The Linux Foundation (open source, GPL)

At the 2010 Mobile World Congress in Barcelona, Nokia and Intel both unveiled 'MeeGo' a brand new mobile operating system which would combine the best of Moblin and the best of Maemo to create a truly open-sourced experience for users across all devices. As of 2011, Nokia has announced that it will no longer be pursuing MeeGo and will instead adopt Windows Phone 7 as its primary mobile OS. Nokia announced the Nokia N9 on June 21, 2011 at the Nokia Connection event in Singapore. The phone is presumed to become available to the public in September 2011. LG announced its support for the platform.

5.bada from Samsung Electronics (closed source, proprietary)

This is a mobile operating system being developed by Samsung Electronics. Samsung claims that bada will rapidly replace its proprietary feature phone platform, converting feature phones to smartphones.The name 'bada' is derived from 바다, the Korean word for ocean or sea. The first device to run bada is called 'Wave' and was unveiled to the public at Mobile World Congress 2010. The Wave is a fully touchscreen phone running the new mobile operating system. With the phone, Samsung also released an app store, called Samsung Apps, to the public. It has close to 3000 mobile applications.

Samsung has said that they don't see Bada as a smartphone operating system, but as an OS with a kernel configurable architecture, which allows the use of either a proprietary real-time operating system, or the Linux kernel. Though Samsung plans to install bada on many phones, the company still has a large lineup of Android phones.

6. Linux based operating system (open source, GPL)

Linux is strongest in China where it is used by Motorola, and in Japan, used by DoCoMo. Rather than being an OS in its own right, Linux is used as a basis for a number of different operating systems developed by several vendors, including Android, GridOS, B2G, LiMo, Maemo, MeeGo, Openmoko and Qt Extended, which are mostly incompatible. PalmSource (now Access) is moving towards an interface running on Linux.[ Another software platform based on Linux is being developed by Motorola, NEC, NTT DoCoMo, Panasonic, Samsung, and Vodafone.

7. Brew from Qualcomm

Brew is used by a some mobile phone manufacturers and mobile networks, however most often the end-user does not know this since mobile phones running Brew most often lack any Brew branding. Brew runs in the background with the custom "skins" of the mobile phone

Page 18: Credit Seminar Report

manufacturer or operator on-top. Brew is used by Sprint Nextel, metroPCS, U.S. Cellular and Verizon in the US and by the Three network in much of Europe, the UK and Australia on many mobile phones produced especially for their network. Manufacturers such as Huawei, INQ Mobile, Amoi, and Samsung Mobile amongst others use Brew in some of their mobile phones and it is featured in Three UK phones such as the 3 Skypephone, INQ1 and Huawei u7510 (3 Touch). Two of HTC's mobile phones use Brew's successor Brew MP.

8. LiMo 4 from LiMo Foundation

LiMo Foundation launched LiMo 4 on 14 february 2011, the latest release of the LiMo Platform. LiMo 4 delivers complete middleware and base application functionality, including a flexible user interface, extended widget libraries, 3D window effects, advanced multimedia, social networking and location based service frameworks, sensor frameworks, multi-tasking and multi-touch capabilities. In addition, support for scalable screen resolution and consistent APIs means that the platform can deliver a consistent user experience across a broad range of device types and form factors.

Historical software platforms

1. Maemo from Nokia (open source, GPL)

Maemo is a software platform developed by Nokia for smartphones and Internet tablets. It is based on the Debian operating system. Maemo is mostly based on open source code, and has been developed by Maemo Devices within Nokia in collaboration with many open source projects such as the Linux kernel, Debian and GNOME. Maemo is based on Debian GNU/Linux and draws much of its GUI, frameworks and libraries from the GNOME project. It uses the Matchbox window manager and the GTK-based Hildon as its GUI and application framework.

2. Windows Mobile from Microsoft (closed source, proprietary)

The Windows CE operating system and Windows Mobile middleware are widely spread in Asia. The two improved variants of this operating system, Windows Mobile 6 Professional (for touch screen devices) and Windows Mobile 6 Standard, were unveiled in February 2007. It has been criticized for having a user interface which is not optimized for touch input by fingers; instead, it is more usable with a stylus. However, unlike iPhone OS, it does support both touch screen and physical keyboard configurations.

Windows Mobile's market share has sharply declined in recent years to just 5% in Q2 of 2010. Microsoft is phasing out the Windows Mobile OS to specialized markets and is instead focusing on it's new operating system and software platform, Windows Phone.

Page 19: Credit Seminar Report

3. Palm OS/Garnet OS from Access Co. (closed source, proprietary)

PlamOS was introduced by Palm in January 2009 as the successor to Palm OS with Web 2.0 technologies, open architecture, and multitasking capabilities.

Future software platforms

1. Boot 2 Gecko from non-profit organization Mozilla Foundation (open source, GPL)

According to Ars Technica, "Mozilla says that B2G is motivated by a desire to demonstrate that the standards-based open Web has the potential to be a competitive alternative to the existing single-vendor application development stacks offered by the dominant mobile operating systems."

2 . Aliyun OS from Alibaba/AliCloud (cloud based)

AliCloud's operating system revolves around the idea of bringing cloud functionality to the mobile platform. According to the company, Aliyun will feature cloud-based e-mail, Web search, weather updates, and GPS navigation tools. In addition, the operating system will synchronize and store call data, text messages, and photos in the cloud for access across other devices, including PCs. Alibaba says it will offer customers 100GB of storage at launch. the operating system would allow users to access applications from the Web, rather than download apps to their devices.

3 .Tizen from non-profit organization The Linux Foundation (open source, GPL)

Tizen is an open source project hosted by the Linux Foundation, with Intel and Samsung leading its development steering group, and support from the LiMo Foundation. According to Intel, Tizen “combines the best of LiMo and MeeGo." HTML5 apps will be emphasized for the new OS, with the MeeGo project encouraging its members to transition to Tizen, stating that the "future belongs to HTML5-based applications, outside of a relatively small percentage of apps, and we are firmly convinced that our investment needs to shift toward HTML5." Tizen will be targeted at a variety of platforms such as handsets, tablets, smart TVs and in-vehicle entertainment. The initial release of Tizen is targeted for Q1 2012, with the first devices using the OS planned to reach the market in mid 2012.

4 .Meltemi from Nokia (open source, GPL)

Meltemi is an open source project hosted by Nokia

Page 21: Credit Seminar Report

Table showing most of the current mobile operating systems for smart phones, PDAs and net books in

2010

Page 22: Credit Seminar Report

Paradigm Shift between Symbian and Android in 2010 to 2011 Q

Who is Gartner?

Gartner, Inc. (NYSE: IT) is an information technology research and advisory firm headquartered in Stamford, Connecticut, United States. It was known as Gartner Group until 2001. Gartner is an information technology research and advisory company providing technology related insight. Research provided by Gartner is targeted at CIOs and senior IT leaders in industries that include government agencies, high-tech and telecom enterprises, professional services firms, and technology investors. Gartner clients include large corporations, government agencies, technology companies and the investment community. The company consists of Research, Executive Programs, Consulting and Events. Founded in 1979, Gartner has over 4,300 employees, including 1,200 in R&D. Gartner uses hype cycles and Magic Quadrants for visualization of its market analysis results.

Market Projection :

Mobile platforms are in the nascent stage and any projection regarding market growth is hard to make at the present time. However, a clear trend is the surging growth of mobile operating systems which are developed for smart devices, rather than for feature phones. As of February 2011, Nokia has announced a partnership with Microsoft which effectively ends the development of Symbian OS, the most popular feature phone OS, by the end of 2011 in favor of Windows Phone. It is noteworthy that Intel is taking the initiative to focus on portable devices other than mobile phones. They are Mobile Internet Devices (MID) and Ultra-Mobile PC (UMPC).Meantime, Palm abandoned its plan to develop Foleo, which was to be a companion device for a smartphone.