ICT 4006 - Mobile Computing Assignment Ι Mobile Operating Systems Group D
Group Members.. Saatviga S. 2005/ICT/054 Wickramasuriya K.T. 2005/ICT/076 Jayasundara B.M.W.U.C.B. 2005/ICT/031
Roadmap.. What is Symbian OS?? Minimum Resources Needed Architecture Versions License Application Programming Languages Usage Statistics and Examples
What is Symbian OS?? Symbian OS is the market leading open operating system for advanced data-enabled mobile phones licensed by the world’s leading mobile phone manufacturers. It is designed for the specific requirements of advanced 3G mobile phones and beyond. Microkernel based, 32-bit, pre-emptive multi-tasking Specialised for mobile Resource constrained devices (power, memory, wireless) ARM CPUs including ARMv6 Secure Native platform security from v9 – PlatSec Capability model implemented here – involves Symbian Signed and manufacturer approval sometimes.
What is Symbian OS?? OO “from the ground up” C++ implementation Pervasive use of OO idioms Statistics published February 2007 showed that , Symbian OS had a 67% share of the smart mobile device market, with Microsoft having 13% (through Windows CE and Windows Mobile) and RIM (Research In Motion Ltd) having 10%
Minimum Resources Needed.. System requirements for Symbian OS v9 Basic Requirements:- Microsoft Windows XP SP2 or Microsoft Windows 2000 SP4. Tested with Windows XP SP2.- IDE: CodeWarrior for Symbian OS v3.1- ARM RVCT compiler 2.2 build 503 or newer is supported. (Version 3.0 is not supported by SDK toolchain)- Minimum 1 GHz Pentium PC, 256 MB of memory- Up to 1.5 GB free disk space
Architecture.. Java J2ME UI Framework Application Services Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services OS Services Base Services Kernel Services & Hardware Interfaces Kernel Architecture
UI Framework.. Frameworks and libraries for constructing a UI Includes the basic class hierarchies for UI controls Concrete widget classes used by UI components Other frameworks and utilities Java J2ME Topmost layer of Symbian OS, foundation for variant UI Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services Kernel Architecture
Application Services.. UI independent support for applications, including basic application frameworks/services application class (“technology-specific”) logic support for specific applications. Also some application engines used and extended by licensees Java J2ME Generic Application class specific - Messaging, browsing Application specific - Word, Sheet Engines vsservices -evolving Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services Kernel Architecture
OS Services.. Generic OS Services Extends the "base" into a fully functional OS providing services across a full range of technologies, e.g. graphics, comms, multimedia, etc. Organised by technology domain Java J2ME Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services “Middleware" layer of Symbian OS, full range of servers, frameworks, and libraries which extend the base system into a complete OS Connectivity Services Kernel Architecture Multimedia & Graphics Services
Base Services.. It includes the File Server and User Library Plug-In Framework which manages all plug-ins Central Repository, DBMS Cryptographic services Services for a functional port Java J2ME Lowest level of user-side services, extends the OS kernel into a useable (but minimal) system Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services Kernel Architecture
Kernel Services & Hardware Interface.. Bootstraps the physical or emulated device Provides physical and logical device drivers and other hardware abstraction Insulates all higher layers from actual hardware Creates and manages the fundamental OS kernel abstractions Processes, memory management, scheduling Java J2ME Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services Kernel layer, contains the OS kernel itself, device drivers, and similar low-level components Kernel Architecture
Java J2ME MIDP.. Java J2ME Spans the UI Framework and Application Services layers Java implementation based on J2ME MIDP 2.0 and CLDC 1.1 Connectivity Services Generic OS Services Multimedia & Graphic Services Comms Framework Telephony Services Short Link Services Networking Services Java J2ME MIDP 2.0 and CLDC 1.1 Kernel Architecture
Versions.. Symbian OS v9.0 Symbian OS v8.1 Symbian OS v8.1 Symbian OS v8.1 Symbian OS v8.1 Symbian OS v9.5.. Symbian OS v9.1 Symbian OS v9.2 Symbian OS v9.3 Symbian OS v9.4 More Security, Privacy and Content Protection - DES, 3DES, RC2, RC4, RC5 and AES Location-Based Services – GPS, A-GPS etc Telephony – GSM, HSCSD, GPRS, EDGE, WCDMA, etc Networking & Comms- Bluetooth v2.0 , WLAN, IrDA & serial, TCP, IPv4, IPv6, NAPT Multimedia – Video, Audio Capture and playback framework, Tuner interface , Digital TV hardware abstraction, Image conversion (all common formats) with scaling enhancements Graphics - 3D graphics support including OpenGL ES APIs Java application Service - CLDC HI 1.1.1s (JSR139), Bluetooth (JSR082) including OBEX, Content Handler (JSR211), JTWI (JSR185),MIDP 2.0 (JSR118),Mobile 3D Graphics (JSR184) etc. Kernel & Hardware Services - ARMv5, v6 and v7 support, L2 cache support ,Defragmentation of physical RAM
License.. Symbian is not open source software yet. 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. Symbian9.1 introduced capabilities and Platform Security framework. To access certain capabilities, the developer has to digitally sign their application. Have to sign via the Symbian Signed program; which uses independent Test Houses and/or phone manufacturer approval. In 2008 Nokia has stated that Symbian OS (including the platforms S60, UIQ and MOAP(S)) will become open source in the first half of 2009.
Application Programming Languages.. The native language of the Symbian OS is C++, although it is not a standard implementation. Other languages which can be used are, OPL – Open Programming Language is an embedded programming language found on e.g. the Nokia 9200, 9300 and 9500 Communicator series mobile telephone/PDA Python Visual Basic Simkin Perl together with the Java ME and PersonalJava flavours of Java.
Usage Examples.. Ericsson R380 (2000) - first commercially available phone based on Symbian OS. Nokia 9210 Communicator smartphone(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, G702(2008), Motorola A920 Nokia S60 (2002) interface Nokia 7650, Nokia 3650 ….etc… Nokia Series 90 interface Nokia 7710 MOAP(S) interface Fujitsu, Mitsubishi, Sony Ericsson and Sharp phones for NTT DoCoMo(Mobile Operator)in Japan