Symbian OS Overview
Symbian OS Overview
Symbian OS
Website: http://www.symbian.com
Company/
developer: Symbian Ltd.
Source model: Shared
Supported platforms: ARM (can be emulated on x86)
Kernel type: Real time
Default user interface: S60 platform, UIQ
Working state: Current
Symbian OS is a proprietary 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 Psion's EPOC and runs exclusively on ARM processors.
Symbian is currently owned by Nokia (47.9%), Ericsson (15.6%), Sony Ericsson (13.1%), Panasonic (10.5%), Siemens AG (8.4%) and Samsung (4.5%). While BenQ has acquired the mobile phone subsidiary of Siemens AG the Siemens AG stake in Symbian does not automatically pass to BenQ – this will need the approval of the Symbian Supervisory Board.
Contents
1Design
2Competition
3Structure
4History
4.1Psion
4.2EPOC16
4.3EPOC OS Releases 1–3
4.4EPOC Release 4
4.5EPOC Release 5 aka. Symbian OS 5
4.6ER5u aka. Symbian OS 5.1
4.7Symbian OS v6.0 and 6.1
4.8Symbian OS 7.0 and 7.0s
4.9Symbian OS 8.0
4.10Symbian OS 8.1
4.11Symbian OS 9.0
4.12Symbian OS 9.1
4.13Symbian OS 9.2
4.14Symbian OS 9.3
4.15Symbian OS 9.5
5Open Source Software for Symbian 9.1
5.1Utilities
5.2Game emulation
5.3Multimedia
6Security and malware
7Openness
8Devices that have used the Symbian OS
9Developing on Symbian OS
10See also
11Notes and references
12External links
Design
Symbian OS, with its roots in Psion Software's EPOC, 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 flavor of C++[citation needed] very specialised. However, many Symbian OS devices can also be programmed in OPL, Python, Visual Basic, Simkin, and Perl – together with the Java ME and PersonalJava flavors of Java.
Competition
SymbianOS EKA2 also supports sufficiently-fast real-time response that it is possible to build a single-core phone around it- that is, a phone in which a single processor core executes both the user applications and the signalling stack. This is not a feature that is available from Linux or Windows CE. This has allowed SymbianOS EKA2 phones to become smaller, cheaper and more power efficient[citation needed].
Statistics published July 2006 showed that Symbian OS had a 67% share of the 'smart mobile device' market, with Microsoft having 15% and RIM having 6%.[1]
Structure
At its lowest level lie the base components of Symbian OS. This includes the kernel (EKA1 or EKA2 – see the 'History' section), and the user library which allows user-side programs to request things of the kernel. Symbian OS has a microkernel architecture, which means that the minimum necessary is within the kernel. It contains a scheduler and memory management, but no networking or filesystem support. These functions 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). Symbian OS supports various filesystem types including FAT32 and Symbian OS-specific NOR flash filing systems. The filesystem is generally not exposed to the user through the phone user interface.
Immediately above base are a selection of system libraries. These take all shapes and sizes, including character set conversion, a DBMS database, and resource file handling.
Further up, the software is not so readily arranged into a stack.
The tone or style of this article or section may not be appropriate for Wikipedia.
Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions.
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. The subsystem also contains code that pertains to short-range communication links too, such as Bluetooth, IrDA and USB.
There is also a large volume of 'User Interface (UI) Code'. For the most part actual user interfaces are maintained by third parties. However the base classes and substructure are contained within the Symbian OS. This component is known as UIKON. The Symbian OS also contains the graphics, text layout, and font rendering libraries.
An application architecture provides for standard application types, embedding, and file and data recognition. There is 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 do not 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 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.
Symbian OS device manufacturers also get supplied with an example user interface layer called TechView. This is very similar to the user interface from a Psion Series 5 personal organiser, so isn't particularly similar to any given phone user interface, but provides a basis to start customisation. It is also the environment in which a lot of Symbian OS test code and example code runs.
History
Psion
In 1980, Psion was founded by David Potter.
EPOC16
Psion released several Series 3 devices from 1991 to 1998 which used the EPOC16 OS, also known as SIBO.
EPOC OS Releases 1–3
The Series 5 device, released in 1997, used the first iterations of the EPOC32 OS.
EPOC Release 4
Oregon Osaris and Geofox 1 were released using ER4.
In 1998, Symbian Ltd. was formed as a partnership between Ericsson, Nokia, Motorola and Psion, to explore the convergence between PDA's and mobile phones.
EPOC Release 5 aka. Symbian OS 5
Psion Series 5mx, Series 7, Psion Revo, Psion Netbook, netPad, Ericsson MC218 were released in 1999 using ER5.
ER5u aka. Symbian OS 5.1
The first phone, the Ericsson R380 was released using ER5u in 2000. It was not an 'open' phone – software could not be installed. Notably, a number of never-released Psion prototypes for next generation PDAs, including a Bluetooth Revo successor codenamed Conan were using ER5u. The 'u' in the name refers to the fact that it supported Unicode.
Symbian OS v6.0 and 6.1
Sometimes called ER6. The first 'open' Symbian OS phone, the Nokia 9210, was released in 2001.
Symbian OS 7.0 and 7.0s
First shipped in 2003. This is an important Symbian release which appeared with all contemporary user interfaces including UIQ (Sony Ericsson P800, P900, P910, Motorola A925, A1000), Series 80 (Nokia 9300, 9500), Series 90 (Nokia 7710), Series 60 (Nokia 3230, 6600, 7310) as well as several FOMA phones in Japan.
Symbian OS 7.0s was a version of 7.0 special adapted to have greater backwards compatibility with Symbian OS 6.x, partly for compatibility between the Communicator 9500 and its predecessor the Communicator 9210.
In 2004, Psion sold its stake in Symbian. The same year, the first worm for mobile phones using Symbian OS, Cabir, was developed, which used Bluetooth to spread itself to nearby phones. See Cabir and Symbian OS threats.
Symbian OS 8.0
First shipped in 2004, one of its advantages would have been a choice of two different kernels (EKA1 or EKA2). However, the EKA2 kernel version did not ship until Symbian OS 8.1b. The kernels behave more or less identically from user-side, but are internally very different. EKA1 was chosen by some manufacturers to maintain compatibility with old device drivers, while EKA2 offered advantages such as real-time response. 8.0b was deproductized in 2003.
Symbian OS 8.1
Basically a cleaned-up version of 8.0, this was available in 8.1a and 8.1b versions, with EKA1 and EKA2 kernels respectively. The 8.1b version, with EKA2's single-chip phone support but no additional security layer, was popular among Japanese phone companies desiring the real-time support but not allowing open application installation.
Symbian OS 9.0
This version was used for internal Symbian purposes only. It was deproductised in 2004. 9.0 marked the end of the road for EKA1. 8.1a is the final EKA1 version of Symbian OS.
Symbian OS has generally maintained reasonable binary compatibility. In theory the OS was BC from ER1-ER5, then from 6.0 to 8.1b. Substantial changes were needed for 9.0, related to tools and security, but this should be a one-off event. The move from requiring ARMv4 to requiring ARMv5 did not break backwards compatibility.
A Symbian developer proclaims that porting from Symbian 8.x to Symbian 9.x is a more daunting process than Symbian says.[2]
Symbian OS 9.1
Released early 2005. It includes many new security related features, particularly a controversial platform security module facilitating mandatory code signing. Symbian argues that applications and content, and therefore a developers investment, are better protected than ever, however others contend that the requirement that every application be signed (and thus approved) violates the rights of the end-user, the owner of the phone, and limits the amount of free software available. The new ARM EABI binary model means developers need to retool and the security changes mean they may have to recode. S60 platform 3rd Edition phones have Symbian OS 9.1. Sony Ericsson is shipping the M600 and P990 based on Symbian OS 9.1. The earlier versions had a fatal defect where the phone hangs temporarily after the owner sent hundreds of SMS'es. However, on 13 September 2006, Nokia released a small program to fix this defect.[3]
Support for Bluetooth 2.0 (was 1.2)
Symbian OS 9.2
Released Q1 2006. Support for OMA Device Management 1.2 (was 1.1.2). S60 3rd Edition Feature Pack 1 phones have Symbian OS 9.2. Nokia phones with Symbian OS 9.2 OS: Nokia N75, Nokia N76, Nokia 6120 Classic, Nokia E90, Nokia N95, Nokia 5700
Symbian OS 9.3
Released on 12 July 2006. Upgrades include improved memory management and native support for Wifi 802.11, HSDPA, Vietnamese language support.
Symbian OS 9.5
Announced in March 2007, it introduced demand paging. Applications should launch up to 75% faster. Native support for mobile digital television broadcasts in DVB-H and ISDB-T formats and also location services. Additionally, SQL support is provided by SQLite.
Open Source Software for Symbian 9.1
The following Open Source software has been rewritten for Symbian 9.1:
Utilities
PuTTY, a telnet/ssh client
Internet Radio
Ruby Programming Language
SymTorrent, a bittorrent client
Symella, a gnutella client
Python interpreter
Apache HTTP Server, a web server
Game emulation
ScummVM
Multimedia
OggPlay – Audio player with ogg vorbis audio format support
Symbian has announced PIPS (PIPS Is POSIX on Symbian) which may increase the number of Open Source projects written for Symbian 9.1.
Security and malware
Main article: Mobile virus
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 capability 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. Commercial developers who can afford the cost can apply to have their software signed via the Symbian Signed program. Currently, developers also have the option of self-signing their programs. However, the set of available features is smaller, and certain operators have opted on fully disabling certificates other than the Symbian Signed certificates.
Some other hostile programs are listed below, but all of them still require the input of the user to run.
Drever.A is a malicious SIS file trojan that attempts to disable the automatic startup from Simworks and Kaspersky Symbian Anti-Virus applications.
Locknut.B is a malicious SIS file trojan that pretends to be patch for Symbian S60 mobile phones. When installed, it drops a binary that will crash a critical system service component. This will prevent any application from being launched in the phone.
Mabir.A is basically Cabir with added MMS functionality. The two are written by the same author, and the code shares many similarities. It spreads using Bluetooth via the same routine as early variants of Cabir. As Mabir.A activates it will search for the first phone it finds, and starts sending copies of itself to that phone.
Frontal.A is a SIS file trojan that installs a corrupted file which causes the phone to fail at reboot. If the user tries to reboot the infected phone, it will be permanently stuck on the reboot, and cannot be used without disinfection – that is, the use of the reformat key combination which causes the phone to lose all data. Being a trojan, Frontal.A cannot spread by itself – the most likely way for the user to get infected would be to acquire the file from untrusted sources, and then install it to the phone, inadvertently or otherwise.
Another virus comes as an audio file. It saves itself in the sound clips folder as disco.mid.[citation needed]
Openness
Symbian is not Open Source software. However, phone manufacturers and other partners are provided with parts of its source code. The APIs are publicly documented and up to Symbian 8.1 anyone could develop software for Symbian OS.
Symbian 9.1 introduced capabilities and Platform Security framework. To access certain capabilities, the developer has to digitally sign their application. Basic capabilities are user-grantable and developer can self-sign them, more advanced require certification and signing via the Symbian Signed program; which uses independent Test Houses and/or phone manufacturer approval. For example file writing is a user-grantable capability, and access to Multimedia Device Drivers require phone manufacturer approval. TC TrustCenter ACS Publisher ID certificate required from developer for signing application with Test House. Signing application with Test House is not free, Symbian Signed provides free certification and signing for freeware application via the mobile software publisher Cellmania.
Despite appearing to be designed with the GNU Public License in mind, the free freeware signing is not actually compatible with the GPL. It requires the addition of a notification informing additional restrictions on the software above and beyond the terms of the GPL (that it is "freeware and may not be sold"). The addition of such restrictions by anyone other than the copyright holder would constitute a violation of the terms of the GPL.
Devices that have used the Symbian OS
On November 16, 2006, the 100 millionth smartphone running the OS was shipped.[4]
Ericsson R380 (2000) was the first commercially available phone based on Symbian OS. As with the modern "FOMA" phones, this device was closed, and the user could not install new C++ applications. Unlike those, however, the R380 could not even run Java applications, and for this reason, some have questioned whether it can properly be termed a 'smartphone'.
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
UIQ interface:
Used for PDAs such as Sony Ericsson P800 (2002), P900 (2003), P910 (2004), P990 (2005), W950 (2006), M600 (2006), P1 (2007), W960 (2007), Motorola A920, A925, A1000, RIZR Z8, RIZR Z10, DoCoMo M1000, BenQ P30, P31 and Nokia 6708 using this interface.
Nokia S60 (2002)
Nokia S60 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, Nokia 6670 and Nokia 3230. The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone combos are also S60 platform devices. It was also used on other manufacturers' phones such as the Siemens SX1, Sendo X, Panasonic X700, Panasonic X800, Samsung SGH-D730, SGH-D720 and the Samsung SGH-Z600. Recent, more advanced devices using S60 include the Nokia 6620, Nokia 6630, the Nokia 6680, Nokia 6681 and Nokia 6682, a next generation N series, including the Nokia N70, Nokia N72, Nokia N73, Nokia N75, Nokia N80, Nokia N90, Nokia N91, Nokia N92, Nokia N93 and Nokia N95, and the enterprise (i.e. business) model E series, including the Nokia E50, Nokia E60, Nokia E61, Nokia E62, Nokia E65, and Nokia E70. For an up to date list, refer to the Symbian S60 website.
Nokia 7710 (2004) using the Nokia Series 90 interface.
Fujitsu, Mitsubishi, Sony Ericsson and Sharp phones for NTT DoCoMo in Japan, using an interface developed specifically for DoCoMo's FOMA "Freedom of Mobile Access" network brand. This UI platform is called MOAP "Mobile Orientated Applications Platform" and is based on the UI from earlier Fujitsu FOMA models.
Developing on Symbian OS
There are multiple platforms, based upon Symbian OS, that provide an SDK for application developers wishing to target a Symbian OS device – the main ones being UIQ and S60. Individual phone products, or families, often have SDKs or SDK extensions downloadable from the manufacturer's website too. The SDKs contain documentation, the header files and library files required to build Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS version 8, the SDKs also included a version of the GCC compiler (a cross-compiler) required to build software to work on the device.
Symbian OS 9 uses a new ABI and so requires a new compiler – a choice of compilers is available including a new version of GCC (see external links below). In terms of SDKs, UIQ Technology now provides a simplified framework so that the single UIQ SDK forms the basis for developing on all UIQ 3 devices, such as the Sony Ericsson P990 and Sony Ericsson M600.
Symbian C++ programming is commonly done with an IDE. For previous versions of Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. Carbide.c++ is offered in 4 different versions: Express, Developer, Professional, and OEM, with increasing levels of capability. Full featured software can be created and released with the Express edition, which is free. Features such as UI design, crash debugging etc. are available in the other charged for editions.
Visual Basic, VB.NET, and C# development for Symbian were posible through AppForge Crossfire, a plugin for Microsoft Visual Studio. March 13, 2007 AppForge ceased operations, Oracle purchased the intellectual property, but announced that they do not plan to sell or provide support for former AppForge products going forward.
There is also a version of a Borland IDE for Symbian OS. Symbian OS development is also possible on Linux and Mac OS X using tools and techniques developed by the community, partly enabled by Symbian releasing the source code for key tools. A plugin that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X is available.[5]
Once developed, Symbian OS applications need to find a route to customers' mobile phones. They are packaged in SIS files which may be installed over-the-air, via PC connect or in some cases via Bluetooth or memory cards. An alternative is to partner with a phone manufacturer to have the software included on the phone itself. The SIS file route is more difficult for Symbian OS 9.x, because any application wishing to have any capabilities beyond the bare minimum must be signed via the Symbian Signed program.
Java ME applications for Symbian OS are developed using standard techniques and tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans. Other tools include SuperWaba, which can be used to build Symbian 7.0 and 7.0s programs using Java.
Nokia S60 phones can also run python scripts when the interpreter is installed, with a custom made API that allows for Bluetooth support and such. There is also an interactive console to allow the user to write python scripts directly from the phone.
Symbian OS
Website: http://www.symbian.com
Company/
developer: Symbian Ltd.
Source model: Shared
Supported platforms: ARM (can be emulated on x86)
Kernel type: Real time
Default user interface: S60 platform, UIQ
Working state: Current
Symbian OS is a proprietary 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 Psion's EPOC and runs exclusively on ARM processors.
Symbian is currently owned by Nokia (47.9%), Ericsson (15.6%), Sony Ericsson (13.1%), Panasonic (10.5%), Siemens AG (8.4%) and Samsung (4.5%). While BenQ has acquired the mobile phone subsidiary of Siemens AG the Siemens AG stake in Symbian does not automatically pass to BenQ – this will need the approval of the Symbian Supervisory Board.
Contents
1Design
2Competition
3Structure
4History
4.1Psion
4.2EPOC16
4.3EPOC OS Releases 1–3
4.4EPOC Release 4
4.5EPOC Release 5 aka. Symbian OS 5
4.6ER5u aka. Symbian OS 5.1
4.7Symbian OS v6.0 and 6.1
4.8Symbian OS 7.0 and 7.0s
4.9Symbian OS 8.0
4.10Symbian OS 8.1
4.11Symbian OS 9.0
4.12Symbian OS 9.1
4.13Symbian OS 9.2
4.14Symbian OS 9.3
4.15Symbian OS 9.5
5Open Source Software for Symbian 9.1
5.1Utilities
5.2Game emulation
5.3Multimedia
6Security and malware
7Openness
8Devices that have used the Symbian OS
9Developing on Symbian OS
10See also
11Notes and references
12External links
Design
Symbian OS, with its roots in Psion Software's EPOC, 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 flavor of C++[citation needed] very specialised. However, many Symbian OS devices can also be programmed in OPL, Python, Visual Basic, Simkin, and Perl – together with the Java ME and PersonalJava flavors of Java.
Competition
SymbianOS EKA2 also supports sufficiently-fast real-time response that it is possible to build a single-core phone around it- that is, a phone in which a single processor core executes both the user applications and the signalling stack. This is not a feature that is available from Linux or Windows CE. This has allowed SymbianOS EKA2 phones to become smaller, cheaper and more power efficient[citation needed].
Statistics published July 2006 showed that Symbian OS had a 67% share of the 'smart mobile device' market, with Microsoft having 15% and RIM having 6%.[1]
Structure
At its lowest level lie the base components of Symbian OS. This includes the kernel (EKA1 or EKA2 – see the 'History' section), and the user library which allows user-side programs to request things of the kernel. Symbian OS has a microkernel architecture, which means that the minimum necessary is within the kernel. It contains a scheduler and memory management, but no networking or filesystem support. These functions 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). Symbian OS supports various filesystem types including FAT32 and Symbian OS-specific NOR flash filing systems. The filesystem is generally not exposed to the user through the phone user interface.
Immediately above base are a selection of system libraries. These take all shapes and sizes, including character set conversion, a DBMS database, and resource file handling.
Further up, the software is not so readily arranged into a stack.
The tone or style of this article or section may not be appropriate for Wikipedia.
Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions.
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. The subsystem also contains code that pertains to short-range communication links too, such as Bluetooth, IrDA and USB.
There is also a large volume of 'User Interface (UI) Code'. For the most part actual user interfaces are maintained by third parties. However the base classes and substructure are contained within the Symbian OS. This component is known as UIKON. The Symbian OS also contains the graphics, text layout, and font rendering libraries.
An application architecture provides for standard application types, embedding, and file and data recognition. There is 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 do not 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 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.
Symbian OS device manufacturers also get supplied with an example user interface layer called TechView. This is very similar to the user interface from a Psion Series 5 personal organiser, so isn't particularly similar to any given phone user interface, but provides a basis to start customisation. It is also the environment in which a lot of Symbian OS test code and example code runs.
History
Psion
In 1980, Psion was founded by David Potter.
EPOC16
Psion released several Series 3 devices from 1991 to 1998 which used the EPOC16 OS, also known as SIBO.
EPOC OS Releases 1–3
The Series 5 device, released in 1997, used the first iterations of the EPOC32 OS.
EPOC Release 4
Oregon Osaris and Geofox 1 were released using ER4.
In 1998, Symbian Ltd. was formed as a partnership between Ericsson, Nokia, Motorola and Psion, to explore the convergence between PDA's and mobile phones.
EPOC Release 5 aka. Symbian OS 5
Psion Series 5mx, Series 7, Psion Revo, Psion Netbook, netPad, Ericsson MC218 were released in 1999 using ER5.
ER5u aka. Symbian OS 5.1
The first phone, the Ericsson R380 was released using ER5u in 2000. It was not an 'open' phone – software could not be installed. Notably, a number of never-released Psion prototypes for next generation PDAs, including a Bluetooth Revo successor codenamed Conan were using ER5u. The 'u' in the name refers to the fact that it supported Unicode.
Symbian OS v6.0 and 6.1
Sometimes called ER6. The first 'open' Symbian OS phone, the Nokia 9210, was released in 2001.
Symbian OS 7.0 and 7.0s
First shipped in 2003. This is an important Symbian release which appeared with all contemporary user interfaces including UIQ (Sony Ericsson P800, P900, P910, Motorola A925, A1000), Series 80 (Nokia 9300, 9500), Series 90 (Nokia 7710), Series 60 (Nokia 3230, 6600, 7310) as well as several FOMA phones in Japan.
Symbian OS 7.0s was a version of 7.0 special adapted to have greater backwards compatibility with Symbian OS 6.x, partly for compatibility between the Communicator 9500 and its predecessor the Communicator 9210.
In 2004, Psion sold its stake in Symbian. The same year, the first worm for mobile phones using Symbian OS, Cabir, was developed, which used Bluetooth to spread itself to nearby phones. See Cabir and Symbian OS threats.
Symbian OS 8.0
First shipped in 2004, one of its advantages would have been a choice of two different kernels (EKA1 or EKA2). However, the EKA2 kernel version did not ship until Symbian OS 8.1b. The kernels behave more or less identically from user-side, but are internally very different. EKA1 was chosen by some manufacturers to maintain compatibility with old device drivers, while EKA2 offered advantages such as real-time response. 8.0b was deproductized in 2003.
Symbian OS 8.1
Basically a cleaned-up version of 8.0, this was available in 8.1a and 8.1b versions, with EKA1 and EKA2 kernels respectively. The 8.1b version, with EKA2's single-chip phone support but no additional security layer, was popular among Japanese phone companies desiring the real-time support but not allowing open application installation.
Symbian OS 9.0
This version was used for internal Symbian purposes only. It was deproductised in 2004. 9.0 marked the end of the road for EKA1. 8.1a is the final EKA1 version of Symbian OS.
Symbian OS has generally maintained reasonable binary compatibility. In theory the OS was BC from ER1-ER5, then from 6.0 to 8.1b. Substantial changes were needed for 9.0, related to tools and security, but this should be a one-off event. The move from requiring ARMv4 to requiring ARMv5 did not break backwards compatibility.
A Symbian developer proclaims that porting from Symbian 8.x to Symbian 9.x is a more daunting process than Symbian says.[2]
Symbian OS 9.1
Released early 2005. It includes many new security related features, particularly a controversial platform security module facilitating mandatory code signing. Symbian argues that applications and content, and therefore a developers investment, are better protected than ever, however others contend that the requirement that every application be signed (and thus approved) violates the rights of the end-user, the owner of the phone, and limits the amount of free software available. The new ARM EABI binary model means developers need to retool and the security changes mean they may have to recode. S60 platform 3rd Edition phones have Symbian OS 9.1. Sony Ericsson is shipping the M600 and P990 based on Symbian OS 9.1. The earlier versions had a fatal defect where the phone hangs temporarily after the owner sent hundreds of SMS'es. However, on 13 September 2006, Nokia released a small program to fix this defect.[3]
Support for Bluetooth 2.0 (was 1.2)
Symbian OS 9.2
Released Q1 2006. Support for OMA Device Management 1.2 (was 1.1.2). S60 3rd Edition Feature Pack 1 phones have Symbian OS 9.2. Nokia phones with Symbian OS 9.2 OS: Nokia N75, Nokia N76, Nokia 6120 Classic, Nokia E90, Nokia N95, Nokia 5700
Symbian OS 9.3
Released on 12 July 2006. Upgrades include improved memory management and native support for Wifi 802.11, HSDPA, Vietnamese language support.
Symbian OS 9.5
Announced in March 2007, it introduced demand paging. Applications should launch up to 75% faster. Native support for mobile digital television broadcasts in DVB-H and ISDB-T formats and also location services. Additionally, SQL support is provided by SQLite.
Open Source Software for Symbian 9.1
The following Open Source software has been rewritten for Symbian 9.1:
Utilities
PuTTY, a telnet/ssh client
Internet Radio
Ruby Programming Language
SymTorrent, a bittorrent client
Symella, a gnutella client
Python interpreter
Apache HTTP Server, a web server
Game emulation
ScummVM
Multimedia
OggPlay – Audio player with ogg vorbis audio format support
Symbian has announced PIPS (PIPS Is POSIX on Symbian) which may increase the number of Open Source projects written for Symbian 9.1.
Security and malware
Main article: Mobile virus
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 capability 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. Commercial developers who can afford the cost can apply to have their software signed via the Symbian Signed program. Currently, developers also have the option of self-signing their programs. However, the set of available features is smaller, and certain operators have opted on fully disabling certificates other than the Symbian Signed certificates.
Some other hostile programs are listed below, but all of them still require the input of the user to run.
Drever.A is a malicious SIS file trojan that attempts to disable the automatic startup from Simworks and Kaspersky Symbian Anti-Virus applications.
Locknut.B is a malicious SIS file trojan that pretends to be patch for Symbian S60 mobile phones. When installed, it drops a binary that will crash a critical system service component. This will prevent any application from being launched in the phone.
Mabir.A is basically Cabir with added MMS functionality. The two are written by the same author, and the code shares many similarities. It spreads using Bluetooth via the same routine as early variants of Cabir. As Mabir.A activates it will search for the first phone it finds, and starts sending copies of itself to that phone.
Frontal.A is a SIS file trojan that installs a corrupted file which causes the phone to fail at reboot. If the user tries to reboot the infected phone, it will be permanently stuck on the reboot, and cannot be used without disinfection – that is, the use of the reformat key combination which causes the phone to lose all data. Being a trojan, Frontal.A cannot spread by itself – the most likely way for the user to get infected would be to acquire the file from untrusted sources, and then install it to the phone, inadvertently or otherwise.
Another virus comes as an audio file. It saves itself in the sound clips folder as disco.mid.[citation needed]
Openness
Symbian is not Open Source software. However, phone manufacturers and other partners are provided with parts of its source code. The APIs are publicly documented and up to Symbian 8.1 anyone could develop software for Symbian OS.
Symbian 9.1 introduced capabilities and Platform Security framework. To access certain capabilities, the developer has to digitally sign their application. Basic capabilities are user-grantable and developer can self-sign them, more advanced require certification and signing via the Symbian Signed program; which uses independent Test Houses and/or phone manufacturer approval. For example file writing is a user-grantable capability, and access to Multimedia Device Drivers require phone manufacturer approval. TC TrustCenter ACS Publisher ID certificate required from developer for signing application with Test House. Signing application with Test House is not free, Symbian Signed provides free certification and signing for freeware application via the mobile software publisher Cellmania.
Despite appearing to be designed with the GNU Public License in mind, the free freeware signing is not actually compatible with the GPL. It requires the addition of a notification informing additional restrictions on the software above and beyond the terms of the GPL (that it is "freeware and may not be sold"). The addition of such restrictions by anyone other than the copyright holder would constitute a violation of the terms of the GPL.
Devices that have used the Symbian OS
On November 16, 2006, the 100 millionth smartphone running the OS was shipped.[4]
Ericsson R380 (2000) was the first commercially available phone based on Symbian OS. As with the modern "FOMA" phones, this device was closed, and the user could not install new C++ applications. Unlike those, however, the R380 could not even run Java applications, and for this reason, some have questioned whether it can properly be termed a 'smartphone'.
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
UIQ interface:
Used for PDAs such as Sony Ericsson P800 (2002), P900 (2003), P910 (2004), P990 (2005), W950 (2006), M600 (2006), P1 (2007), W960 (2007), Motorola A920, A925, A1000, RIZR Z8, RIZR Z10, DoCoMo M1000, BenQ P30, P31 and Nokia 6708 using this interface.
Nokia S60 (2002)
Nokia S60 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, Nokia 6670 and Nokia 3230. The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone combos are also S60 platform devices. It was also used on other manufacturers' phones such as the Siemens SX1, Sendo X, Panasonic X700, Panasonic X800, Samsung SGH-D730, SGH-D720 and the Samsung SGH-Z600. Recent, more advanced devices using S60 include the Nokia 6620, Nokia 6630, the Nokia 6680, Nokia 6681 and Nokia 6682, a next generation N series, including the Nokia N70, Nokia N72, Nokia N73, Nokia N75, Nokia N80, Nokia N90, Nokia N91, Nokia N92, Nokia N93 and Nokia N95, and the enterprise (i.e. business) model E series, including the Nokia E50, Nokia E60, Nokia E61, Nokia E62, Nokia E65, and Nokia E70. For an up to date list, refer to the Symbian S60 website.
Nokia 7710 (2004) using the Nokia Series 90 interface.
Fujitsu, Mitsubishi, Sony Ericsson and Sharp phones for NTT DoCoMo in Japan, using an interface developed specifically for DoCoMo's FOMA "Freedom of Mobile Access" network brand. This UI platform is called MOAP "Mobile Orientated Applications Platform" and is based on the UI from earlier Fujitsu FOMA models.
Developing on Symbian OS
There are multiple platforms, based upon Symbian OS, that provide an SDK for application developers wishing to target a Symbian OS device – the main ones being UIQ and S60. Individual phone products, or families, often have SDKs or SDK extensions downloadable from the manufacturer's website too. The SDKs contain documentation, the header files and library files required to build Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS version 8, the SDKs also included a version of the GCC compiler (a cross-compiler) required to build software to work on the device.
Symbian OS 9 uses a new ABI and so requires a new compiler – a choice of compilers is available including a new version of GCC (see external links below). In terms of SDKs, UIQ Technology now provides a simplified framework so that the single UIQ SDK forms the basis for developing on all UIQ 3 devices, such as the Sony Ericsson P990 and Sony Ericsson M600.
Symbian C++ programming is commonly done with an IDE. For previous versions of Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. Carbide.c++ is offered in 4 different versions: Express, Developer, Professional, and OEM, with increasing levels of capability. Full featured software can be created and released with the Express edition, which is free. Features such as UI design, crash debugging etc. are available in the other charged for editions.
Visual Basic, VB.NET, and C# development for Symbian were posible through AppForge Crossfire, a plugin for Microsoft Visual Studio. March 13, 2007 AppForge ceased operations, Oracle purchased the intellectual property, but announced that they do not plan to sell or provide support for former AppForge products going forward.
There is also a version of a Borland IDE for Symbian OS. Symbian OS development is also possible on Linux and Mac OS X using tools and techniques developed by the community, partly enabled by Symbian releasing the source code for key tools. A plugin that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X is available.[5]
Once developed, Symbian OS applications need to find a route to customers' mobile phones. They are packaged in SIS files which may be installed over-the-air, via PC connect or in some cases via Bluetooth or memory cards. An alternative is to partner with a phone manufacturer to have the software included on the phone itself. The SIS file route is more difficult for Symbian OS 9.x, because any application wishing to have any capabilities beyond the bare minimum must be signed via the Symbian Signed program.
Java ME applications for Symbian OS are developed using standard techniques and tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans. Other tools include SuperWaba, which can be used to build Symbian 7.0 and 7.0s programs using Java.
Nokia S60 phones can also run python scripts when the interpreter is installed, with a custom made API that allows for Bluetooth support and such. There is also an interactive console to allow the user to write python scripts directly from the phone.
Labels: Symbian OS Overview

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home