Symbian Platform+Overview

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