Symbian Mobile Platform

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.

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 of the features of Symbian are briefed below.

User interface
Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly known as Series 60). S60 was designed to be manipulated by a keyboard-like interface metaphor, such as the ~15-key augmented telephone keypad, or the mini-QWERTY keyboards. AVKON-based software is binary-compatible with Symbian versions up to and including Symbian.
Symbian includes the Qt framework, which is now the recommended user interface toolkit for new applications. Qt can also be installed on older Symbian devices.

Browser
Symbian and earlier have a native WebKit based browser; indeed, Symbian was the first mobile platform to make use of WebKit. Some older Symbian models have Opera Mobile as their default browser.

Nokia released a new browser with the release of Symbian Anna with improved speed and an improved user interface.

Multiple language support
Symbian has strong localization support enabling manufacturers and 3rd party application developers to localize their Symbian based products in order to support global distribution.

Current Symbian release (Symbian Belle) has support for 48 languages, which Nokia makes available on device in language packs (set of languages which cover the languages commonly spoken in the area where the device variant is intended to be sold). All language packs have in common English (or a locally relevant dialect of it).

Application development
Symbian uses standard C++ with Qt as the main SDK, which can be used with either Qt Creator or Carbide.c++. Qt supports the older Symbian/S60 3rd as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X.

Alternative application development can be done using Python (see Python for S60), Adobe Flash Lite or Java ME.

Symbian OS previously used a Symbian specific C++ version, along with Carbide.c++ integrated development environment (IDE), as the native application development environment.

Web Run time (WRT) is a portable application framework that allows creating widgets on the S60 Platform; it is an extension to the S60 WebKit based browser that allows launching multiple browser instances as separate JavaScript applications.

Technology domains and packages
Symbian's design is subdivided into technology domains, each of which comprises a number of software packages. Each technology domain has its own roadmap, and the Symbian Foundation has a team of technology managers who manage these technology domain roadmaps.

Every package is allocated to exactly one technology domain, based on the general functional area to which the package contributes and by which it may be influenced. By grouping related packages by themes, the Symbian Foundation hopes to encourage a strong community to form around them and to generate discussion and review.

The Symbian System Model illustrates the scope of each of the technology domains across the platform packages.

Packages are owned and maintained by a package owner, a named individual from an organization member of the Symbian Foundation, who accepts code contributions from the wider Symbian community and is responsible for package.

Symbian kernel
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.

The real-time kernel has a microkernel architecture containing only the minimum, most basic primitives and functionality, for maximum robustness, availability and responsiveness. It has been termed a nanokernel, because it needs an extended kernel to implement any other abstractions. It contains a scheduler, memory management and device drivers, with networking, telephony and file system support services in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel.

Design
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.
  • Integrity and security of user data
  • Fast Response Time
  • Efficient Deployment of Resources
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).

Operating system
The All over Model contains the following layers, from top to bottom:
  • UI Framework Layer
  • Application Services Layer - Java ME
  • OS Services Layer
  • Base Services Layer
  • Kernel Services & Hardware Interface Layer
The Base Services Layer is the lowest level reachable by user-side operations; it includes the File Server and User Library, a Plug-In Framework which manages all plug-ins, Store, Central Repository, DBMS and cryptographic services. It also includes the Text Window Server and the Text Shell: the two basic services from which a completely functional port can be created without the need for any higher layer services.

Symbian has a microkernel architecture, which means that the minimum necessary is within the kernel to maximise robustness, availability and responsiveness. It contains a scheduler, memory management and device drivers, but other services like networking, telephony and filesystem support are placed in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel. The EKA2 real-time kernel, which has been termed a nanokernel, contains only the most basic primitives and requires an extended kernel to implement any other abstractions.

Symbian is designed to emphasise compatibility with other devices, especially removable media file systems. Early development of EPOC led to adopting FAT as the internal file system, and this remains, but an object-oriented persistence model was placed over the underlying FAT to provide a POSIX-style interface and a streaming model. The internal data formats rely on using the same APIs that create the data to run all file manipulations. This has resulted in data-dependence and associated difficulties with changes and data migration

There is a large networking and communication subsystem, which has three main servers called: ETEL (EPOC telephony), ESOCK (EPOC sockets) and C32 (responsible for serial communication). Each of these has a plug-in scheme. For example, ESOCK allows different ".PRT" protocol modules to implement various networking protocol schemes. The subsystem also contains code that supports short-range communication links, such as Bluetooth, IrDA and USB.

Know More

we are Social geeks