Sunday, April 12, 2009

Introduction of SYMBIAN OS

Mobile phones have become part and parcel of our life. Today’s mobile phones not only offer traditional voice services but also other applications like SMS, MMS, internet, video player, radio etc. All these advancements is made possible by using Symbian OS in mobiles. Just like PCs have an operating system like Windows, Symbian is the O.S for mobile phones. But unlike PC design, mobile phone put constrains on a suitable O.S. The operating system has to have a low memory footprint, and low dynamic memory usage, and efficient power management framework and real time support for communication and telephony protocols. Symbian OS is designed for the mobile phone environment .It addresses constraints of mobile phones by providing a framework to handle low memory situations, a power management, and a rich software layer implementing industry standards for communication, telephony and data rendering. Symbian OS development was the result of extensive research carried out by world’s leading mobile phone companies like Nokia, Motorola, Sony Ericssion. The first open Symbian OS phones are the Sony ericsson’s P800 smartphones, the Nokia 9200 series and the Nokia 7650. Today two versions, Symbian OS v7 and v6 has evolved and extensively used . With improved picture resolution and flexible user interfaces, today’s mobile phones are capable of replacing PDAs and even the Palmtops.


The messaging framework provides support for messaging protocols for sending and receiving text messages (SMS), enhanced messages (EMS), multimedia messages (MMS) and email messages. The framework uses polymorphic Message Type Modules (MTMs) to handle specific types of message. MTMs can be added at runtime to expand the messaging capabilities of Symbian OS phones after market. A “Send-As” API enables the creation of messages (email, SMS, EMS or MMS) straight from any other application. For example, messages containing application-specific data such as vCards can be created directly from the Contacts applications.
Main features of Messaging are:
Bearer Independent Object messaging:
Bearer Independent Object (BIO) messaging allows application to application communication of arbitrary data types between devices. BIO messaging uses an SMS watcher framework to support messages sent over-the-air to the operating system or application rather than to the end-user.
BIO message types currently supported include compact business card, vCard, vCalendar, email notification, operator logo, ring tone and settings for internet access, MMS and WAP. The framework is open, allowing third parties to add further capabilities and value at runtime.
The vCard and vCalendar BIO message file types are also supported over infrared and Bluetooth links.
Short Message Service (SMS):
SMS support consists of an SMS stack with a messaging API to send and receive SMS and which provides the following features:The SMS stack is implemented as a plug-in protocol. The GSM (03.40) SMS protocol is provided.The GSM SMS stack can be used as a bearer for the WAP protocol module.transmission and reception of GPRS SMS.7-bit SMS alphabet, 8-bit SMS alphabet and UCS2 data coding schemes are supported.Supports sending and receiving concatenated SMS messages.
Enhanced Messaging Service (EMS):
EMS support in Symbian OS is supports the following features:Mobile originated pictures – variable picture, pre-defined picture: 16 x 16, pre-defined picture:32 x 32.Mobile terminated pictures – variable pictures (1024x1 to 8x128), small pictures 16 x 16 and large pictures 32 x 32.Animations.sounds – iMelody.Formatting –text size, text style and message alignment (left, center, right).

Connect toolkit

The PC Connectivity toolkit has many features, some to offer functionality out of the box, others to ease the job of developers wanting to plug into the synching architecture:
framework architecture.
framework UI.
view plug-ins – an engine and a UI component which both plug into the framework UI.
archive application:
– lists and restores files archived using the backup facility.
task scheduler – carries out a number of regularly scheduled tasks including sync and backup.
A 'unify' facility allows a selection of tasks to be run at a single click/cradle button press.
control panel – gives the user access to all the connectivity settings from one place. Individual control panel items are applets that plug into the control panel. These are: connection, log settings, machine manager, and file types.
task drivers – they consist of an engine and property pages, which plug into the task scheduler component.
backup task driver – provides the ability to backup a connected Symbian OS phone to the PC. Backed up files can later be restored using the archives view plug-in.
framework to enable sync components to be integrated.

Kernel and user library

The kernel runs in privileged mode, owns device drivers, implements the scheduling policy, does power management and allocates memory to itself and user-mode (that is, nprivileged)processes. It runs natively on ARM cores. The kernel implements a message-passing framework for the benefit of user-side servers (such as the networking and telephony stacks and the file system). The user library is the lowest level usermode code which offers library functions to user-mode code and controlled access to the kernel. Here are the main features:
process, thread, program and memory management.
error handling and cleanup framework.
descriptors – strings of characters and buffers of binary data.
container classes – arrays and lists.
active objects, for event-driven multitasking without requiring the overheads of multithreading.
client-server architecture, for simple and efficient inter-process communication. The clientserver architecture supports both thread-relative and process-relative client resource ownership.The latter is to ease porting of code written for other platforms to Symbian OS, and delivers considerably enhanced Java performance .
hardware abstraction layer:

(HAL) presenting a consistent interface to hardware across alldevices.
a kernel-side power model, to allow fine-grained power management.
silent running mode – device can operate with screen switched off.
locale support including currency, time and date formatting.
internal and tightly-coupled RAM support.
the kernel can be extended by the use of DLLs (such as device drivers and kernel extensions)that can link dynamically against the kernel.

File server

The File server provides shared access to the filing systems, a client-side interface that hides the clientserver architecture and a framework for dynamically mounting plug-in file systems, with physical storage of files associated with each filing system. File systems and reference media drivers are provided for the following types of media:
internal RAM drive
internal NOR Flash
internal NAND Flash
MultiMediaCard (MMC)
Secure Digital (SD) memory card (including both the user and protected areas of these devices).
Main features:
file system drivers can be added when required without having to reboot
clients can register for notification of file-server events, for example, entries changing in given directory, changing disk or disk space crossing a specified threshold
interoperability with other systems, the VFAT filing system (in both FAT16 and FAT32 formats)is used for removable media
all filing systems guarantee data integrity in the face of unexpected power loss.
Standard library:
Base also contains middleware widely used across Symbian OS. Here is the main functionality:
The C standard library
A relational database access API. Two DBMS implementations are provided: a small and relatively lightweight client-side implementation and a client-server implementation for when multiple clients must have write access to a database. Databases can be manipulated either through a subset of SQL or through a Symbian OS proprietary C++ API
A stream store that defines two major abstractions – streams (an abstract interface to convert between an object's internal and external representations) and stores (an abstract interface to manipulate a network of streams). Stores allow externalizing and internalizing data structures as complex as whole application documents or databases. Several implementations are provided for both streams and stores including memory-based and permanent file stores. It is possible to define stackable streams doing pre-processing, for example encryption and decryption streams are provided.

Security In Symbian OS

The security subsystem enables data confidentiality, integrity and authentication by providing underlying support for secure communications protocols such as TLS/SSL and IPSec. It also supports the authentication of installable software using digital signatures.
Cryptography module:
The cryptography module includes the following significant components:
cryptography algorithms allowing data to be encrypted and decrypted and supporting symmetric ciphers: DES, 3DES, AES , RC2, RC2-128, RC4, RC5 and PKCS #7, and asymmetric ciphers:RSA, DSA and DH
hash functions: MD5, SHA1 and HMAC
pseudo-random number generator for generating cryptographic keys.
Cryptographic token framework:
The cryptographic token framework enables licensees to integrate support for removable hardware devices, such as WIM modules, in a flexible manner.
Certificate management module:
The certificate management module is used for authentication of other entities (e.g. third party developers, web servers) to the user of the phone, and for authentication of the user of the phone. It X.509 certificates according to the PKIX Certificate Profile (RFC 2459). This module provides the following services:
storage and retrieval of certificates using the cryptographic token framework
assignment of trust status to a certificate on an application-by-application basis
certificate chain construction and validation
verification of trust of a certificate
certificate revocation checking using the Online Certificate Status Protocol (OCSP)
application update notif ication for installed applications.
Software installation:
The software installation system provides a secure and fast installation process. The installation tool supports:
installation of C++ executables, including authentication of software components using digitalsignatures to provide a measure of confidence that applications being installed onto a Symbian OS phone are from a known reputable vendor.
installation of Java MIDP 2.0 MIDlets, including authentication of MIDlets using digital signatures.
installation of Java MIDP 1.0 MIDlets. The MIDP OTA recommended practice document is fully supported.
compression of install packages to reduce disk space and download times. The compression library is a generic shareable DLL which can be called by other applications.
different varieties of phones, allowing the installation package creator to ensure the correct software is installed onto an appropriate phone.