0% found this document useful (0 votes)
1 views

ch14-Symbian_OS

Symbian OS, originating from Psion's early developments in 1981, has evolved into a robust operating system for smart mobile devices, supporting various applications and programming languages. It features a multithreaded kernel, hardware abstraction, and a client-server architecture for system services, enabling efficient memory management and security protocols. The OS supports a wide range of communication protocols and has a flexible application framework that allows for third-party development and localization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

ch14-Symbian_OS

Symbian OS, originating from Psion's early developments in 1981, has evolved into a robust operating system for smart mobile devices, supporting various applications and programming languages. It features a multithreaded kernel, hardware abstraction, and a client-server architecture for system services, enabling efficient memory management and security protocols. The OS supports a wide range of communication protocols and has a flexible application framework that allows for third-party development and localization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

SYMBIAN OS

K.Venkata Ramana
Associate Professor
Department of CSE
RVRJCCE
Introduction
• This OS traces its journey back to1981 as psion’s flight
simulator for Sinclar ZX Spectrum created a database oriented
pocket computer, the orgsanizer 1984.
• It boasted of 32kb of ROM,RAM and applications including -
diary, database, clock, alarm, calculator and simple
programming language called OPL(Organiser Programming
Language).
• Organizer Ran on a OS called SIBO of 384KB.
• Psion shifted to series 3:
– 1993,3a -1995:PC synchronisation software PsiWin.
– 1996,3c:built in IR port
Introduction
• Psion build a new 32-bit OS- Protea: GUI,
Communication and PCSync.
• 1997:Series 5 by Psion
• 1998:3mx as faster processor.
• Nokia:9000 communicator packed mobile phone and
PDA ran on GEOS 16 bit.
• 1999- first symbian release of EPOC came
along with Psion series 5mx .
Introduction
• Architecture for messaging, telephony,
application access to contact and calendar.
• The next step was Bluetooth, WAP stack support.
• Device Family Reference Designs endure
compatibility and allow to be used across large
range of devices.
• 2000: Symbian expand its license base and moved
ahead for UMTS and GPRS support
• 2001:Version 6.x
• Latest symbian OS version is 8.0
Symbian OS

• Rich set of facilities for smart mobile devices.


• Supports applications developed in a range of
Programming Languages and environments.
• Support standards including CLDC,WAP
bluetooth IPv4 EDGE EGPRS IS-95,cdma2000
1x and WCDMA ScyncML DM 1.1.2,Unicode
3.0 etc.
Supported features:
• Hardware support: full qwerty keyboard,T-
keypad, voice, handwriting recognition and
predictive text input .
Symbian OS
• OS Features:
- hard realtime, multithreaded kernel, peripherals and
memories. Software support for contacts,
schedule ,messaging, browsing, OBEX etc.Direct access
to screen and keyboard for high performance.
• Application Development Environment:
– Include C++,Java(J2ME)MIDP 2.0,WAP.
– Application windows for Audio ,video recording.
– System provide security through encryption and
certificates, secure protocols ,WIM framework and
authentication.
Symbian OS
• Communication applications:
– In the form of SMS,MMS,EMS,e-mail,SyncML
DM 1.1.2,OTA and PC-based synchronization
support.
– Supported Protocols include TCP/IP ,WAP , IrDA,
Bluetooth, USB.
– Supported Networks include GSM, GPRS/umts ,
3G networks CDMA.
• Following are the versions and their features.
Symbian Versions
Symbian OS Architecture
• Strength lies in its small footprint(kernel <200
KB), adaptability to limited memory devices,
powerful power management model, robust
software layer and support for integration with
peripheral hardware.
• Works on ARM architecture RISC processors and
Intel x86 .
• The CPU is expected to be equipped with an
integrated memory management unit and a cache.
• Main objective is to provide hardware abstraction
and manage system resources.
Symbian OS Architecture
Symbian OS Architecture
• Can be divided into 3 layers.
– Kernel: Interacts with underlying hardware.This
layer includes kernel, Device drivers, user library.
– Servers: Network and security support components,
multimedia and communication protocol.
– Application framework: Support for PC
synchronization, Bluetooth, USB support.
Symbian OS Architecture
• Kernel encapsulates system services like
multithreading, file services, power
management, memory management and device
drivers etc.
• Provides support for GSM,GPRS,CDMA and
security features.
• In V 8.0 a uses legacy kernel(EKAI)and v8.0b
uses new hard real time kernel(EKA2).
• OS resides in flash memory and implemented
as DLLs(Dynamic link library).
Hardware interfaces
• Hardware is implemented as DLLs. All hardware
access is restricted to the privileged mode.
• Hardware is differentiated by the kernel’s
dependence on it.
• Ex: timers, UART, DMA are packaged along with
OS code and have direct access.
• Support for additional hardware is provided
through separate DLL,(kernel extension).
• Applications use User library API to access kernel
extensions.
Contd..
• Device drivers: Has two parts:
– User side library for applications to link.
– Kernel side for actual hardware access.
• File system access is provided through a
device driver.
Memory management
• Memory is required for 3 purposes:
– To store OS itself
– Persistent application
– User data and runtime requirements.
• Uses page memory architecture with 2 level
page table using 4KB pages.
• OS addresses security in two ways.
– by using privileged mode.
– All applications run on a virtual machine.
Memory management
• At launch time application is allocated memory for its
data and outer page table stores a reference to this.
• Applications cannot make direct calls to hardware
drivers, they have to use User library APIs.
• Other functions of MMU
– Restriction on access to process data.
– Protection of applications and OS code.
– Isolation of the peripheral hardware.
• Symbian uses clean-up stack to solve out of memory
exceptions. If the phone does not have sufficient
memory to complete object creation then it simply
deletes the contents of the stack.
System software
• System services framework operates in a client
server mode where in most of the services are
provided as servers.
– ex: file server, font and bitmap server, media server
etc.
• Client connects to the server using the kernel
interfaces and uses a message passing mechanism
for interaction.
• The server runs in an unprivileged mode and will
use other backend device drivers or kernel
extensions to perform its tasks.
Applications for Symbian
• Open architecture of Symbian enables
Independent Software Vendors to focus on
developing new application for mobile phones.
• Third party vendors provide software in the
form of an installation file (SIS).
• The installer is responsible for updating the
file system with the files from the SIS files.
• Generally applications are divided into 2 parts-
the engine that implements the functionality
and UI.
Development Environment
• Two environments: C++ and java.
• The output of the development effort is an
installable .sis files.
• Java
– Symbian supports various flavors of Java including
personal Java, Java Phone APIs and MIDP.
– J2ME MIDP 2.0 AND CLDC 1.1
– Additional libraries provided include bluetooth 1.0,
fileGCF and PIM, wireless messaging 1.0, mobile
media 3D graphics.
Development Environment
• C++
– Developing involves a windows emulator that
running on a PC that maps Symbian OS calls to
Win32 API.
Symbian
• UI based programs follow an MVC model.
• MVC provides a separation of data and its
presentation.Object has 3 components.
– Model: data
– View: display
– Controller: manage the flow of control between
various views in response to events.
MVC in Symbian
MVC in Symbian
• An application creates a document which
contains data model. All business logic are
included here.
• It communicates with the system via
application and control frameworks and event
handlers.
• UI: It is where presentation logic resides.
• Event handlers are also implemented in the
user interface class.
MVC in Symbian
• Symbian OS provides most services as frameworks.
• Frameworks: Viewed as collection of abstract base
classes and some concrete classes.
• To use the framework user extends the abstract class
and provides new behaviour.
• Ecom plugin: Defines a generic framework that
specifies plug-in interfaces and be extended for
developing new plug-ins.
• Ex: SyncML and transport architecture use this.
Application framework
Application framework
• Defines the application structure and its basic
user interface handling .
• Provides base classes for text layout, interface
controls, front end processors and key
application concepts.
• UIKON:A standard framework common to all
symbian OS platform. It also provides rich
array of standard control components that
applications make use of at run time.
• Ex:dialog boxes, number editors ,date editors
Application framework
• CONE:Events are channeled to it via another
part of framework called Control environment
(CONE).
• UIKON/QUIKON:support for UI starts with
windows server which manages
screen ,pointer and other navigation device in
behalf of GUI program.
• Server process that provide basic API for
client applications to use.
Application framework
• CONE with windows server client side API
allow different parts of an applivation to share
windows and pointer events.
• CCoeControl:control of user interaction.
• All symbianOS applications are required to
have the components show in the following
figure.
Application framework
• Application class:Defines the application
properties.Base class is CEikApplication that uses the
CONE CApaApplication class.
• Document Object:engine of the application and is used
to store applications persistent state.It is required to
launch AppUi.base class is CApaDocument,the
UIKone CEikDocument uses this class.Also contain
initializes the application data model.
• AppUi:creating the applications user interface
controls , views handles UI commands and events
• View:Which display data on the screen that user can
interact with.Derived from CCoeControl or
CEikDialog.
Application framework
• Resource files:use same names as their
applications with extensions .rss.
• Application classes:
Souce code
• Create application using NewApplication().
• Creates Document class which further creates
the AppUi.
• The APPUI creates and owns the views.
• The views are responsible for creating controls
and rendering them on the screen.
• The appUi implements the command Handler
code.
• The sequence of the events is given as…
Souce code
Controls and Compound controls
• Control is an area of the screen that responds
to user input events.
• Similar to MIDP form.
• Controls can be of two types: Window-owning
and non window-owning.
• Window-owning: top level UI like form in
J2ME.
• Can contain other controls and typically own
the entire window.
• Non window owning: MIDP items and must
be contained within a window owning control.
• Require fewer resources.
• Compund controls:Group of associated
controls.required when application has same
set of controls ex:Ok and exit.
• Provide information about the contained
controls via two virtual methods:
CountComponentControls() and
ComponentControl (Tint aIndex).
Simple vs compound controls
Control stack
• Application UI contains controls for interacting with the
users.
• A control has to register itself to receive the events.
• Control stack is the structure that holds all controls
registered to receive events.
• Window owning control the container and will add itself to
the control stack.
• Controls on the stack are notified by the control
framework calling respective event listener.
• Ex:OfferKeyEventL().:key presses.
Active objects
• As preemptive multitasking os and hence support
multithreading.
• Way to enable a single thread to handle multiple
asynchronous requests.
• Each object Implement two pure virtual functions :
RunL():request completion.
DoCancel():cancellation of requests.
• Users ensure thatHandler methods do not block .
• Long running handler tasks should be broken up to
run within the Active Object Structure.
Localization
• Internationalization and localization are two
important considerations in application design.
• Each language will define its own compiled resource
file with extensions .r01,.r02,.r03 etc.
• The project file contains language information in the
attribute LANG.
• The resource file (.rss) include the localization file
(.loc)
• The localization file contains strings for different
languages.
Security
• To use a language resources,change LANG
attribute to LANG 01 02 03.
• This will build the resouce filr for English
German Italian etc.
• Security:
– Robust security mechanism that enable
confidentiality,integrity and authentication.
– Include APIs for standard cryptography
algorithms,PKC,Certificates and Digital
Signatures.
Security
• Security architecture:
– Certificate Management(Certman)
– Cryptography(cryptalg)
• Security related applications access these by
– Certificate management control panel item
– Software installation
– Secure Comms.
Security

You might also like