Symbian OS Layers

Symbian OS Layers
Symbian OS Layers

Symbian OS can be run on devices with different screen sizes. The majority of the features of the OS are screen size independent and also user input (touchscreen, pen, keypad, etc.) independent. All these features amount to 80% of the OS and are known as the Symbian Platform or Generic Technology (GT). Symbian is wholly responsible for these parts of the system.

The breakdown of the Symbian Platform layers is as follows:

  • Symbian Application Engines (20%) - These allow access to built in functionality such as contacts, calender information, agenda, etc. Engines concern themselves with the data only and now with how it will be presented.
  • Symbian System Layer (55%) - This layer contains the bulk of the OS APIs and provides functionality from string handling to event scheduling within an application such as telephony server, socket server, DBMS server, etc.
  • Kernel (5%) - This layer is not directly accessible from the user programs. This layer contains the kernel, device drivers, file server, etc. Ekern.exe is the kernel along with Euser.lib and Euser.dll. Device drivers maybe the logical device drivers (LDD) or the physical device drivers (PDD).

The remaining 20% of the Symbian OS is concerned with the UI design. This can be very specific to a perticular device, examples of which are shown on the slide. Either Symbian or the licensee can be responsible for this layer.

This modular approach facilitates porting between different Symbian OS device types. For a given Symbian Platform version, only the UI and the base (kernel and device driver) layers be ported.

Symbian OS Overview

The Symbian OS was designed specifically for mobile devices. It has a very small memory footprint and low power consumption. This is very important, as users do not want to recharge their phone daily and to allow to run on small devices with limited memory. Unlike other proprietary operating systems, it is an open OS, enabling third party developers to write and install applications independently from the device manufacturers.

An extensive C++ API is provided which allows access to services such as telephony and messaging, in addition to basic OS functionality. Some devices that run Symbian may not be switched off for years, therefore the OS was designed so applications could run for years without loosing the user data. Also the OS can run on more than one hardware platform, so it can be used on a variety of device types including those touch screens and those with pens or keyboards.

Symbian OS is the current name of the operating system, but when it was initially released it was known as ‘EPOC’. The name EPOC was used for some time and will still be found in class/file names and in older documentation. The name EPOC is still used to refer to the kernel.

Symbian OS is highly optimized, heavily asynchronous, pre-emptive, multitasking operating system. It was redesigned from scratch in 1994 as a 32bit OS. Most of the code is in C++. Very little code exists in C or assembly. The OS supports the client-server architecture. Symbian OS provides a class framework and a suite of organising and communicating applications.

All the system services are run from ROM directly. The user applications reside in RAM. Multi-threading and context switch are not encouraged at the user application level.

We’ll look at the various layers of the Symbian OS and the architecture of the Symbian OS in the upcoming articles.

Welcome! Before we start with the Symbian OS and Series 60 programming tutorials. Lets just try and know about the background of Symbian.

  • Who is Symbian?
  • Symbian Licensees
  • Symbian Devices

Who is Symbian?
Symbian was founded in June 1998 as an independent company, initially by Psion, Nokia and Ericsson. Motorola joined later in 1998 but no longer has a shareholding, it remains a Symbian OS licensee though. Panasonic joined in May 1999, Sony Ericsson joined in 2001, while Samsung and Siemens in 2002. Psion sold off its shares to Nokia and no longer has any stake in the company. Symbian is basically a software licensing company. The core business being to supply the advanced, open operating system, Symbian OS for data-enabled phones.

Nokia has 47.9% stake in the company. Ericsson has 15.6%. Sony Ericsson 13.1%, Panasonic 10.5%, Siemens 8.4% and Samsung 4.5%.

Symbian Licensees
In addition to the partners of the company, there are a number of other companies that license the Symbian OS for use in their own products. Some of them are Fujitsu, Sanyo, Sendo, BenQ, Mitsubishi Electric, Arima, LG Electronics, Lenovo, Sharp, etc.

Symbian Devices
Some of the devices that use Symbian OS:

  • Ericsson R380
  • Nokia 9210 Communicator
  • Nokia 7650
  • Sony Ericsson P800
  • Panasonic X700

and many more

We’ll start looking at Symbian OS and its architecture in the future articles before we start with the dirty coding part and the Series 60 part.