Symbian
OS is an operating system, designed for mobile devices, with associated
libraries, user interface frameworks and reference implementations of common
tools, produced by Symbian Ltd.. It is a descendant of Prsion's EPOC.
Symbian
is currently owned by Ericsson, Panasonic, Siemens AG, Nokia, and Sony
Ericsson. Whilst BenQ has acquired Siemens AG the Siemens AG stake in Symbian
does not automatically pass to BenQ - this will need the approval of the
Symbian Supervisory Board.
Design
There are
a number of smartphone user interface platforms based on Symbian OS, including
open platforms UIQ, Nokia's Series 60, Series 80 and Series 90 and closed
platforms such as that developed for NTT DoCoMo's FOMA handsets. This
adaptability allows Symbian OS to be used on smartphones with a variety of form
factors (e.g. clam-shell or "monoblock"/"candybar", keypad-
or pen-driven).
Symbian
OS, with its roots in Psion Software's EPOC (which itself had similarities to
the internals of VMS, a grown-up POSIX compatible operating system for
mini-computers in the 1980s) is structured like many desktop operating systems,
with pre-emptive multitasking, multithreading, and memory protection.
Symbian
OS's major advantage is the fact that it was built for handheld devices, with
limited resources, that may be running for months or years. There is a strong
emphasis on conserving memory, using Symbian-specific programming idioms such
as descriptors and a cleanup stack. Together with other techniques, these keep
memory usage low and memory leaks rare. There are similar techniques for
conserving disk space (though the disks on Symbian devices are usually flash
memory). Furthermore, all Symbian OS programming is event-based, and the CPU is
switched off when applications are not directly dealing with an event. This is
achieved through a programming idiom called active objects. Correct use of
these techniques helps ensure longer battery life.
All of
this makes Symbian OS's flavour of C++ very specialised, with a steep learning
curve. However, many Symbian OS devices can also be programmed in OPL, Python,
Visual Basic, Simkin, and Perl - together with the Java ME and Personal Java
flavours of Java.
Competition
Symbian
OS competes with other mobile operating systems, such as Windows Mobile, Palm
OS, and Linux. It also competes with the embedded operating systems used on
lower-end phones, such as NOS and OSE, which tend to be maintained by the phone
companies themselves. Symbian OS' major advantage over these embedded operating
systems is its modularity - there is runtime linking between dynamically linked
shared libraries (DLLs, see dynamic linking) on the device, and an emphasis on
plug-in architectures. This makes complex phones quicker to develop, though
this is sometimes offset by the complexity of Symbian OS C++ and the
awkwardness of going to another company for an OS (instead of doing it
in-house).
The
advantages over other 'open' OS competitors (such as Linux and Windows Mobile,
the last one is not Open Source) are more debatable. Phone vendors and network
operators like the customisability of Symbian OS relative to Windows. This
customisability, though, makes integrating a Symbian OS phone more difficult.
It's possible that Linux goes too far in the other direction, and is simply too
hard to make a phone from at the moment. Symbian OS's ground-up design for
mobile devices should make it more power- and memory-efficient, as well as
being flexible.
Structure
At its
lowest level sit the 'base' components of Symbian OS. This includes the kernel
(EKA1 or EKA2 - see the 'History' section), along with the user library which
allows user-side applications to request things of the kernel. Symbian OS has a
microkernel architecture, which means that the minimum necessary is within the
kernel. It does contain a scheduler and memory mrnagement, but no networking or
filesystem support. These things are provided by user-side servers. The base
layer includes the file server, which provides a fairly DOS-like view of the
filesystems on the device (each drive has a drive letter, and backslashes are
used as the directory delimiter).
Immediately
above base are a selection of 'system libraries'. These take all shapes
and sizes, including for example character set conversion, a DBMS database, and
resource file handling.
Further
up, the software is not so readily arranged into a stack.
There is
a large 'networking and communication' subsystem, which has three main
servers - ETEL (EPOC telephony), ESOCK (EPOC sockets) and C32 (responsible for
serial communication). Each of these has a plug-in scheme. For example ESOCK
allows different ".PRT" protocol modules, implementing different
types of networking protocol scheme. There's lots of stuff relating to
short-range communication links too, such as Bluetooth, IrDA and USB.
There's
also a large amount of 'user interface' code. Even though the user
interfaces themselves are maintained by other parties, the base classes and
substructure ("UIKON") for all UIs are present in Symbian OS.
There are
also a selection of 'application engines' for popular smartphone
applications such as calendars, address books, and task lists. A typical
Symbian OS application is split up into an engine DLL and a graphical
application - the application being a thin wrapper over the engine DLL. Symbian
OS provides some of these engine DLLs.
There
are, of course, many other things that don't yet fit into this model - for
example, SyncML, Java ME providing another set of APIs on top of most of the OS
and multimedia. Quite a few of these things are frameworks, and vendors are
expected to supply plug-ins to these frameworks from third parties (for
example, Helix player for multimedia codecs). This has the advantage that the
APIs to such areas of functionality are the same on many phone models, and that
vendors get a lot of flexibility, but means that phone vendors need to do a
great deal of integration work to make a Symbian OS phone.
Security and
Malware
Symbian
OS has been subject to a variety of viruses, the best known of which is Cabir.
Usually these send themselves from phone to phone by Bluetooth. So far, none
have taken advantage of any flaws in Symbian OS - instead, they have all asked
the user whether they would like to install the software, with somewhat
prominent warnings that it can't be trusted.
However,
of course, the average mobile phone user shouldn't have to worry about such
things, so Symbian OS 9 is adopting a capabilrty model. Installed software will
theoretically be unable to do damaging things (such as costing the user money
by sending network data) without being digitally signed - thus making it
traceable. Developers can apply to have their software signed via the Symbian
Signed program.
Openness
A common
question is whether Symbian OS is "open". It is not open in the sense
of Open Source software - the source code is not publicly available. However,
nearly all the source code is provided to Symbian OS phone manufacturers and
many other partners. Moreover, the APIs are publicly documented and anyone can
develop software for Symbian OS. This contrasts with traditional embedded phone
operating systems, which typically cannot accept any aftermarket software
except Java applications.
Devices that
have used the Symbian OS
- Ericssrn R380 (2000) was the first commercially
available smartphone based on Symbian OS
- Nokia 9210 Communicator smartphone (32-bit
66 MHz ArM9-based RISC CPU) (2001), 9300 Communicator (2004), 9500
Communicator (2004) using the Nokia Series 80 interface
- Sony Ericsson P800 (2002), P900 (2003), P910 (2004),
Motorola A920, A925, A1000, DoCoMo M1000, BenQ P30, P31 and Nokia 6708 using the UIQ user interface.
- Nokia Series 60 (2002)
- Nokia Series 60 is used in
various phones, the first being the Nokia 7650, then the Nokia 3650,
followed by the Nokia 3620/3660, Nokia 6600, Nokia 7610 and Nokia 6670.
The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone combos are also
Series 60 platform devices. It was also used on other manufacturers'
phones such as the Siemens SX1 and Sendo X. Recent, more advanced devices
using Series 60 include the Nokia 6630, the Nokia 6680 and a next
generation N series, including the Nokia N70, Nokia N90, and Nokia N91.
- Nokia 7710 (2004) using the Nokia Series 90
interface.
- Fujitsu and Mitsubishi phones for NTT DoCoMo in
Japan, using an interface developed specifically for them often called
FOMA after the DoCoMo "Freedom of Mobile Access" network brand.
No comments:
Post a Comment