1. Introduction
Symbian’s Introduction
ÆThe Smartphone operating system Symbian OS is produced by the software development and licensing company Symbian Ltd.
Æ Symbian Ltd was established in June 1998 and is headquartered in Southwark in the UK, and the current CEO is Nigel Clifford.
2. Platform
2.3 Network Connectivity
9
Which evolution in the various versions?
Symbian OS 6.0 and 6.1 (also called ER6 ): Bluetooth was added for
exchanging data over short distances from fixed and mobile devices. (2002)
Symbian OS 7.0 and 7.0s: This version added EDGE support and IPV6.
(2003)
What is the EDGE? (Enhanced Data rates for GSM Evolution) What is the IPV6?
Symbian OS 8.0: There are not great evolution has shared some API’s to
2. Platform
2.3 Network Connectivity
9
Which evolution in the various versions?
Symbian OS 9.1: Change of version 1.2 for the Bluetooth has version 2.0
where the difference is the introduction of an Enhanced Data Rate (EDR) for faster data transfer.
Symbian OS 9.3: The WIFI 802.11 and the HSDPA (High Speed Downlink
Packet Access) appear on Symbian OS.
What is HSDPA?
Symbian Os 9.5: This last version includes native-support for mobile digital television broadcasts in DVB-H and ISDB-T formats and also location
Features of Symbian V9
• Browsing: full web browser support and WAP stack for mbile browsing
• Messaging: support MMS, EMS, SMS, POP3, IMAP4, SMTP, MHTML; standard attachments; fax
• Multimedia: shared access to screen, keyboard, fonts and bitmaps; audio recording and
playback, and image related functionality (support common audio and image formats), including API for graphics acceleration, streaming and direct screen access
• Communication protocols: including TCP, IP version 4, IP version 6 and WAP, IrDA, Bluetooth, USB
• Mobile telephony: abstract API for cellular standards.
• Data synchronization: over-the-air (OTA) synchronization support using SyncML. Supported over serial, infrared, Bluetooth and USB links. Provides synchronization : PIM data, transfer of files, and document conversion to and from non-Symbian OS formats.
• Security: full-strength encryption and certificate management, secure communications protocols (including HTTPS, WTLS and SSL), WIM framework and certificate-based application
Application platforms
•
Series 60 is a UI for mobile phones that are single-handed operated. In addition tovoice communication, multimedia messaging, content browsing and application downloading are the main features of this platform.
•
Series 80 is a UI for devices with larger horizontal screens. It is used in clamshelldevices with a keyboard.
•
UIQ is a customizable pen-based user interface platform for media-rich mobile phonesbased on Symbian OS.
•
Symbian OS is also being used in the new Series 90 platform, which is being introduced in the Nokia 7700•
phone. With a pen input user interface, a horizontal screen and an optional television tuner, the Nokia 7700Processor Modes
•
ARM Processor• 32 bit registers in Privileged mode
• 17 bit in user mode
•
Supervisor mode:•
kernel owns device drivers•
implements the scheduling & synchronization policy•
does power management•
allocates memory to itself and user-mode (that is, unprivileged) processes.•
User mode: Runs user level application like: file server and windows server.Architecture
•
Client and Server in different threads (processes)
• Session based.
• Message passing.
• Server publishes client facing API.
•Symbian OS implements preemptive multithreading so
that it can run multiple applications and servers
simultaneously.
•Active objects are used to implement
nonpreemptivemultitasking within the context of a single
thread.
Memory Management
•
Supports RAM maximum of 2GB.•
Applications share RAM with operating system but has exclusive access to their allocated memory area•
Flash and expansion card memory is used for storage.•
The kernel runs within its own protected address space. So a programs memory leak or stack over-run can't overwrite the kernel's stack or heap which would cause a system crash.•
Symbian OS presents a virtual machine model to all running programs.File Management
•
File server provides the access•
The drive, directory and file hierarchy is VFAT, thus making the file system naturally compatible with desktop PCs.•
It provides local file systems (ROM, RAM and removable media), and an interface to allow dynamically installable file systems, such as those required to communicate with remote disks over a network.•
File Manager: File handling application.• Browse the structure of internal storage, Memory stick storage space. It can be used for
• File management operations like Copy, Move, Delete, Rename, View properties Change file attributes, and more. Folders and files can also be managed and opened in appropriate viewers.
Processes and Threads
•
Supports multitasking and multithreading.•
Only one application can have access to UI.•
A process can have one or more threads.•
Uses preemptive multitasking.•
The thread with the highest priority being ready to run will be scheduled next.•
All user processes have their own memory address spaces and all threads within the same process share the same memory address space.•
Each Process and threads have their own stack and heaps.•
Thread Priorities• Absolute: Ignoring the priority of a process owning the thread
• Relative: Overall priority of a thread is defined as a priority of the process owning the thread plus the relative priority value.
Mutual Exclusion & Synchronization
• Semaphore: Global or Local
• Wait(){count--; if(count<0) the calling thread is put in waiting state;}
• Signal(){if(count<0) Mark the first thread waiting for this semaphore ready to run; count--;}
• Mutexe: Global or Local.
• Critical Section: Critical sections are used for synchronizing exclusive access to shared resources within a single process
Programming
•
The Smart phone environment
•
Basics of the Symbian OS
•
Differences between C++ and Symbian C++
•
What a Java programmer should know
•
What a C++ programmer should know
•
Memory management
Programming
•
Controls
•
Dialogs
•
Views
•
Files, the filesystem
•
Communication and
•
Messaging
The smart phone environmet
•
1G, 2G, 2,5G, 3G, 4G
•
GSM Global System for Mobile Comm.
•
CDMA (USA) Code Division Mult. Acc.
•
CSD Circuit Switched Data (GSM Data)
•
GPRS General Packet Radio Service
•
HSCSD High Speed CSD
The smart phone environmet
•
UMTS Universal Mobile Telecommunication Services -> 2 Mbps
•
SMS, MMS, Email, Fax, Web (HTML), WAP
•
IrDA, Bluetooth, USB
Symbian OS
•
Most common OS in devices like mobile phones
•
Strong influence from device manufacturers
•
Series (60,80,90) platforms
•
Programmable with a C++ like language
•
Also Java with a JRE
Symbian architecture
•
Kernel
•
Base Libraries
•
Application services, engines and protocols
•
Application framework
•
Communication architecture
Symbian architecture
Kernel
•
system memory
•
program scheduling
•
resource allocation
Symbian architecture
Base Libraries
•
APIs for basic computing, like
•
string manipulation
•
file IO
•
db management
Symbian architecture
Application services, engines and protocols
•
Application data, such as the phone book
•
Devices services, such as alarms etc.
Symbian architecture
Application framework
•
GUI
Communications architecture
•
TCP/IP, IrDA, BT, SMS, etc.
Middleware feature libraries
Multitasking
•
Threads
•
pre-emptive
•
single program can have several threads
•
Processes
•
.exe
•
a main thread
DLLs
•
Dynamic Link Libraries
•
Static interface DLLs
•
"traditional" shared functions
•
Plymorphic DLLs
•
plug-ins, e.g. device drivers
•
No static data (until OS v.9.0)
Client/Server model
•
basic concept in Symbian
•
Example: file access
•
C/S concept hidden by the API
•
Server:
•
No UI
Memory
•
ROM
•
OS Software
•
cannot be written, but can be partly read
•
RAM
•
volatile, usually up to 30 MB
•
Internal Flash
•
disk drive type of memory (C:)
•
Memory Cards
Addressing Memory
•
Two types of memory addresses: virtual and physical -> mapping.
•
MMU (Memory Management Unit)
•
chunks (virtually addressed pieces of memory, not allways backed
with physical memory)
•
stack and heap
•
static
Stack and heap
•
Stack
•
automatic variables
•
class members
•
Heap
•
new
Addressing Memory
•
Two areas for memory: Home area and Run area.
•
Process data of a running process is in the run area.
•
Applications cannot reference memory in the home area
•
Protects process memory
The Kernel
•
Creation and scheduling of processes and threads
•
Communication between threads and processes (mutexes,
semaphores)
•
System memory
The Kernel
•
HAL (Hardware Abstraction Layer)
•
Most code hardware independent
•
Loading and communicating with device drivers
•
User library: A DLL that provides access to kernel functions
(privileged mode)
The Kernel
•
Two main components: Executive and Server
•
Functions executed by server have access to all global data of the
kernel
•
However, they are slow
•
Functions executed by the executive are faster
2. Platform
2.4 Security
The Symbian security model can be broken down into three main modules:
1.
Trusted Computing Base (TCB)
Kernel, file system and software installer.
2.
Data Caging
Protects executables and data files of applications.
3.
Capabilities
Define what the application can and cannot do.
Capabilities:Four types of capabilites: - Open to all
- Granted by the user at installation time - Granted through Symbian Signed
2. Platform
Signing an application
- Open Signed
- Express Signed
- Certified Signing ( Symbian Signed )
2. Platform
2.6 Future possibilities
•
The leading mobile OS
Æ Symbian OS is still the “leading figure” in the smartphones market and
according to Gartner Symbian’s market share is still the majority with a trend to decline.
•
Symbian - open source software platform
Æ Nokia’s buying the rest of Symbian that it doesn’t already own, and will then create the Symbian Foundation, in collaboration with a number of other
companies, and make Symbian royalty-free and open-source.
•
Implications to the other OS
Æ The Symbian Foundation stirs up the future of the open mobile platform space. It does seem fair to draw the conclusion that the Symbian Foundation puts the Symbian platform in a stronger position and this will negatively affect the other players.
3. Software development
3.1 Development requirements
9
The right SDK
S60
UIQ
MOAP
3. Software development
UIQ
Telephones
UIQ 3.1 (Symbian OS v9.2) Motorola MOTORIZR Z8
UIQ 3.0 (Symbian OS v9.1) Sony Ericsson M600, W960, P990
UIQ 2.1 (Symbian OS v7.0) Sony Ericsson P910, P900, Motorola A1000, FOMA M1000, Arima U308
UIQ 2.0 (Symbian OS v7.0) Sony Ericsson P800, P802, Motorola A920, A925, BenQ P30
© artesis 2008 | 69
S60
Telephones
S60 3rd edition FP2 (Symbian OS v9.3) Nokia N96, N78 Samsung I8510 innov8, L870
S60 3rd edition FP1 (Symbian OS v9.2) Nokia N95, N82, N77, Samsung i450, i550, SGH-i520, SGH-i560, G81, LG JOY
S60 3rd edition (Symbian OS v9.1) Nokia E60, E61, E70; 3250, N71, N80, N91, N92 S60 2nd edition FP3 (Symbian OS v8.1) Nokia N70, N90
S60 2nd edition FP2 (Symbian OS v8.0a) Nokia 6630, 6680, 6681, 6682, Lenovo P930
S60 2nd edition FP1 (Symbian OS v7.0s) Nokia 3230, 6670, 7610, 6620, 6260, Panasonic x700, x800, SDH-D720
S60 2nd edition (Symbian OS v7.0s) Nokia 6600
S60 1st edition (Symbian OS v6.1) Nokia 7650, Nokia 3650, 3600, 3660, 3620, N-Gage(QD), Sendo X, Siemens SX1
3. Software development
3.2 IDE and Tools
What is IDE* ?
An IDE is a software application that allows the computer programmer
to develop software for a certain platform. An IDE normally has a:
source editor, compiler and/or interpreter and debugger.
*Integrated Development Environment or also known as integrated design environment
3. Software development
Which IDE ?
9
Carbide C++
9
CodeWarrior
3. Software development
What tools are needed:
Tool name
Description
GCC for Symbian Can be used to compile Symbian C++ applications. Symbian Certificate Manager Allows you to manage your certificates within
Carbide
Symbian DevCert Request Enables you to obtain a Symbian Developer Certificate
Symbian MakeSIS Allows you to “convert” your c++ programs into .sis packages, which simplify the installation on other Symbian OS devices.
Programing languages
Symbian OS
offers a choice of programming languages to the
developer. Symbian OS is written in
C++
, and this is therefore
regarded as its primary programming language.
Programing languages
Æ
Java
2nd the most important programing language on
Symbian
OS
.
Æ
Others programing languages which you can use on Symbian;
JavaScript
,
Assembler
,
WMLScript
,
C#
,
Visual Basic
,
OPL
and so
on…
4. Overall Evaluation
4.1 Advantages
•
Operating system designed from scratch for mobile platforms
• mobile phones are both small and mobile
• mobile phones are ubiquitous – they target a mass-market of consumer,
enterprise and professional users
• mobile phones are occasionally connected – they can be used when
connected to the wireless phone network, locally to other devices, or on their own
• manufacturers need to differentiate their products in order to innovate and
compete in a fast-evolving market
• the platform has to be open to enable independent technology and software
vendors to develop third-party applications, technologies and services
•
Best fitted for mobile market
4. Overall Evaluation
4.2 Limitations
•
Steep learning curve for developers
•
Developing in general
•
Porting
•
Symbian signed
4. Overall Evaluation
4.3 Conclusion
9
Manufacturs point-of-view
• Strong Operating System • Established value
9
Developers point-of-view
• Developing for Symbian brings limitations.
Success
•
Technical• Symbian Has large software development community.
•
Symbian OS maintains its position as the industry’s leading development platform for phones designed for 3G networks• Symbian OS™ Real Time Compatibility Layer (RTCL)
• Modularity: runtime linking between dynamically linked shared librariy
•
Commercial•
Q3 2005 shipments of Symbian OS™ phones rise 131% (Symbian OS, 2005)•
Symbian OS worldwide installed base reaches almost 48 million phones.Threats
• PC nature: User can install software .
• Symbian OS has been subject to a variety of viruses, the best known of which is Cabir.