Introduction To Symbian
Introduction To Symbian
Symbian OS
Introduction to Symbian OS Characteristics of Symbian v.7.0s Enhancements in Symbian v.9 Leaves vs. Exceptions Event-drive multitasking using Active Objects Active Objects scheduler Threads and Processes
What?
An operating system for mobile devices with limited resources, multitasking needs and soft real time requirements. Based on a modular, layered, micro-kernel approach.
Requirements?
Resilient power-management Careful use of memory resources Multi-tasking (e.g, phone calls, messages, alarms, games, wap browser, camera, bluetooth app, etc.) Soft Real-Time (e.g., incoming phone call) Robust
Background
Symbian OS was designed for mobile devices, from its earliest incarnation as EPOC32 in the Psion Series 5. Symbian OS is a consortium formed in 1998 and owned by Psion, Nokia, Sony Ericsson, Panasonic (Matsushita), and Siemens. The shareholders are licensees of Symbian OS. In addition, because Symbian OS is an open platform, any manufacturer can license it.
Supported Hardware
Motorola A1000 FOMA F880iES Nokia 3230 BenQ P30 FOMA F900iC Nokia 7710 Sony Ericsson P910 FOMA F901iC Arima U300 Nokia 7610 Panasonic X700 Lenovo P930 FOMA F900i FOMA F900iT FOMA F900iC Nokia 7710 Sony Ericsson P910 FOMA F901iC Lenovo P930 FOMA F900i FOMA F900iT Panasonic X800 kia 6600 FOMA F700i Motorola A1010 Nokia N-Gage QD and many more
From http://www.symbian.com/phones/
Layers in SymbianOS
Browsing
the suite includes engines for contacts, schedule, messaging, browsing, utility and system control; OBEX for exchanging objects such as appointments (using the industry standard vCalendar) and business cards (vCard); integrated APIs for data management, text, clipboard and graphics
a WAP stack is provided with support for WAP 1.2.1 for mobile browsing multimedia messaging (MMS), enhanced messaging (EMS) and SMS; internet mail using POP3, IMAP4, SMTP and MHTML; attachments; fax audio and video support for recording, playback and streaming; image conversion direct access to screen and keyboard for high performance; graphics accelerator API
Messaging
Multimedia
Graphics
Cont.
Communications protocols
Mobile telephony
wide-area networking stacks including TCP/IP (dual mode IPv4/v6) and WAP, personal area networking support include infrared (IrDA), Bluetooth and USB; support is also provided for multihoming capabilities and link layer Quality-of-Service (QoS) on GPRS/UMTS Symbian OS v7.0s is ready for the 3G market with support for GSM circuit switched voice and data (CSD and EDGE ECSD) and packet-based data (GPRS and EDGE EGPRS); CDMA circuit switched voice, data and packet-based data (IS-95, cdma2000 1x, and WCDMA); SIM, RUIM and UICC Toolkit; Other standards can be implemented by licensees through extensible APIs of the telephony subsystem. conforms to the Unicode Standard version 3.0 over-the-air (OTA) synchronization support using SyncML; PCbased synchronization over serial, Bluetooth, Infrared and USB; a PC Connectivity framework providing the ability to transfer files and synchronize PIM data.
International support
Data synchronization
Cont.
Security
full encryption and certificate management, secure protocols (HTTPS, WTLS and SSL and TLS), WIM framework and certificate-based application installation content development options include: C++, Java (J2ME) MIDP 2.0 (Mobile Information Device Profile) and PersonalJava 1.1.1a (with JavaPhone 1.0 option), and WAP; tools are available for building C++ and Java applications and ROMs with support for on-target debugging generic input mechanism supporting full keyboard, 0-9*# (numeric mobile phone keypad), voice, handwriting recognition and predictive text input 2.1
User Inputs
Multimedia Framework
Cont.
The Multimedia Framework (MMF) provides a lightweight, multi-threaded framework for handling multimedia data. The framework provides audio recording and playback, audio streaming and image related functionality. Support is provided for video recording, playback and streaming. The image conversion library is a lightweight, optionally multithreaded, client-side framework for still image codecs and conversion; Plug-ins supplied by Symbian include JPEG, GIF, BMP, MBM, SMS, WBMP, PNG, TIFF, WMF and ICO. Third party plug-ins are enabled through the extensible nature of the framework. Camera support: An onboard camera API providing a consistent interface to basic camera functions
Java
Java can run also on small devices. But a full Java Virtual Machine is not implementable. Therefore, a subset of the Java Virtual Machine is implemented called Micro Edition.
J2ME Architecture
40 80 KB in size For devices with 160 KB of memory and 16 or 32-bit RISC/CISC microprocessors
Cont.
Cont.
The Mobile Information Device Profile (MIDP) is a key element of the Java 2 Platform, Mobile Edition (J2ME). When combined with the Connected Limited Device Configuration (CLDC), MIDP provides a standard Java runtime environment. The MIDP specification defines a platform for dynamically and securely deploying optimized, graphical, networked applications. CLDC and MIDP provide the core application functionality required by mobile applications, in the form of a standardized Java runtime environment and a rich set of Java APIs.
J2ME Applications
Midlet Lifecycle
128 kilobytes of non-volatile1 memory is available for the Java virtual machine and CLDC libraries at least 32 kilobytes of volatile2 memory is available for the Java runtime and object memory No floating point support (since floating point HW is often missing) No finalization (Object.finalize()) Smaller set of exception types Java Native Interface (JNI): is platform dependent No support for user defined class loaders No reflection No support for Thread groups and deamon thread No support for weak references More lightweight class verifier
Java VM on Symbian
Cont.
Symbian OS v7.0s implementation provides MIDP 2.0, CLDC 1.0 with Sun's CLDC HI Java VM, Bluetooth 1.0, and Wireless Messaging 1.0. It also includes PersonalJava with the JavaPhone APIs. J2ME CLDC/MIDP2.0 provides a fast Java environment, has a tight footprint, and provides a framework that scales smoothly from constrained smartphones to more capable ones. supports the Over-the-Air (OTA) recommended practice document for MIDlet installation mandated by the MIDP 2.0 specification heap size, code size, and persistent storage are unconstrained, allowing larger, more compelling MIDlets to be run MIDlets look and behave very much as native applications: they use the native application installer and launcher, and native UI components supports native color depth (4096 colors) Generic Connection Framework implementation including sockets, server sockets, datagram sockets, secure sockets , HTTP and HTTPS provides debugging support implements Bluetooth (excluding push and OBEX) implements Wireless messaging
PersonalJava on Symbian
support for Unicode across the Host Porting Interface support for ARM JTEK (Jazelle) technology for Java hardware acceleration and ARM VTK (VMA technology kit) for Java software acceleration JVMDI for remote debugging (TCP/IP over the serial link) Symbian OS SDK for Java tools. Runtime customization tools
JavaPhone on Symbian
The JavaPhone component delivers a set of APIs that extend the PersonalJava runtime to access important native functionality including telephony, agenda, contacts, messaging and power monitoring. Symbian OS provides the JavaPhone 1.0 reference implementation.
JavaPhone APIs: address book (based on the contacts application engine), calendar (based on the agenda application engine), user profile, network datagram, and power monitor (minimal implementation). optional PersonalJava interfaces: serial communications, secure socket communications (HTTPS is supported, javax.net.ssl is not implemented) Java Telephony API: JTAPI Core package Java Telephony API (mobile): Java Mobile API Core interfaces, MobileProvider, MobileProviderEvent, MobileProviderListener, MobileAddress, MobileTerminal, MobileNetwork, MobileRadio, MobileRadioEvent and MobileRadioListener
Enhancements in Symbian v9
Java support
Hardware support
latest Java standards: including MIDP 2.0, CLDC 1.1, JTWI (JSR185), Mobile Media API (JSR135), Java API for Bluetooth (JSR082), Wireless Messaging (JSR120), Mobile 3D Graphics API (JSR184) and Personal Information Management and FileGCF APIs (JSR075) supports latest CPU architectures, peripherals and internal and external memory types direct access to screen and keyboard for high performance; graphics accelerator API; increased UI flexibility (support for multiple simultaneous display, multiple display sizes and multiple display orientation)
Graphics
Cont.
Platform security
Communications protocols
proactive system defence mechanism based on granting and monitoring application capabilities through Symbian Signed certification. Infrastructure to allow applications to have private protected data stores. In addition, full encryption and certificate management, secure protocols (HTTPS, SSL and TLS) and WIM framework wide area networking stacks including TCP/IP (dual mode IPv4/v6) and WAP 2.0 (Connectionless WSP and WAP Push), personal area networking support including infrared (IrDA), Bluetooth and USB; support is also provided for multihoming and link layer Quality-ofService (QoS) on GPRS and UMTS networks native system and application development in C++, supported by CodeWarrior and (from 2005H2) Eclipse-based IDEs. Java MIDP 2.0 supported by all mainstream Java tools. PC-hosted emulator for general development. Reference boards for general development, 2G, 2.5G and 3G telephony, supported by a range of JTAG probes and OEM debuggers