Symbian Platform Overview
Operating System? • Software Program—Similar in this
Sense to Other Programs • Resource Encapsulation—Lens through which Users and Applications View System Resources like Hard disk, DVD drives, Networks.
Operating System? • Binds Hardware and Software Together
Software Applications
Operating System
System Hardware
Operating System is Essential
Symbian OS—Overview • Designed with
Smartphones as the Target Platform in Mind • Multitasking and Multithreading Supported • Symbian OS Kernel is Microkernel • Mobile Phone Manufacturers Buy Licenses of Symbian
User Applications
Servers
Kernel
System Hardware
Symbian OS—Layered Model • • • • • • • •
Symbian OS is Structured in Layers OS is Decomposed in Layers Layers are Decomposed in Blocks and Sub-blocks Blocks and Sub-blocks are Decomposed in Components or Collection of Components Layers are Highest Level of Abstractions Components are Lowest Level of Abstractions Layers and Blocks are Logical Concepts Components are Physical Objects (Software Code)
Symbian OS—Layered Model • Layers
– Each layer abstracts the functionality of the layer beneath and provides services to the layer above – Examples
•
• OS Services Layer • UI Framework Layer Blocks
•
• Telephony Services • Network Services Components
– A block or sub-block roughly corresponds to a “Technology Domain” – Examples:
– Components are the basic entities of the model – Common, Optional and Replaceable functionality is defined at Component Level
Symbian OS—Layered Model • Symbian OS is Shipped in Headless Configuration – Minimal User Interface – Not Production Quality User Interface
• Mobile Phone Manufacturers Either
– Develop their Own Production Quality User Interface or – License a Suitable User Interface
• Production Quality User Interfaces Already Developed:
– S60 (Series 60)—Developed and Licensed by Nokia – UIQ—Developed and Licensed by UIQ Technology – MOAP (Mobile Oriented Application Platform)— Developed by FOMA (Freedom of Mobile Access) Consortium in Japan – Series 80 and 90—Developed by Nokia but not Licensed to Others
Symbian OS—Layered Architecture S60
UIQ
MOAP
UI Framework Layer Uikon
FEP Base
Java ME CONE
Application Services Layer Messaging, Messaging, Browsing, Browsing, App. Data Framework, Synchronization Data Sync etc.etc. OS Services Layer Generic OS Services
Communication Services Telephony Services
Short Link Services
Networking Services
Multimedia Connectivity & Graphics Services Services
Base Base Services Service Layer Layer Kernel Services and Hardware Interface
UI Framework Layer • Top Most Layer of the Symbian OS • Provides Frameworks and Libraries for •
Constructing a Customized User Interface on Top of Symbian OS Fundamental Elements: – Uikon Provides Customizable Control of the Overall GUI C Look & Feel – Control Environment Provides Basic Class Hierarchies for User Interface Controls (also called CONE Hierarchy) – Front End Processor (FEP) Base Framework Provides Input Event Capture (Keypad events, pen events, etc.) – Animation Framework Provides Framework for Animation
Application Services Layer • Provides Support for Applications – System Level Services
• Application Architecture (Basic Application Framework)
– Services that Support Generic Types of Applications
• vCard • vCalendar • Alarm Server • Data Synchronization Services
– Services Based on Application Centric Technologies
• Mail (IMAP, SMTP, POP3) • Messaging (SMS, MMS) • Browsing (HTML, XML, etc.)
OS Services Layer • Provides Servers, Frameworks, and Libraries that Extend •
the System Below It Broad Categories of Services Supported – Generic Operating System Services
• Task Scheduler
– Communication Services
• Telephony Services (GSM, CDMA, GPRS, EDGE etc) • Networking Services (TCP/IP Stack Implementation, HTTP,SSL etc.) • Short Link Services (Bluetooth, Infrared, USB, OBEX)
– Multimedia and Graphics Services
• Window Server—Provides Access to Screen Hardware
– Connectivity Services
• Supports Interaction with Desktop Host to:
– Perform Data Backup – File Browsing and Transfer – Software Installation from Desktop to Device
Base Services Layer • Foundational Layer of Symbian OS Supports:
– File Server • File System Utilities – User Library • Basic Programming Model for Symbian OS – Persistence Model • Persistent Storage Framework – Cryptography Library
Kernel Services and Hardware Interface Layer • Lowest Layer of Symbian OS • Contains Kernel • Abstracts Interfaces to Underlying Hardware e.g.
– Logical and Physical Device Drivers
• Dependent on Underlying Hardware • To Port OS to new Hardware, Kernel Porting is Required • Kernel Models
– EKA1—Original Old Kernel – EKA2—Real Time Kernel
Java ME • Virtual Machine • MIDP • CLDC • Plugins for Interfacing with Native System
Symbian OS—Key Design Patterns • System is “A Number of Collaborating •
Components” Pattern—1: Client—Server Relationship Between System Components – Clients Request for Services – Servers Own and Share Services/Resources among Clients – All System Resources are Managed by Servers—Kernel Itself is a Server – Window Server manages display resources – Serial Server manages Data Communication Hardware – Telephony Server manages Telephonic Services – Uikon Server manages GUI abstractions – Client and Server Run in their Own Separate Processes in Separate Memory Segments
Symbian OS—Key Design Patterns • Pattern—2: Pervasive Asynchronous Methods in •
Client-Server Communication Pattern—3: Framework Plugin Model (also Called ECom) – Used Extensively in All OS Layers – Framework is a Layer Between a Calling Client and an Implementation – Structure Internal Relationships Among Parts of the System
• Flexibility—Loading Functionality and Resources on
Demand • Extensibility—Addition of Behavior without Re-Engineering the System
UI Platforms • S60 – – – –
• UIQ – – – – –
Developed and Licensed by Nokia One-handed Use (keypad, 5-way navigator, soft keys) Nokia N95, E65, http://www.s60.com Developed by UIQ Technology Owned by SonyEricsson One & Two Hand Use Touch Screen and/or Keys Supported Sony Ericsson P990, W950, W960i http://www.uiq.com
• MOAP (Mobile Oriented Application Platform)—
Developed by FOMA (Freedom of Mobile Access) Consortium in Japan –
Closed Platform i.e. Does not Allow Users to Install Applications
• Series 80 and 90—Developed by Nokia but not Licensed to Others. Now Integrated in S60
UI Platforms
Operating System
System Hardware
S40 • Uses Relatively Simple Operating
System • Do Not Support Multitasking • Do Not Support Development for Native Platform • Only Support Java ME i.e. MIDlets • Nokia 6300
References • The Symbian OS Architecture
Sourcebook by Ben Morris • Smartphone Operating System Concepts with Symbian OS by Michael J. Jipping