|
|
| Symbian OS V.9 - Advances in the Symbian OS |
EMCC Software
Friday, 02 September 2005
Symbian, creators of the world’s leading smartphone platform, announced version 9 of their operating system earlier this year. Changes to version 9, combined with those in version 8, are probably the most significant to date.Symbian OS version 8 saw the availability of a new hard real-time kernel (EKA2)
and version 9 introduced major advances in platform security. This article focuses
on the key changes in Symbian OS and their impact on software development, further
articles will cover advances in Series 60 and UQ user interface platforms.
General
As is usually the case with whole number revisions of Symbian OS this means a
total binary compatibility (BC) break with previous versions. Hence some APIs
have changed and extensive new functionality and APIs are present. However, the
introduction of version 9 also means new tool chains are now required– specifically
a new compiler. The good news is that this brings a reduced ROM footprint and
moderately increased execution performance.
EKA2 Kernel
The new multithreaded kernel (EKA2) provides predictable (hard) real-time performance
and was introduced in Symbian OS v8 as an alternative to the original kernel (EKA1);
EKA2 became standard in version 9. Prior to EKA2, all Symbian based devices required
dual chip (CPU) hardware platforms, as it was not possible to have one processor
supporting the applications and cellular interactions simultaneously. Predictable
real time operation means that the OS will respond to interrupts, system and user
threads within a known period. So any task in the system cannot prevent the OS
from responding to key tasks (such as telephony stacks) that must be serviced
within a given time if data is not to be lost or corrupted. Single chip hardware
solutions for Symbian OS based phones are now possible, thus reducing the bill
of materials (BOM) significantly. In addition to allowing direct implementation
of telephony stacks, the new kernel provides much better support for media-rich
applications, fast action games and protocols such as VoIP. The new kernel also
allows easier creation of device drivers – since multiple kernel threads can be
used in a device driver and because the overall device driver architecture is
much improved.
EKA2 now supports global write-able static data (WSD) in DLLs that, although
strongly discouraged in well-designed Symbian OS code, does ease the problem of
porting legacy code to Symbian OS devices, where EKA2 is implemented. Since applications
are App DLLs this applies to applications too. Version 9 of Symbian OS is based
on EKA2 but the application format has changed from App DLL to EXE. Write-able
static data is therefore allowed in all applications from version 9 onwards. The
change of application format, from version 9 onwards, has a number of other effects
on the configuration of application source code files and build/configuration
files, but these are only minor.
Platform Security
The platform security framework in Symbian OS v9 is aimed at maintaining confidentiality
for private data and to limit API access to sensitive operations. It involves
three important concepts: Data caging controls access to the file system so that
data privacy can be securely controlled. Each application has its own directory
for storing private data and other directories containing resources and executables
have limitations on access. This allows applications to guarantee a secure data
store e.g. for e-commerce. An application can access other directories marked
as open but cannot access another application’s private directory.
The Capability Model ensures that only trusted applications, created via digital
certification (i.e. “Symbian Signed”), are able to use certain APIs and system
resources. The three levels of permissions are for “Unsigned Applications”, “Symbian
Signed basic” and “Symbian Signed extended” with the latter providing the widest
access. Around 60% of Symbian OS v9 APIs are available without restrictions.
The Trusted Computing Base (TCB) includes the kernel, file system, and software
installer. Only applications with the necessary permissions and authority are
allowed to access restricted areas of the device The aims are to protect the integrity
of the phone, provide extra control over user billable events and to prevent rather
than detect and react to malicious software that may try to corrupt executables
and data. The Symbian Signed program defines development, operational and testing
standards while building in accountability to applications so they are traceable
back to the developer or publisher. The certification process only applies to
native C++ application and not to JavaTM applications. However, installation of
JavaTM MIDP 2.0 MIDlets, including authentication of MIDlets using digital signatures
is supported in version 9.
Development and Testing
Initial development, testing and debugging takes place on an emulator that allows
full API access control. Emulators can be configured to run in a number of ways;
the settings can be changed by adding keywords to the emulator’s initialisation
file (by default epoc32dataepoc.ini). For example using “PlatSecEnforcement
On” enables platform security enforcement and “PlatSecEnforcement Off” disables
it.
When an application is ready for debugging and testing on the target phone, Developer
Certificates provide controlled access to restricted APIs on the device itself.
Developer Certificates are locked to specific target phones (via IMEI/ESN number)
and allow applications to be tested on a standard target phone only and limit
the capabilities that the signed application can access. Registration on the Symbian
Signed website http://www.symbiansigned.com is required in order to apply for
a Developer Certificate.
Certification
Full details of the process of getting a .SIS file signed with a trusted certificate
for Symbian Signed can be found at http://www.symbiansigned.com. The essential
steps needed are:
- Obtain an ACS Publisher ID, to have the developer identity confirmed
- Create a .SIS file for the application
- Sign the .SIS file with the ACS publisher ID key and submit it (zipped, along
with the .PKG file and the user documentation) to a selected Test House
- Test House ensures signature is valid, installs .SIS file and tests it
- If .SIS file passes validation the .SIS is re-signed with a Content Certificate
linked to the Symbian root and which has a unique identifier
- The application is now Symbian Signed.
Costs and Benefits
The changes in Symbian OS version 9 will have a significant impact on developers;
the key effects are listed below.
Given extended support for single chip devices the costs of production for some
devices could be significantly reduced thereby encouraging demand. Increased volumes
of cheaper Symbian OS based phones are likely to enter the market
Developers will benefit from the real time kernel services as they enable Voice
over IP (VoIP) and high bandwidth multimedia applications such as video streaming
EKA2 provides enhanced process emulation in the Win 32 emulator ensuring a more
faithful emulation of the target hardware - so less on-target debugging and WINS
platform-specific code is required. Porting of legacy code is made easier
Developing (or porting) for v9 based devices will involve some new complexity
due to the platform security changes. Unsigned applications are very restricted
in what they can do, thus reducing the probability of malicious software affecting
phones and networks. During the development phase of a project, a Symbian developer
certificate is needed to test an application that uses any of the restricted APIs
on a device. An R&D certificate is required for testing an application on
a specific phone.
There are additional costs associated with Symbian Signed certification – education,
design, coding, testing and signing charges and new tools (compiler) are needed
to move to version 9 developments
This framework will present restrictions for individual developers that do not
wish to go through the Symbian Signed certification process. Additionally there
are various levels of certification available for the range of platform stakeholders;
Symbian OS licensees will be granted more extensive access than a third-party
developer Symbian signing, effectively mandatory for complex applications, will
promote increased consumer and distributor confidence regarding the safety, security
and efficiency of applications for sale. Operators will have increased protection
for their networks and brands.
Future Directions
Key areas of future development for Symbian devices includes:
- Enhanced games development – the introduction of a real time kernel allows the
development of faster and media
- rich games - Symbian OS continues to build on outstanding music and video capabilities
that maximize the entertainment value of applications
- Enterprise applications – Symbian OS v9 addresses concerns raised about security
of application data and communications
Smartphones are gaining greater market share at the expense of other handheld
devices. However, mobile enterprise communications will be increasingly accessible
to smartphone developers Support for variations in device hardware through single
and dual-chip devices will allow market segmentation through device configurations
with a wider range of form factors and price. Symbian devices will move into the
mid price range and at the top end we will see significantly enhanced functionality.
EMCC Software Ltd, Tel: +44 (0) 161 919 0100 Mobile: +44 (0) 7917 846 289 Fax:
+44 (0) 161 919 0161 http://www.emccsoft.com/ www.emccsoft.com
|
|
|
|
|
|
|