Evolving the Symbian OS
See the opportunities for Symbian-based midrange handsets these technical enhancements will give mobile application developers.
by Mark Shackman
April, 17, 2006
The focus of Symbian OS version 9 is to enable high-volume, midrange handsets and to address the requirements of this market through an industry-standard application binary interface (ABI), a real-time kernel, and an enhanced platform security model. Additionally, Symbian OS version 9 implements an API baseline that will be maintained through future releases to enable easier porting of applications among Symbian OS phones. Let's take a look at what's new in this latest version of the Symbian OS.
There are several new and changed application programming interfaces (APIs) in Symbian OS version 9. Symbian OS introduced a number of APIs to support recent software standards and hardware. The OMA standards evolution (formerly SyncML) includes OMA Data Synchronization 1.1, which is used for agenda and contacts, and OMA Device Management 1.1.2, which is used for device management. It also supports OMA client provisioning 1.2. Within personal area networking there is support for a Bluetooth stereo headset and USB mass storage; multimega-pixel cameras are supported; and within security there are specific changes for DRM framework support and API updates that are required for platform security.
There are also some new and updated tools. Symbian OS version 9 is built with ARM's RealView Compilation Tools (RVCT) 2.2, which fully supports the ARM 5 and later architectures. RVCT delivers substantial performance and footprint benefits compared to the earlier GCC compiler, and the ARM ABI allows applications to be built with alternative, compatible compilers. Additionally, the ARM ABI enables Standard C++ support. In Symbian OS version 9, this support has already begun by enabling generation of runtime type information (RTTI) and implementing Symbian OS native exceptions in terms of C++ exceptions, without requiring developers to make any source code changes.
Symbian OS version 9 continues to support a GNU Compiler Collection (GCC) compiler for low-cost application development, with the required version having been updated from GCC 2.98 to GCC 3.4. As GCC 3.4 is compatible with RVCT 2.2, developers have a choice between the low-cost compiler and a high-performance compiler. The Metrowerks CodeWarrior IDE has been joined by Nokia's Carbide, an Eclipse-based solution, with an entry-level product that will be free to download. This toolset allows developers to code for Symbian OS without incurring any tools cost.
Note that the use of a new tool chain means that code compiled for previous versions of Symbian OS is not binary compatible with Symbian OS version 9 code. The introduction of enhanced platform security has necessitated a small number of changes to APIs that have broken source compatibility as well. (See "Efficient MIDP for Symbian-Based Devices" for information about overcoming execution environment challenges when developing mobile Java mobile applications for Symbian OS-based handsets.)
Large changes have been made to the core of Symbian OS to both protect the user (in terms of confidentiality and expenditure) and the network, and also to provide comprehensive support for new functionality such as digital rights management and device management. New concepts such as data protection, or caging, and restricting some API usage have been introduced. These platform security enhancements represent an evolution of the existing perimeter security model of Symbian OS and help ensure the stability of the platform.
Back to top