Thursday, April 8, 2010

Lets go through the mobile OS....

Symbian is an operating system (OS) designed for mobile devices and smartphones,
with associated libraries, user interface, frameworks and reference implementations of common tools,
originally developed by Symbian Ltd.

In 2008, the former Symbian Software Limited was acquired by Nokia and a new independent non-profit organisation called
the Symbian Foundation was established.
Symbian OS and its associated user interfaces S60, UIQ and MOAP(S) were contributed by their owners to the foundation with
 the objective of creating the Symbian platform as a royalty-free,
open source software. The platform has been designated as the successor to Symbian OS,
following the official launch of the Symbian Foundation in April 2009.
The Symbian platform was officially made available as open source code in February 2010.[3]

Symbian features pre-emptive multitasking and memory protection, like other operating systems (especially those created for use on desktop computers).
EPOC's approach to multitasking was inspired by VMS and is based on asynchronous server-based events.

Symbian OS was created with three systems design principles in mind:

    * the integrity and security of user data is paramount,
    * user time must not be wasted, and
    * all resources are scarce.

To best follow these principles, Symbian uses a microkernel, has a request-and-callback approach to services,
and maintains separation between user interface and engine.
The OS is optimised for low-power battery-based devices and for ROM-based systems (e.g. features like XIP and re-entrancy in shared libraries).
 Applications, and the OS itself, follow an object-oriented design: Model-view-controller (MVC).

Later OS iterations diluted this approach in response to market demands,
notably with the introduction of a real-time kernel and a platform security model in versions 8 and 9.

There is a strong emphasis on conserving resources which is exemplified by Symbian-specific programming idioms such as descriptors and a cleanup stack.
There are similar techniques for conserving disk space (though the disks on Symbian devices are usually flash memory).
Furthermore, all Symbian programming is event-based, and the CPU is switched into a low power mode when applications are not directly dealing with an event.
This is achieved through a programming idiom called active objects. Similarly the Symbian approach to threads and processes is driven by reducing overheads.

The Symbian kernel (EKA2) supports sufficiently-fast real-time response to build a single-core phone around it—that is,
a phone in which a single processor core executes both the user applications and the signalling stack[5].
This is a feature which is not available in Linux[citation needed]. This has allowed Symbian EKA2 phones to become smaller, cheaper and more power efficient than their predecessors[citation needed].

No comments: