Professional Documents
Culture Documents
Architecture
of Symbian OS
artesis 2008 | 2
artesis 2008 | 3
the graphical application model: all applications are GUI and only
servers have no user interface
artesis 2008 | 4
Design patterns
an event-based application model: all user interaction is captured as
events that are made available to applications through the event
queue
streams and stores for persistent data storage: the natural document
model for applications (although conventional file-based application
idioms are supported)
the class library (the User Library) providing other user services and
access to kernel services.
artesis 2008 | 5
Architecture Matters
Managing Competitive Threats:
Some of the threats arehousehold names Microsoft is an obvious
threat, but the likelihood is that Microsoft itself will always be
unacceptable to some part of the market,whatever the quality of its
technology offering.
Linux is also a clear and visible threat, even though again there
arenatural pockets of resistance. Linux, for example, is viral.
artesis 2008 | 7
artesis 2008 | 8
Java ME
In some senses, Java does not fit neatlyin to the layered
operating system model. Symbians Java implementation is
based around:
a virtual machine (VM) and layered support for the Java system
which
complements it, based on the MIDP 2.0 Profile
a set of standard MIDP 2.0 Packages
an implementation of the CLDC 1.1 language, I/O, and utilities
services
a number of low-level plug-ins which implement the interface
between CLDC, the supported packages, and the native
system.Java support has been included in Symbian OS from
the beginning,
artesis 2008 | 10
artesis 2008 | 11
artesis 2008 | 12
artesis 2008 | 13
artesis 2008 | 14
artesis 2008 | 16
artesis 2008 | 17
artesis 2008 | 18
artesis 2008 | 19
artesis 2008 | 20
artesis 2008 | 21
4) Microkernel Architecture
Symbian OS has a microkernel architecture, which sets it apart from
operating systems such as Microsoft Windows and Linux.
artesis 2008 | 22
artesis 2008 | 23
artesis 2008 | 25
Symbian OS Idioms
artesis 2008 | 26
artesis 2008 | 27
artesis 2008 | 28
artesis 2008 | 29
The second leg of the error-handling strategy uses the cleanup stack
to store pointers.
Descriptors
Descriptors are the Symbian OS idiom for safe strings. (Safe means
both type safe and memory safe and compares with C++ native Cstyle strings, which are either21)
artesis 2008 | 30
artesis 2008 | 31
M classes are mixin classes (abstract interface classes), the only formin
which multiple inheritance is supported in Symbian OS.
Descriptors are immediately recognizable as either TPtr pointer descriptors,
or TBuf (stack-based) or HBufC (heap-based) buffer
descriptors.
Manifest Constants
Unique Identifiers
artesis 2008 | 32
artesis 2008 | 33
1. Introduction
Symbians 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.
Research
We had in mind Symbians background, the whole history and development
behind this operating system, his capabilities, security, performance and so on.
Hardware support and connectivity were, as well, one of our research points.
The native language of the Symbian OS is C++, there for, our research will
passes through the programming languages that can be used on Symbian.
The advantages and limitations will be the last tasks well talk about.
artesis 2008 | 34
2. Platform
2.1 Hardware
Computer Hardware Requirements: (minimum)
CPU: 1.2GHz processor, x86 architecture
Monitor: 1024 x 768-pixel screen, 16-bit color
Memory: 512MB
Hard drive: 200 MB of free disk space
Telephone Hardware Requirements:
A Symbian-able smartphone is needed, not every phone can run
Symbian as OS.
artesis 2008 | 35
2. Platform
2.2 Operating System(s)
Computer Software:
Most of todays PC are suitable to run the required programs for
developing for Symbian.
Telephone Software:
S60
UIQ
MOAP
artesis 2008 | 36
2. Platform
2.3 Network Connectivity
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 APIs to
support 3G.
artesis 2008 | 37
2. Platform
2.3 Network Connectivity
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
artesis 2008 | 38
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
- Granted by the manufacturer
artesis 2008 | 39
2. Platform
Signing an application
- Open Signed
- Express Signed
- Certified Signing ( Symbian Signed )
artesis 2008 | 40
artesis 2008 | 41
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 Symbians market share is still the majority with a trend to
decline.
artesis 2008 | 42
3. Software development
3.1 Development requirements
artesis 2008 | 43
3. Software development
UIQ
Telephones
Motorola MOTORIZR Z8
S60
Telephones
Nokia 7650, Nokia 3650, 3600, 3660, 3620, NGage(QD), Sendo X, Siemens SX1
artesis 2008 | 44
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.
artesis 2008 | 45
3. Software development
Which IDE ?
Carbide C++
CodeWarrior
Visual C++
artesis 2008 | 46
3. Software development
What tools are needed:
Tool name
Description
Symbian MakeSIS
Symbian UnSIS
Programing languages
Symbian OS offers a choice of programming languages to the developer. Symbian OS is
written in
artesis 2008 | 48
Programing languages
Java 2nd the most important programing language on Symbian
OS.
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,
artesis 2008 | 50
4. Overall Evaluation
4.2 Limitations
Steep learning curve for developers
Developing in general
Porting
Symbian signed
Dependency on Nokia (!)
artesis 2008 | 51
4. Overall Evaluation
4.3 Conclusion
Manufacturs point-of-view
Developers point-of-view
artesis 2008 | 52
Q&A
Any questions??
artesis 2008 | 53