Institute of Technology and Future
Management Trends
     A Technical Seminar Report
                 On
   Symbian Mobile Operating System
Punjab Technical University in Partial Fulfillment of the Requirement for the
          Degree of Bachelor in Mobile Computing And internet
Submitted By:                                        Submitted To:
Chandan Boro                                         Sneh Prabha (HOD)
Roll no. 1523260
Course-BMCI
Semester-6th
pg. 1
                          CERTIFICATE
        This is to certify that the seminar work entitled ‘Symbian
mobile operating System’ is a bonafide work being Chandan
Boro of BMCI branch.
         This seminar report is submitted in partial fulfillment for
the requirement of the B.MCI degree under I.K.Gujral Punjab
Technical University, Jalandhar
pg. 2
                                 ABSTRACT
        This document provides information about the Symbian operating system, which
is one of the mobile operating systems. It provides the overview of what is the Symbian
operating system? What are the characteristics of Symbian OS? Why we have to use
this mobile operating system? What all Symbian base Cell-Phones can do? Symbian
OS Architecture & Working Flow, Different Mobiles Supports for Symbian.
        Symbian is an operating system (OS) targeted at mobile phones that offers a
high-level of integration with communication and personal information management
(PIM) functionality. Symbian OS combines middleware with wireless
communications through an integrated mailbox and the integration of Java and PIM
functionality (agenda and contacts). The Symbian OS is open for third-party
development by independent software vendors, enterprise IT departments, network
operators and Symbian OS licensees.
pg. 3
                         ACKNOWLEDGEMENT
      I express my sincere thanks to Sneh Prabha (Head of the Department,),
Shifali Sharma (Staff incharge) For their kind co-operation for presenting the
seminar.
        I also extend my sincere thanks to all other members of the faculty of
Bchelor in Mobile Computing and Internet and my friends for their
cooperation and encouragement.
                                                                 Chandan Boro
pg. 4
                                CONTENT
                                       Types                     Pages
1. Introduction                                            7
2. Mobile Phone Core                                       8-9
Platform
3. Hardware Access                                         10-11
4. Key features of Symbian                                 12-14
5. Telephony                 5.1. GSM/EDGE Telephony        15-18
                             5.1.1. GSM
                             5.1.2. GPRS
                             5.1.3. EDGE
                             5.2. CDMA Telephony
                             5.2.1. CDMA (IS-95)
                             5.2.2. cdma2000 1x
 6. Communication            6.1. Networking                19-20
infrastructure               6.2. HTTP transport framework
                             6.2.1. HTTP client stack
                             6.3. WAP stack
7. Messaging                 7.1. Bearer Independent Object 21-23
                             Messaging
                             7.2. Short Message Service
                             (SMS)
                             7.3. Enhanced Messaging
                             Service (EMS)
                             7.4. Multimedia Messaging
                             Service (MMS)
                             7.5. Email
                             7.6. Fax
8. MULTIMEDIA FRAMEWORK                                    24-25
9. Applications engines                                    26
10. Application framework    10.1. Graphical User          27-29
                             Interface (GUI) framework
                             10.2. Application support
                             services
                             10.3. Internationalization
                             support
                             10.4. Various text and
  pg. 5
                      graphical utilities
11.Pan Connectivity                                   30
12. Base              12.1. Kernel and user library   31-33
                      12.2. Device drivers
                      12.3. File server
                      12.4. Standard library
13. Security          13.1. Cryptography module       34-35
                      13.2. Cryptography token
                      framework
                      13.3. Certificate management
                      module
                      13.4. Software installation
14. Conclusion                                        36
15. Glossary                                          37-38
16. References                                        39
  pg. 6
                            1 INTRODUCTION
Symbian OS is the operating system licensed by the world's leading
mobile phone manufacturers. Symbian OS is designed for the specific
requirements of open, data-enabled 2G, 2.5G and 3G mobile phones. Symbian
OS is already available in the Ericsson R380, Sony-Ericsson P800, the Nokia
9200 Communicator series, Nokia 7650 etc…
Symbian OS is characterised by:
· Integrated multimode mobile telephony – Symbian OS integrates the
power of computing with mobile telephony, bringing advanced data services to
the mass market.
· Open application environment – Symbian OS enables mobile phones to
be a platform for deployment of applications and services (programs and content)
developed in a wide range of languages and content formats.
· Open standards and interoperability – With a flexible and modular
implementation, Symbian OS provides a core set of application programming
interfaces (APIs) and technologies that is shared by all Symbian OS phones. Key
industry standards are supported.
· Multi-tasking – Symbian OS is based on a micro kernel architecture and
implements full multi-tasking and threading. System services such as telephony,
networking middleware and application engines all run in their own processes.
Fully Object-oriented and component based – The operating system has
been designed from the ground up with mobile devices in mind, using advanced
OO techniques, leading to a flexible component based architecture.
Flexible user interface design – By enabling flexible graphical user
interface design on Symbian OS, Symbian is fostering innovation and is able to
offer choice to manufacturers, carriers, enterprises and end-users. Using the
same core operating system in different designs also eases application porting
for third party developers.
pg. 7
                 2. MOBILE PHONE CORE PLATFORM
       Symbian OS is a 32-bit, little-endian operating system. It has been
ported to many flavors of ARM architecture chips with V4 instruction set or
higher.
       Further requirements of Symbian OS are for the CPU to have an
integrated memory management unit (MMU) and a cache, to operate in various
privileged access modes, and to handle interrupts and exceptions. The CPU,
MMU and cache along with timers and hardware drivers, all reside on the
system-on-chip.
       These SoCs are often commercially available and are sometimes custom
built byhandset manufactures. Symbian OS has been ported to many ARM cored
system-on-chips.These include the PrimeXSys platform from ARM, the
StrongARM and XScale architectures from Intel, the OMAP platform from Texas
Instruments and the Dragonball platform from Motorola.
Figure 1: Mobile phone hardware can be divided into three logical layers: the CPU core,
the SoC and the PCB. Symbian OS also conforms to this layering. This enables easy
porting of Symbian OS as the code for particular CPU core or SoC can be reused in many
products.
pg. 8
      The MMU is used for several purposes. It protects process data from
access by other processes, enforces protection of application and kernel code,
and isolates the hardware from application code. The MMU is a crucial
component in the design of the protected mode system, which enhances both the
security and stability of the platform.
       A standard two-level page tabled MMU allows small 4 KB pages for
efficient memory usage, while fast re-mapping speeds can be achieved with
large first-level pages of 1 MB. Both data and instruction caches are required to
produce acceptable performance. On-chip timers provide the real-time clock for
the system tick timer, and millisecond scale timers are needed for use with
hardware drivers.
       While some memory will be available on the chip most will be provided
off-chip. This off-chip memory has three major functions: storage of the Symbian
OS image; persistence of user data in a file system; and storage of processes'
data at runtime. Speed of memory access, cost of the memory chips and
persistence of the data must be considered when choosing the memory for each
of these three functions.
pg. 9
                         3. HARDWARE ACCESS
        The Symbian OS kernel is a compact pre-emptive multitasking
operating system with very little dependence on peripherals. The core kernel
executable - of less than 200 KB - fully supports the multi-threaded operating
system. Peripheral hardware integration is added to the kernel in several ways.
Hardware support is usually implemented in separate DLLs associated with
particular hardware to allow the easy insertion and removal of hardware and to
facilitate code reuse.
      The MMU is configured so that all hardware registers can only be
accessed in privileged mode. The kernel always executes in privileged mode and
hence has access to all the hardware registers. Applications interface to kernel
services through an API provided by the User library.
       The kernel library includes support for all peripheral hardware that is
resident on the chip (e.g., the ASIC or SoC) and that is essential to the operating
system. The peripheral hardware includes such things as timers, DMA engines,
interrupt controllers and UART serial ports. The kernel library is customized for a
particular chip. Applications are not permitted to access peripheral hardware
directly. Instead applications must link to the User library whose functions may
invoke peripheral control through the kernel.
       Peripherals associated with user input can be packaged as a separate
DLL, called a kernel extension. User input simply provides events that are
consumed by the kernel. Different kernel extensions can be written for keyboard,
keypad, digitizer, and navigation button and wheels. The appropriate kernel
extensions are added into the image, where the kernel detects their presence at
boot time and initializes them. The kernel itself has no dependency on the
extensions, and no kernel extension functionality is accessible to applications.
pg. 10
Figure 2: All access to hardware occurs from, or through the kernel. There are
several software frameworks that support hardware access, direct kernel access for
vital hardware, kernel extensions for hardware associated with user input, and
device drivers for further peripheral hardware exposed to applications and server.
        Device drivers expose an API to applications to allow control of
Hardware that is not essential to running the operating system. Device drivers
can be loaded and unloaded at anytime. A device driver consists of two parts: a
library providing the device's API to which applications can link; and one or two
libraries, running in privileged mode, kernel-side, to access the hardware.
pg. 11
                4. KEY FEATURES OF SYMBIAN OS
      Symbian OS provides a rich core of application programming interfaces
that are common to all Symbian OS phones. Key features of Symbian OS are:
Rich suite of application engines – the suite includes engines for
contacts, schedule, messaging, browsing, utility and system control; OBEX for
exchanging objects such as appointments (using the industry standard
vCalendar) and business cards (vCard); integrated APIs for data management,
text, clipboard and graphics.
Browsing – a WAP stack is provided with support for WAP 1.2.1 for mobile
Browsing.
Messaging – multimedia messaging (MMS), enhanced messaging (EMS)
and SMS; internet mail using POP3, IMAP4, SMTP and MHTML; attachments;
fax.
Multimedia – audio and video support for recording, playback and
streaming; image conversion.
Graphics – direct access to screen and keyboard for high performance;
graphics accelerator API.
pg. 12
Communications protocols – wide-area networking stacks including
TCP/IP (dual mode IPv4/v6) and WAP, personal area networking support include
infrared (IrDA), Bluetooth and USB; support is also provided for multihoming
capabilities and link layer Quality-of-Service (QoS) on GPRS/UMTS networks.
Mobile telephony – Symbian OS v7.0s is ready for the 3G market with
support for GSM circuit switched voice and data (CSD and EDGE ECSD) and
packet-based data (GPRS and EDGE EGPRS); CDMA circuit switched voice,
data and packet-based data (IS-95, cdma2000 1x, and WCDMA); SIM, RUIM
and UICC Toolkit; Other standards can be implemented by licensees through
extensible APIs of the telephony subsystem.
International support – conforms to the Unicode Standard version 3.0
Data synchronization – over-the-air (OTA) synchronization support using
SyncML; PC-based synchronization over serial, Bluetooth, Infrared and USB; a
PC Connectivity framework providing the ability to transfer files and synchronize
PIM data
Security – full encryption and certificate management, secure protocols
(HTTPS, WTLS and SSL and TLS), WIM framework and certificate-based
application installation.
Developing for Symbian OS – content development options include: C++,
Java (J2ME) MIDP 2.0 and PersonalJava 1.1.1a (with JavaPhone 1.0 option),
and WAP; tools are available for building C++ and Java applications and ROMs
with support for on-target debugging
User Inputs – generic input mechanism supporting full keyboard, 0-9*#
(numeric mobile phone keypad), voice, handwriting recognition and predictive
text input.
New in Symbian OS v7.0s
Symbian OS v7.0s provides new functionality providing a fit-for-purpose
platform for the 3G market and enabling the OS for 3GPP compliance, enabling
the delivery of 3G services.
The major new features of Symbian OS v7.0s are:
lightweight multi-threaded multimedia framework
support for W-CDMA
pg. 13
Java MIDP 2.0, Bluetooth 1.1 and Wireless Messaging 1.0
profiles
support for multiple primary/secondary PDP contexts
support for bi-directional text (Thai, Arabic and Hebrew).
pg. 14
                                5. TELEPHONY
      The Telephony subsystem provides a multimode API to its clients. The
abstract cellular networks include GSM, GPRS, EDGE, CDMA (IS-95) and
cdma2000 1x (Release A). The multimode telephony abstraction is key in
Symbian OS to providing integration with the rest of the operating system to
enable creation of advanced data services.
Functionality common to all networks includes:
phone and network information: retrieve signal and battery
strengths, provide access to the network names detected by the phone,
information about the current network, receive notifications when there
are network registration changes and retrieve the phone identity
information
phonebook: read, write, search and delete access to the
phonebook storage areas of the phone and SIM (GSM 11.11) or R-UIM
(cdma2000 1x)
both one-box and two-box configurations are supported
phonebook synchronizer: mechanism to synchronize phonebook
entries stored on a SIM or R-UIM card to the contact database so that
clients can access all contact data via the contacts model API.
5.1. GSM/EDGE telephony
Support for GSM, GPRS and EDGE conforms to the 3GPP GSM Phase
2+ (releases R97/98).
5.1.1 GSM
      The GSM telephony framework provides an abstract telephony interface
for GSM voice, data and fax, and for landline modems for data and fax as well as
phone number resolution and SIM Application Toolkit. Main features are:
voice calls: initiate, terminate and answer voice calls
circuit-switched data calls: initiate, terminate and answer data
calls including HSCSD. Pass the control of serial port to communication
protocols to stream data.
pg. 15
the abstraction supports a wide variety of ETSI GSM phase 2+
Functionality
supplementary services supported include: Alternative Line
Service (ALS), Alternating Call Services (between voice and data, and
voice and fax), retrieve NITZ time information, call forwarding, call
waiting, call barring, Called/Calling Party Identity Presentation (CLIP) and
Restriction (CLIR), setting up Closed User Group (CUG) call, User-User
signalling (UUS), conference call, charging information, message waiting
identification, network service requests (USSD).
5.1.2 GPRS
       The General Packet Radio Service (GPRS) framework provides an
abstract telephony interface for GPRS class B functionality. With class B
functionality, phones are able to make and receive GSM calls while
simultaneously remaining registered with GPRS. If a Packet Data Protocol
context is active, GPRS services are automatically suspended and resumed. The
main features are:
attachment and detachment from the GPRS network
activation and deactivation of a Packet Data Protocol (PDP) context for data
Transfer
ability to activate and deactivate the PDP context automatically with no
explicit client intervention
ability to automatically suspend a GPRS data connection when an incoming
or outgoing GSM voice call is made, and to resume a suspended GPRS data
connection on notification from the GPRS network
information and notification service to the client software of network
information such as GPRS capabilities, current GPRS network availability,
change in the current state of a GPRS connection and general PDP contexts
parameters.
5.1.3 EDGE
      The Enhanced Data-rates for Global Evolution (EDGE) framework
provides an abstract telephony interface for 3GPP GSM/EDGE. In addition to
supporting the GSM and GPRS functionality described above, main features are:
pg. 16
supports EDGE enhanced CSD (ECSD)
supports EDGE enhanced GPRS (EGPRS).
5.2. CDMA telephony
5.2.1 CDMA
       The CDMA telephony framework provides an abstract telephony
interface for CDMA (IS-95) voice, data (circuit- and packet-switched) and fax.
Main features are:
voice calls: initiate, terminate and answer voice calls
circuit-switched data: support for service options: asynchronous data and
fax for both rate Set 1 and rate Set 2
packet-switched data: support for service options: CDPD for both rate Set 1
and rate Set 2
text messaging (SMS): SMS support is provided by an abstraction of the
interface between the SMS teleservice layer and the SMS transport layer (IS-
637)
operation in AMPS (Voice only) networks
forward compatibility with cdma2000 networks
5.2.2 cdma2000 1x
      The 3GPP2 cdma2000 1x telephony framework provides an abstract
telephony interface for 3GPP2 cdma2000 1x (Release A) voice, data (circuit- and
packet-switched) and fax. In addition to the functionality of CDMA (IS-95)
described above, main features are:
circuit-switched data: support for IS-95B services
packet-switched data: support for IS-95B services plus service options 22-
29, 33, 34 for high speed packet data
Removable-User Identity Module (R-UIM): support access to R-UIM files
pg. 17
such as phonebook entries and stored SMS messages
phonebook synchronizer: mechanism to synchronize phonebook entries
stored on a SIM or R-UIM card to the contact database so that clients can access
all contact data via the contacts model API.
pg. 18
             6. COMMUNICATION INFRASTRUCTURE
      The Comms Infrastructure subsystem provides the key frameworks and
system services for communications and networking. This includes:
a communications database manager which controls the system-wide
communications configuration
a socket server and client-side API which provides a framework for
implementing various communications protocols through a socket interface.
Plugin protocols are dynamically loaded
a network interface manager which provides a framework for connection to
other computers or networks. The manager provides a mechanism for the client
tomonitor progress over e.g., a PPP connection
a serial communications server provides a serial port (RS232C) abstraction
to allow Symbian OS phones to function as a DCE and a DTE as required.
Dynamically loadable plug-in communications modules are used to actually
communicate with device drivers and other protocol stacks.
HTTP and WAP stacks.
6.1 Networking
A dual stack is provided that supports both IPv4 and IPv6.
Networking support in Symbian OS includes:
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
IPv4/v6 stack. The TCP/IP stack provides a plug-in architecture. Plug-ins
can interact with OSI level 2, 3 and 4 components and can be installed, loaded
and unloaded at runtime. IP-based Symbian OS clients such as email, HTTP,
SSL, Java MIDP, SyncML over HTTP and web can use IPv6 addressing as well
as IPv4 addressing:
o Internet Control Message Protocol (ICMP)
o Point to Point Protocol (PPP)
o Domain Name System (DNS)
pg. 19
o dial up networking support
o security protocols for secure electronic commerce: Transport Layer
Security (TLS) and Secure Sockets Layer (SSL)
o File Transfer Protocol (FTP) engine
o Ethernet support: wired interface (PCMCIA cards for WINS and onboard
Ethernet chip for development board) supports 10BaseT and
100BaseTX in full or half duplex; Wireless interface (IrLAN); Support for
Slow IR.
6.2. HTTP transport framework
       Symbian provides a generalized framework for Internet applications to
use HTTP like protocols. The framework presents a unified, high level API that is
independent of particular header representations, specific protocol details or the
underlying transport layer. This framework is used as the interface to HTTP and
WSP protocols.
       The framework allows for extension and customization at an application
or platform level by the use of filter plug-ins.
6.2.1 HTTP client stack
       HTTP 1.0 and 1.1 Client stack with support for persistent connections,
pipelining, and chunked transfer encoding.
       Enables applications such as SyncML, OCSP, Web Based Application
Installation. This stack can also be used by Third Parties for applications such as
Web Browsing.
6.3 . WAP stack
      The WAP stack subsystem includes support for WAP 1.2.1 (WAP June
2000), push functionality and GPRS as a bearer. The WAP stack supports
protocol specifications version 1.1 and 1.2.1 class C of the WAP Forum in
connection-oriented mode. The WAP stack supports the following bearers: GSM
CSD, GPRS UDP, CDMA and cdma2000 1x for connection-oriented browsing,
GSM CSD, GPRS UDP, GSM SMS and GPRS SMS for connectionless push.
The
WAP 1.2.1, has the following layers:
WSP, session protocol for WAP
WTP, transaction protocol for WAP
WTLS, transport layer security protocol for WAP
WDP, datagram protocol for WAP, client and server
a WAP push watcher which listens for secure and non-secure push
messages received using connectionless mode over all supported bearers
pg. 20
                              7. MESSAGING
      The messaging framework provides support for messaging protocols for
sending and receiving of text messages (SMS), enhanced messages (EMS),
multimedia messages (MMS), email and fax messages.
Main features of Messaging are:
7.1. Bearer Independent Object Messaging
       Bearer Independent Object (BIO) Messaging allows application to
application communication of arbitrary data types between devices. BIO
messaging uses a watcher framework to support messages sent over-the-air to
the operating system or application rather than to the end-user, for instance via
SMS, MMS and email.
       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 run-time. The vCard and vCalendar BIO
message file types are also supported over infrared and Bluetooth links.
7.2. Short Message Service (SMS)
       SMS support consists of an SMS stack with a messaging API to send
and receive SMS and 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
SMS: send and receive streamed SMS messages. Enumerate, read, write
and delete access to the SMS storage areas of the phone and SIM. Receive
messages that match a specified text
7-bit SMS alphabet, 8-bit SMS alphabet and UCS2 data coding schemes
are supported
supports sending and receiving concatenated SMS messages
scheduled sending: on a specific date/time, “now” or upon request. Specify
pg. 21
and review scheduled actions.
7.3. Enhanced Messaging Service (EMS)
     EMS support in Symbian OS is compliant with 3GPP release 4 (TS
23.040) and supports the following features:
mobile originated pictures: variable picture, pre-defined picture: 16 x 16,
predefined picture: 32 x 32
mobile terminated pictures: variable pictures (1024x1 to 8x128), small
pictures 16 x 16 and large pictures 32 x 32
animations: pre-defined animations (multiple separate animations), black &
white animations and mobile terminated user-defined animation
Sounds: iMelody
formatting: both mobile originated and terminated formatting, text size
(small, medium, large), text style (bold, underline, strikethrough, italic) and
message alignment (left, center, right)
.
7.4. Multimedia Messaging Service (MMS)
      MMS operates over CSD and GPRS and provides the following
features:
both WSP and HTTP transports are supported. Messages are received over
WSP Get or HTTP Get, and sent using WSP Post or HTTP Post
message notification is received over WAP 1.2.1 Push or over HTTP by a
similar push mechanism
parameters supported include: Message-Type, MMS-Version, Date, From,
To, Cc, Bcc, Subject, Message-Class (only personal), Expiry, Priority, Delivery-
Report, Content-Type, Response-Status and Response-Text
both Internet and MSIDSN addressing are supported, including mixed
Addressing
message presentation is through SMIL 3GPP R5 (PSS 5). It is also possible
to receive messages based on SMIL 1.0.
pg. 22
7.5. Email
Email has the following main features:
Internet mail: supports disconnected mode, cache management, single
operation get-new-mail for both POP3 and IMAP4, SMTP client enhancements
(copy-to-self, separate emails for Bcc: send email for specific SMTP servers via
specific ISP accounts, multiple SMTP connections with multiple send sessions),
UUE and MIME, MHTML, automatic receipt notification, automatic MIME
character set conversion, automatic email signature (or vCard). C4haracter set
conversion takes place during sending or receiving messages
Internet access points (IAP): connection over GPRS is supported as well as
over GSM CSD. Multiple IAPs, both GPRS and GSM CSD, can be associated
with each email MTM to specify whether the default preferred connection or a
specific connection should be used.
secure socket connections: facility to establish a TLS socket connection to
email servers.
7.6. Fax
The fax system interfaces to the messaging fax components at its upper
boundary and to fax devices at its lower boundary. Fax supports the following
features:
fax class 1, 2 and 2.0 (ANSI/TIA/EIA 578 and ANSI/TIA/EIA 592), conforms
to the ITU T.30 specification
multiple recipient outgoing faxes
ITU T.4 1D and 2D-encoding 4
scheduling of sending: on a specific date, now or upon request. Specify and
review scheduled actions.
pg. 23
                     8. MULTIMEDIA FRAMEWORK
       The Multimedia Framework (MMF) provides a lightweight, multithreaded
framework for handling multimedia data. The framework provides audio
recording and playback, audio streaming and image related functionality. Support
is provided for video recording, playback and streaming.
The framework allows developers to write efficient and powerful plugins.
The main features are:
generic multimedia plug-in system: plug-ins can be written using abstract
and concrete classes that represent actual resources and abstract components.
Concrete classes include files, descriptors, sockets, audio i/o, and video i/o
the audio framework provides commonly used functionality including audio
playback, audio recording, audio streaming and audio conversion, formats
supported include WAV, AU, RAW (in various formats), PCM, uLaw, aLaw,
GSM6.10 etc.; a codec API is provided and the framework supports codec plug-
ins
audio Controller plug-in; file, descriptor and microphone source plug-ins,
and file, descriptor and speaker sink plug-ins
sound device abstraction and arbitration
video playback/recording/telephony framework
MIDI client API
concurrent processing of multiple multimedia data streams.
pg. 24
Image Conversion Library (ICL)
        image conversion library is a lightweight, optionally multithreaded,
client-side framework for still image codecs and conversion; Plug-ins supplied by
Symbian include JPEG, GIF, BMP, MBM, SMS, WBMP, PNG, TIFF, WMF and
ICO. Third party plug-ins are enabled through the extensible nature of the
framework.
Camera support
       An onboard camera API providing a consistent interface to basic camera
functions.
pg. 25
                       9. APPLICATION ENGINES
The core application engines include agenda (schedule), to-do,
contacts, spreadsheet, alarm and world servers and the help engine.
Main features are:
agenda engine: provides client-server shared access; vCalendar support
with send and receive functionality; synchronization with PIM applications using
Symbian Connect
to-do engine: integrated with the agenda engine for storing agenda type
Entries
contacts model: provides a generic client-server shared access contacts
database engine, integrates with messaging application for emails, faxes and
SMSs, caller number matching receive a vCard (supports Versit vCard 2.1
standard), group support, support for multiple templates, support for extensible
field types, current item support, connectivity requirements, searching and
filtering by contact item type
sheet engine: spreadsheet support for multiple worksheets, rich text
formatting for cells, borders and shading, many general, scientific, financial and
statistical functions, formula evaluation and charts, added a power function
chart engine: renders the graphics for a chart view of a spreadsheet
Application
help engine: context sensitive help engine consisting of four parts, a
launching mechanism, the model (which describes the database to its clients),
the SQL search engine (capable of relational-like searches across all the tables
in the database), and incremental facilities for use by the PC-based help file
authoring system client
text to Symbian OS Word converter: provides conversion between plain text
and a Symbian OS Word model stream, and back again.
pg. 26
                      10. APPLICATION FRAMEWORK
        The Application framework subsystem provides a powerful environment
for licensees and partners to create differentiated user interfaces while enabling
applications written in C++ and Java, by Symbian, licensees, partners and third
parties to run seamlessly on open Symbian OS phones. This subsystem is
architecturally central to the support of graphical user interface (GUI)
applications.
        It includes a number of system-wide plug-in mechanisms for instantiating
components at run-time, powerful reusable libraries for data, graphics and text
support.
10.1. Graphical user interface (GUI) framework
A principal objective of the graphical user interface (GUI) framework is
to define as little policy as possible and therefore minimize the constraints placed
on a product's UI designer. This eases the porting of the user interface of
applications between different Symbian OS phones.
Main features of the GUI framework:
an event-driven GUI and widget architecture
a windowing system for sharing screen, keyboard and pointer between
applications; clocks and animated bitmaps, and a control framework for sharing
an application window between application components
direct navigation link (DNL) system enables close task-based integration
between applications
a mechanism for the licensee to customize the look and feel (LAF) of the
GUI.
a plug-in mechanism for the user to input non-standard data (e.g., for
ideogram input or voice recognition for phones that may not have a keyboard)
control factory structure allows the framework to be extended by multiple
Applications
a notifier framework allowing system events and alarms to be handled more
flexibly by the GUI
a flexible screen indicator and status bar framework
pg. 27
runtime changeable color schemes
bitmap animation performed in the Window Server thread.
10.2. Application support services
      The application services are composed of components, primarily used
by application engines, that provide core services:
task scheduler: schedules launching of applications or initiation of specific
application features.
system agent: a general repository for system wide dynamic state
informationlog engine: recording the use of any on-board devices (especially the
phone)
alarm server: alarm persistence, sound playing
world server: country codes, world country and city information database
calendar conversion between the Gregorian and the Chinese calendars
support for Eastern-Asian character sets in vCard and vCalendar
10.3 Internationalization support
The main internationalization features are:
conforms to the Unicode Standard version 3.0
a framework to support European, Chinese, Arabic, Hebrew, Thai and
Japanese locales
a front-end processor (FEP) framework for text input using handwriting
recognition or keyboard to enable input of far eastern ideographic characters.
FEPs can take the form of a floating window, or a “transparent window”, or be
invisible. They can also interact closely with their target controls, e.g. to do “inline
editing”
between Unicode and other character sets, via a plug-in mechanism
pg. 28
Support for rendering and editing bi-directional text; Support for drawing
bidirectional text to graphics objects.
10.4 Various text and graphical utilities
Main other Application Framework features and utilities:
rich text rendering for various locales, providing a text model with character
and paragraph formatting, embedded graphics, and a text view which supports
efficient formatting, display and interaction
two multi-level undo/redo capabilities: a plain text undo system that can
undo text insertion, deletion and clipboard operations, and a rich text undo
system that can cope with anything a rich text object can do, including embedded
objects
generic support for plug-in parsers that recognize certain strings, eg URLs,
email addresses, phone numbers. This enables to run services or applications
from any application in the system
support for PC-style changeable color schemes in editable text and for
autosizing text editors
background images: arbitrary graphics can be drawn behind text, with
control of parameters like transparency and background scrolling.
pg. 29
                         11. PAN CONNECTIVITY
       Personal Area Networking connectivity is available through support of
Bluetooth, USB and infrared (IrDA).
       Bluetooth support is provided with a core Blue4tooth 1.1 protocol stack
along with full Generic Access Profile (GAP), Generic Object Exchange Profile
(GOEP) and Serial Port Profile implementations. The Host Controller Interface
(HCI) provides a hardware interface via a UART based reference
implementation.
       OBEX implementation provides an OBEX v1.2 client and server that
operat over Bluetooth and IrDA. The OBEX server also provides USB support.
USB class support is provided for the WMCDC WHCM and OBEX class,
and for the CDC ACM class. All classes are controlled by a USB Manager
component. All USB support is provided ultimately by a USB v1.1 client driver.
The infrared IrDA stack is contained in a socket server protocol module
that implements the following IrDA layers: IrLAP v1.1, IrLMP v1.1 and IrTinyTP
v1.1. The following features are supported:
infrared (SIR) supporting throughputs of 9.6 KBPS to 115.2 KBPS
IrOBEX v1.2 (IrDA object exchange)
IrTRANP v1.0 digital camera picture infrared transfer protocol
IrCOMM v1.0 supports fax/modem functionality and is implemented in
serial communications server module
.
       The infrared message type module integrates IrOBEX handling into the
messaging framework.
pg. 30
                                    12. BASE
      The Base subsystem provides the programming framework for all other
components of Symbian OS. Base provides an abstraction to facilitate design
across multiple platforms and resources making it easier to port Symbian OS to
new types of hardware. The Base ensures Symbian OS robustness, performance
and efficient power management - all essential in a mobile phone. The main
uservisible parts of the base are the user library and the file server.
12.1. 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, unprivileged) 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 user-mode 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 multi-tasking without requiring the overheads
of multi-threading
client-server architecture, for simple and efficient inter-process
communication. The client-server 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
a hardware abstraction layer (HAL) presenting a consistent interface to
hardware across all devices
a kernel-side power model, to allow fine-grained power management
pg. 31
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.
12.2. Device drivers
       The Base subsystem provides device drivers and/or software controllers
for the following devices:
DTE serial port
DCE serial port
infrared
HWA (Driver implementing the hardware acceleration API for managing DSP
hardware)
USB client
PC Cards
MultiMediaCards (including support for password protected cards)
SD Memory Cards
LCD
Keyboard
Digitizer.
       The majority of these are split into a logical layer component
implementing the higher layer functionality common to all devices of that device
type together with a physical layer component implementing the hardware
specific functionality.
pg. 32
12.3. File server
       The File server provides shared access to the filing systems, a clientside
interface that hides the client-server architecture and a framework for
dynamically mounting plug-in file systems, with physical storage of files
associated with each filing system.
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
the VFAT file system supports a 'rugged' mode of operation which provides
improved data integrity in machine power loss situations.
12.4. Standard library
      Base also contains middleware widely used across Symbian OS. Here
are the main ones:
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.
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).
pg. 33
                                13. SECURITY
       The security subsystem enables data confidentiality, integrity and
authentication by providing underlying support for secure communications
protocols such as TLS/SSL, WTLS and IPSec. It also supports the authentication
of installable software using digital signatures.
13.1. 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, RC2, RC4 an4d RC5, and
asymmetric ciphers: RSA, DSA and DH
hash functions: MD5, SHA1 and HMAC
pseudo-random number generator for generating cryptographic keys.
13.2. Cryptography token framework
     The cryptographic token framework enables licensees to integrate
support for removable hardware devices, such as WIM modules, in a flexible
manner. It consists of two parts:
a framework which enables application code to query the system for the
availability of implementations of specific cryptographic interfaces and their
attributes (e.g., whether they are implemented in hardware, whether they are
removable, whether they implement their own access control mechanism)
the definition of a set of cryptographic interfaces. Licensees may supply their
own implementations of any of the defined interfaces and these will be picked up
by applications using the framework (so for example they may provide a WIM
implementation which implements the certificate storage interface, and then
certificates stored on the WIM will be visible in the certificate management
application and available to the certificate validation module).
13.3. Certificate Management module
      The certificate management module is used for authentication of other
pg. 34
entities (e.g. third-party developers, web servers) to the user of the phone, and
for authentication of the user of the phone. 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).
13.4. 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 digital signatures 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.
pg. 35
                              14. CONCLUSION
      Symbian OS is a robust multi-tasking operating system, designed
specifically for real-world wireless environments and the constraints of mobile
phones (including limited amount of memory). Symbian OS is natively IP-based,
with fully integrated communications and messaging. It supports all the leading
industry standards that will be essential for this generation of data-enabled
mobile phones. Symbian OS enables a large community of developers. The open
platform allows the installation of third party software to further enhance the
platform.
pg. 36
                              15. GLOSSARY
2.5G
       In mobile telephony, 2.5G protocols extend 2G systems to provide
additional features such as packet-switched connection (GPRS) and enhanced
data rates (HSCSD, EDGE).
3G
        In mobile telephony, third-generation protocols support much higher
data rates, measured in Mbps, intended for applications other than voice. 3G
networks trials started in Japan in 2001. 3G networks are expected to be starting
in Europe and part of Asia/Pacific by 2002, and in the US later. 3G will support
bandwidth-hungry applications such as full-motion video, video-conferencing and
full Internet access.
AMPS
     Advanced Mobile Phone System: a 1G standard which operates in the
800-900MHz-frequency band. It is still widely used in the United States.
CLDC
      J2ME Connected Limited Device Configuration. The CLDC serves the
market consisting of personal, mobile, connected information devices. This
configuration includes some new classes designed specifically to fit the needs of
small-footprint devices.
DCS1800
       Digital Communications System: another name for GSM working on a
radio frequency of 1800 MHz. Also known as GSM1800 or PCN, this digital
network operates in Europe and Asia Pacific.
EDGE
      Enhanced Data Rates for GSM Evolution. An enhanced modulation
technique designed to increase network capacity and data rates in GSM
pg. 37
networks. EDGE should provide data rates up to 384 Kbps. EDGE will let
operators without a 3G license to compete with 3G networks offering similar data
services. EDGE is not expected before 2001 at the earliest.
EPOC
         term. Refer to Symbian OS.
PCN
      Personal Communications Network: another name for GSM 1800 (it is
also known as DCS 1800). It is used in Europe and Asia Pacific.
PDC
     Personal Digital Cellular: the 2G TDMA-based protocols used in Japan,
owned by NTT DoCoMo. PDC services operate in the 800 and 1500 MHz bands.
pg. 38
                        16. REFERENCES
Sites
1. www.symbian.com
2. www.outlook4mobility.com
3. www.linuxworld.com
4. www.programmersheaven.com
5. www.wirelessdvenet.com
pg. 39