Introduction to Symbian OS - Presentation Transcript
Symbian OS
Hatem Mahmoud
www.ExpressionLab.com
Agenda
Introduction
Symbian OS Design
Symbian OS Layers
Developing on Symbian OS
References
Introduction
What?
Symbian OS is:
A proprietary operating system
Designed for mobile devices
Developed by Symbian Ltd.
History
In 1980, the British company Psion (Potter
Scientific Instruments) was founded by
David Potter
In 1984, Psion launched Psion Organiser,
the world's first handheld computer
Psion Organiser II
History
In 1987, Psion released a preemptive
multitasking operating system, EPOC:
16-bit / written in C / Intel 8086 chip
In 1997, Psion Series 5 based on EPOC32:
32-bit / written in C++
EPOC = Electronic Piece Of Cheese :-)
Psion Series 5mx
History
On 24 June 1998:
Symbian Ltd. was formed as a partnership
between:
Nokia, Ericsson, Motorola and Psion
EPOC was renamed Symbian OS
First Symbian OS Phones
In 2000:
First Symbian OS phone:
Ericsson R380
First open Symbian OS phone:
Nokia 9210 Communicator
Ericsson R380
Ericsson R380
OS: EPOC Release 5u (Symbian OS 5.1)
ROM: 4 MB (1.2 MB accessible)
RAM: 2 MB EDO DRAM
Display: 3.5 ” monochrome touchscreen
Features: Unicode support, organizer, WAP,
SMS/email, infrared port
History
2003: Symbian OS 7.0: IPv6 and Java ME
2004: Cabir, the first worm (Bluetooth)
2005: Symbian OS 8.1: EKA2, a real-time
kernel (API calls quick and time-bound)
2005: Symbian OS 9.1: digital signing
History
2007: Symbian OS 9.3 supports SQLite
2007: Symbian OS 9.5 supports real-time
multimedia and location-based services
History
History (2005)
History (2006)
History (2008)
10 Years Later
On 24 June 2008:
Nokia acquired all shares
€264 million ($410 million)
Symbian Foundation, a non-profit
organization, established to create one
open source mobile operating system
History
Symbian Foundation established to unite:
Symbian OS
S60, Nokia
UIQ, Sony Ericsson and Motorola
MOAP(S), NTT DoCoMo
Today
Future
Future
Symbian OS Design
Design Rules
1)User data is sacred
2)User time is precious
3)All resources are scarce
Key Design Features
Microkernel: kernel responsibilities are
reduced to minimum
Client–server: resources are shared
between users (services and applications)
Plug-in Frameworks: used at all levels from
applications to device drivers
Key Design Features
GUI for all applications: only servers have
no user interface
Event-based: all user interaction is
captured as events to applications
Object-oriented design: Symbian OS and all
applications follow MVC
Key Design Features
FAT used as the internal file system for
compatibility with removable devices
Symbian OS Layers
1) UI Framework Layer
1) UI Framework Layer
UIKON framework controls overall GUI
TechView: a minimal test UI
Examples:
S60, Series 80, Series 90, UIQ, MOAP
2) Application Services Layer
2) Application Services Layer
Generic: text rendering, MIME content
handling, etc.
Technology-specific: vCard, vCal, etc.
Application-specific: plug-ins for contacts,
agenda, office, etc.
3) Java ME
3) Java ME
a)Configurations:
Java language + JVM + base class libraries
b)Profiles: Cell phones use MIDP which
includes APIs for GUI and 2D gaming
c)Optional packages: 3D graphics, web
services, file system access, etc.
4) OS Services Layer
4) OS Services Layer
a)Generic: certificate management, etc.
b)Communications: Bluetooth, Infrared,
USB, TCP/IP, Wi-Fi, etc.
c)Multimedia and graphics: graphics,
sound, video recording and play, etc.
d)Connectivity: backup and restore, file
transfer, file browsing, etc.
5) Base Services Layer
5) Base Services Layer
The user-side of the microkernel
a)User Library: C++ classes, native types
b)File Server: file-system utilities
c)Store: storage framework, DBMS, etc.
d)Other frameworks: Plug-in framework,
power management, etc.
6) Kernel Services Layer
6) Kernel Services Layer
EKA2: The kernel-side of the microkernel
Manages processes, threads, scheduling,
interrupts, etc.
Provides device drivers
Not true microkernel
6) Kernel Services Layer
Optimized for ROM-based systems:
Symbian OS executes in ROM without
loading into RAM
Optimized for low-power devices
Developing on
Symbian OS
Developing on Symbian OS
SDK for each platform (S60, UIQ, etc.)
Windows-based emulator: WINS
Eclipse plugin: Carbide.c++
Visual Studio plugin: Carbide.vs
Borland IDE for Linux and Mac OS
Other languages: Python, Perl, Java, etc.
References
Books
The Symbian OS Architecture Sourcebook
by Ben Morris
Smartphone Operating System Concepts
with Symbian OS
by Michael J. Jipping
0 comments
Post a comment