Upload
fahadmudassar
View
222
Download
0
Embed Size (px)
Citation preview
8/14/2019 Symbian Platform+Overview
1/19
SymbianSymbian
Platform OverviewPlatform Overview
8/14/2019 Symbian Platform+Overview
2/19
Operating System?Operating System?
Software ProgramSimilar in thisSoftware ProgramSimilar in thisSense to Other ProgramsSense to Other Programs
Resource EncapsulationLensResource EncapsulationLensthrough which Users and Applicationsthrough which Users and Applications
View System Resources like HardView System Resources like Hard
disk, DVD drives, Networks.disk, DVD drives, Networks.
8/14/2019 Symbian Platform+Overview
3/19
Operating System?Operating System?
Binds Hardware and SoftwareBinds Hardware and SoftwareTogetherTogether
Software Applications
System Hardware
Operating System
Operating System is EssentialOperating System is Essential
8/14/2019 Symbian Platform+Overview
4/19
Symbian OSOverviewSymbian OSOverview
Designed withDesigned withSmartphones as theSmartphones as the
Target Platform in MindTarget Platform in Mind
Multitasking andMultitasking andMultithreadingMultithreadingSupportedSupported
Symbian OS Kernel isSymbian OS Kernel isMicrokernelMicrokernel
Mobile PhoneMobile PhoneManufacturers BuyManufacturers Buy
Licenses of SymbianLicenses of Symbian
Servers
System Hardware
Kernel
User Applications
8/14/2019 Symbian Platform+Overview
5/19
Symbian OSLayeredSymbian OSLayered
ModelModel Symbian OS is Structured in LayersSymbian OS is Structured in Layers OS is Decomposed in LayersOS is Decomposed in Layers Layers are Decomposed in Blocks and Sub-blocksLayers are Decomposed in Blocks and Sub-blocks
Blocks and Sub-blocks are Decomposed inBlocks and Sub-blocks are Decomposed inComponents or Collection of ComponentsComponents or Collection of Components
Layers are Highest Level of AbstractionsLayers are Highest Level of Abstractions Components are Lowest Level of AbstractionsComponents are Lowest Level of Abstractions
Layers and Blocks are Logical ConceptsLayers and Blocks are Logical Concepts Components are Physical Objects (Software Code)Components are Physical Objects (Software Code)
8/14/2019 Symbian Platform+Overview
6/19
Symbian OSLayeredSymbian OSLayered
ModelModel LayersLayers Each layer abstracts the functionality of the layer beneath and
provides services to the layer above Examples
OS Services Layer
UI Framework Layer
Blocks A block or sub-block roughly corresponds to a Technology
Domain Examples:
Telephony Services Network Services
Components Components are the basic entities of the model Common, Optional and Replaceable functionality is defined at
Component Level
8/14/2019 Symbian Platform+Overview
7/19
Symbian OSLayeredSymbian OSLayered
ModelModel Symbian OS is Shipped in Headless ConfigurationSymbian OS is Shipped in Headless Configuration Minimal User InterfaceMinimal User Interface Not Production Quality User InterfaceNot Production Quality User Interface
Mobile Phone Manufacturers EitherMobile Phone Manufacturers Either Develop their Own Production Quality User Interface or License a Suitable User Interface
Production Quality User Interfaces AlreadyDeveloped:
S60 (Series 60)Developed and Licensed by Nokia UIQDeveloped and Licensed by UIQ Technology MOAP (Mobile Oriented Application Platform)
Developed by FOMA (Freedom of Mobile Access)Consortium in Japan
Series 80 and 90Developed by Nokia but not Licensed
to Others
8/14/2019 Symbian Platform+Overview
8/19
8/14/2019 Symbian Platform+Overview
9/19
UI Framework LayerUI Framework Layer
Top Most Layer of the Symbian OSTop Most Layer of the Symbian OS Provides Frameworks and Libraries forProvides Frameworks and Libraries for
Constructing a Customized User Interface on TopConstructing a Customized User Interface on Top
of Symbian OSof Symbian OS Fundamental Elements:Fundamental Elements:
UikonUikon Provides CProvides Customizable Control of the Overall GUILook & Feel
Control EnvironmentControl Environment Provides Basic Class HierarchiesProvides Basic Class Hierarchies
for User Interface Controls (also called CONE Hierarchy)for User Interface Controls (also called CONE Hierarchy) Front End ProcessorFront End Processor (FEP) Base Framework Provides(FEP) Base Framework Provides
Input Event Capture (Keypad events, pen events, etc.)Input Event Capture (Keypad events, pen events, etc.)
Animation FrameworkAnimation FrameworkProvides Framework forProvides Framework forAnimationAnimation
8/14/2019 Symbian Platform+Overview
10/19
Application Services LayerApplication Services Layer
Provides Support for ApplicationsProvides Support for Applications System Level ServicesSystem Level Services
Application Architecture (Basic Application Framework)Application Architecture (Basic Application Framework) Services that Support Generic Types of ApplicationsServices that Support Generic Types of Applications
vCardvCard vCalendarvCalendar Alarm ServerAlarm Server Data Synchronization ServicesData Synchronization Services
Services Based on Application Centric TechnologiesServices Based on Application Centric Technologies Mail (IMAP, SMTP, POP3)Mail (IMAP, SMTP, POP3) Messaging (SMS, MMS)Messaging (SMS, MMS) Browsing (HTML, XML, etc.)Browsing (HTML, XML, etc.)
8/14/2019 Symbian Platform+Overview
11/19
OS Services LayerOS Services Layer
Provides Servers, Frameworks, and Libraries that ExtendProvides Servers, Frameworks, and Libraries that Extendthe System Below Itthe System Below It
Broad Categories of Services SupportedBroad Categories of Services Supported Generic Operating System ServicesGeneric Operating System Services
Task SchedulerTask Scheduler Communication ServicesCommunication Services Telephony Services (GSM, CDMA, GPRS, EDGE etc)Telephony Services (GSM, CDMA, GPRS, EDGE etc) Networking Services (TCP/IP Stack Implementation, HTTP,SSL etc.)Networking Services (TCP/IP Stack Implementation, HTTP,SSL etc.) Short Link Services (Bluetooth, Infrared, USB, OBEX)Short Link Services (Bluetooth, Infrared, USB, OBEX)
Multimedia and Graphics ServicesMultimedia and Graphics Services Window ServerProvides Access to Screen HardwareWindow ServerProvides Access to Screen Hardware
Connectivity ServicesConnectivity Services Supports Interaction with Desktop Host to:Supports Interaction with Desktop Host to:
Perform Data BackupPerform Data Backup File Browsing and TransferFile Browsing and Transfer Software Installation from Desktop to DeviceSoftware Installation from Desktop to Device
8/14/2019 Symbian Platform+Overview
12/19
Base Services LayerBase Services Layer
Foundational Layer of Symbian OSSupports:
File ServerFile System Utilities
User LibraryBasic Programming Model for Symbian OS
Persistence ModelPersistent Storage Framework
Cryptography Library
8/14/2019 Symbian Platform+Overview
13/19
Kernel Services andKernel Services and
Hardware Interface LayerHardware Interface Layer Lowest Layer of Symbian OSLowest Layer of Symbian OS Contains KernelContains Kernel Abstracts Interfaces to UnderlyingAbstracts Interfaces to Underlying
Hardware e.g.Hardware e.g. Logical and Physical Device DriversLogical and Physical Device Drivers
Dependent on Underlying HardwareDependent on Underlying HardwareTo Port OS to new Hardware, KernelTo Port OS to new Hardware, Kernel
Porting is RequiredPorting is Required Kernel ModelsKernel Models
EKA1Original Old KernelEKA1Original Old Kernel EKA2Real Time KernelEKA2Real Time Kernel
8/14/2019 Symbian Platform+Overview
14/19
Java MEJava ME
Virtual MachineVirtual Machine
MIDPMIDP
CLDCCLDC Plugins for Interfacing with NativePlugins for Interfacing with Native
SystemSystem
8/14/2019 Symbian Platform+Overview
15/19
Symbian OSKey DesignSymbian OSKey Design
PatternsPatterns
System is A Number of CollaboratingSystem is A Number of CollaboratingComponentsComponents
Pattern1: ClientServer Relationship BetweenPattern1: ClientServer Relationship BetweenSystem ComponentsSystem Components Clients Request for ServicesClients Request for Services Servers Own and Share Services/Resources amongServers Own and Share Services/Resources among
ClientsClients All System Resources are Managed by ServersKernelAll System Resources are Managed by ServersKernel
Itself is a ServerItself is a Server
Window Server manages display resourcesWindow Server manages display resources Serial Server manages Data Communication HardwareSerial Server manages Data Communication Hardware Telephony Server manages Telephonic ServicesTelephony Server manages Telephonic Services Uikon Server manages GUI abstractionsUikon Server manages GUI abstractions Client and Server Run in their Own Separate ProcessesClient and Server Run in their Own Separate Processes
in Separate Memory Segmentsin Separate Memory Segments
8/14/2019 Symbian Platform+Overview
16/19
Symbian OSKey DesignSymbian OSKey Design
PatternsPatterns
Pattern2: Pervasive Asynchronous Methods inPattern2: Pervasive Asynchronous Methods inClient-Server CommunicationClient-Server Communication
Pattern3: Framework Plugin Model (also CalledPattern3: Framework Plugin Model (also Called
ECom)ECom) Used Extensively in All OS LayersUsed Extensively in All OS Layers
Framework is a Layer Between a Calling Client and anImplementation
Structure Internal Relationships Among Parts of theStructure Internal Relationships Among Parts of theSystemSystem FlexibilityLoading Functionality and Resources onFlexibilityLoading Functionality and Resources on
DemandDemand
ExtensibilityAddition of Behavior without Re-EngineeringExtensibilityAddition of Behavior without Re-Engineeringthe Systemthe System
8/14/2019 Symbian Platform+Overview
17/19
UI PlatformsUI Platforms
S60S60 Developed and Licensed by NokiaDeveloped and Licensed by Nokia One-handed Use (keypad, 5-way navigator, softOne-handed Use (keypad, 5-way navigator, soft
keys)keys) Nokia N95, E65,Nokia N95, E65, http://www.s60.com
UIQUIQ Developed by UIQ Technology Owned byDeveloped by UIQ Technology Owned by
SonyEricssonSonyEricsson One & Two Hand UseOne & Two Hand Use Touch Screen and/or Keys SupportedTouch Screen and/or Keys Supported Sony Ericsson P990, W950, W960iSony Ericsson P990, W950, W960i http://http://www.uiq.comwww.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 InstallApplications
Series 80 and 90Developed by Nokia but notLicensed to Others. Now Integrated in S60
UI Platforms
System Hardware
Operating System
http://www.s60.com/http://www.uiq.com/http://www.uiq.com/http://www.uiq.com/http://www.uiq.com/http://www.uiq.com/http://www.uiq.com/http://www.s60.com/8/14/2019 Symbian Platform+Overview
18/19
S40S40
Uses Relatively Simple OperatingUses Relatively Simple OperatingSystemSystem
Do Not Support MultitaskingDo Not Support Multitasking Do Not Support Development forDo Not Support Development for
Native PlatformNative Platform
Only Support Java ME i.e. MIDletsOnly Support Java ME i.e. MIDlets Nokia 6300Nokia 6300
8/14/2019 Symbian Platform+Overview
19/19
ReferencesReferences
The Symbian OS ArchitectureThe Symbian OS ArchitectureSourcebook by Ben MorrisSourcebook by Ben Morris
Smartphone Operating SystemSmartphone Operating SystemConcepts with Symbian OS byConcepts with Symbian OS by
Michael J. JippingMichael J. Jipping