symbian os architecture - it培训|学习资料库...
TRANSCRIPT
Copyright 2007 Symbian Software Ltd. Page: 1
Lance LiTechnical Consultant
Symbian OS Architecture
Copyright 2007 Symbian Software Ltd. Page: 2
• Operating System Knowledge
• Design patterns Concept
• Some Programming Experience
• Need S60 / UIQ Programming Experiences ? No
Audience
Copyright 2007 Symbian Software Ltd. Page: 3
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 4
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 5
Overview• History
… 1998 - Symbian was formed by Psion, Nokia, Ericsson and Motorola.
… First Symbian phone was released in 2000
• Ericsson R380
… 2.5G phone released early 2002
• Nokia 7650
… 3G phone released in December 2002
• 3G FOMA F2051 from Fujitsu
… EKA2 was announced in 2004
… Security Platform was introduced in 2005 on v9
Copyright 2007 Symbian Software Ltd. Page: 6
Overview (continued)• Development Languages
… C++
… Java
… Flash Lite
… Python, Ruby
… OPL
… PIPS
Copyright 2007 Symbian Software Ltd. Page: 7
Overview (continued)• Symbian C++
… Leaves
… Cleanup
… Descriptors
… Active Object
Copyright 2007 Symbian Software Ltd. Page: 8
Overview (continued)• Versions
… v6.0, v6.1,v7.0, v7.0s, v8.0, v8.1a, v8.1b, v9.1…v9.5
• True Micro-Kernel… User Mode & Kernel Mode
… Only a minimal parts of system runs as kernel mode
… Real-Time OS
Copyright 2007 Symbian Software Ltd. Page: 9
• Features… GUI
… Telephony
… Multimedia
… Messaging
… Networking
… Short link (USB, Bluetooth, IR)
… Security
Overview (continued)
Copyright 2007 Symbian Software Ltd. Page: 10
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 11
Layers• 5 Layers
• Design Patterns
• C++ Component Based
• DLL
Copyright 2007 Symbian Software Ltd. Page: 12
Engine
Middle-ware
Base
Sym
bian
OS
<5%
>55%
20%
Series 60/80 UIQ FOMA TechView 20%
ContactsAgenda BrowsingMessagingOffice
Kernel ExecKernel Process
User Lib
Device Drivers
File Server
MultimediaImage Sound Video
Security
s/w install
Certificatemanagement
cryptography
Personal Area Networking BlueTooth IR USB
Application FrameworkGUI framework Text Graphics
JavaXVM/Personal Java
MIDP
Java Phone
Telephony GSM GPRS CDMA
Comms TCP IP HTTP WAP
MessagingSMSMMSPOP3 IMAP4 Fax
Layers (Continued)
Copyright 2007 Symbian Software Ltd. Page: 13
Layers (Continued)
Kernel Services & Hardware Abstraction
Base Services
OS Services
GenericServices &
GenericLibraries
Application Services
UI FrameworkJavaJ2ME
Con
nect
ivity
Ser
vice
s
CommsServices
Mul
timed
ia &
Gra
phic
sS
ervi
ces
Copyright 2007 Symbian Software Ltd. Page: 14
Layers (Continued)
Symbian OS v9.2System Model
ISSUED 1.0
App
licat
ion
Serv
ices
Key TechnologyStreams:
Text ModeShell
Internet WebServices
Bluetooth and IrDA
Kernel
Generic CommsServices
ConnectivityServices
UI Frameworks
BasebandAdaptation
Graphics Services
DevBoardsMessage
Application Support Networking Services
Peripherals
MultimediaJava
Device Provisioning
Telephony Services
Base Services
USBPIM ApplicationServices
Crypto Services
Text & I18N servicesRTP & SIP
SWE ToolsCommonReplace-
able
OptionalReplace-
ableCommonSymbian
OptionalSymbian
Refer-ence/Test
Refer-ence
Compo-nent
PluginCompo-
nentSched 12
Category (v9.2):
TextWindowServer
User Library and FileServer
File-systemPlugins
FileServer
UserLibrary
UI Toolkit
UIGraphicUtilities
Anim-ation
BMPAnim.Grid Clock
TextShell
UI Application Framework
UikonUI
Look &Feel
ControlEnviron-
mentFEPBase
UikonError
ResolverPlugin
Low Level Libraries and Frameworks
Appli-cation
Utilities
CentralRepos-
itory
MediaDeviceFrmwk.
Char.Encode.Conv.
Frmwk.
Char.Encode.Conv.
Plugins
XMLFrmwk.
XMLParser
WBXMLParser
MediaDeviceFrmwk.Plugins
Crypto.Library DBMSPlugin
Frmwk.
Java J2ME
Low LevelPlugins
LCDUIPlugin
RuntimePlugin
VirtualMachine
CLDC Hi1.1
MIDP 2.0 Profile
MIDPGSM
SecurityRP
CLDC 1.1
Java IO JavaLang
JavaUtilities
MIDP 2.0 Packages
Bluetooth &SMS Push
Internet & Web Application Support
WAPPush
Frmwk.
HTTPUtilitiesLibrary
HTTPTrans.Frmwk.
TelnetEngine
FTPEngine
WAPPushMTM
HTTPFilter
Plugins
HTTPProtocolPlugins
PrintingSupport
PrintingServcs.
Messaging Application Support
OBEXMTMs
BIOMsg.
Frmwk.BIO
Wtchrs.CDMAMTM
IMAP4MTM
Msg.Store
POP3MTM
Sched.SendMTM
SMSMTM
SMTPMTM
Application Framework
AppArch.
ContentHndlng.Frmwk.
FileCnvter.Frmwk.
SecureSoftware
InstallSIS
InstallerJava
MIDletInstaller
MultimediaProtocols
RTPBook-marks
SupportSIP
Frmwk.
Persistent DataServices
ViewServer
SIPConnec-
tionProviderPlugins
FeatureRegistry
Pw. &Shutdow
nMgmt.
Store
UserHAL
ZIPCompres-
sionLibrary
Calendar ContactsModel
vCalPlugin
Other ApplicationServices
WorldServer
Time-zoneHelp
Office ApplicationEngines
WordEngine
DataEngine
SheetEngine
KernelArchitecture
ASSP
OMAP2420
Variant
Boot-strap
Emu-lator
OMAPH4HRPVariant
Periph.Bus
Cntrllrs.PDDs
Logical Device Drivers
Ether.Driver
USBDriver
OtherLDDs
MediaDrivers
SpeechDriver
VideoDriver
MIDIDriver
AudioDriver
SD CardDriver
ScreenDriver
Screen-driver
Localisation
LocaleSupport
New inv9.2
KernelServices
EKA2Kernel
Data Sync Services
SyncInitiation
OMASyncMLFrmwk.
OMASyncML
DMInterface
OMADataSync
DeviceManagementDevice
Manage-ment
Frmwk.
DeviceManage-
mentAdapts.
ClientProvisioning
ClientProvi-
sioningFrmwk.
ClientProvi-
sioningAdapts.
Content Handling
MIMERecog.Frmwk.
SMILParser
WebRecogs.
WAPPush
Handlers
BIOMsg.
ParsersMMF
Recog.
ContentAccessFrmrk.
forDRM
SystemStarter
App. LaunchServices
WMA1.1
MobileMedia
API1.1
Mobile3D1.0
JTWI1.0
MIDPFileGCF
MIDPPIM
Btooth.1.0
MIDPDeviceControl
SecurityPolicy
MIDPMIDlet MIDP IOMIDP
RMSMIDPLCDUI
WMA1.1
Btooth.1.0
BoardSupportPckgs
OS
Serv
ices
Generic OS Services
Generic Libraries
Cert. &Key
Mgmt.
CStd.
Library
Crypto.TokenFrmwk.
Generic Services
EventLogger
TaskSchedu-
lerFile
LoggerSystemAgent
Telephony Services
Telephony Utilities
DialPhone-bookSync.
Teleph-ony
Wtchrs.
Telephony Server
ETel3rd
PartyAPI
ETelMulti-mode
ETelPacketData
ETelServer/Core
ETelSIM
Toolkit
FaxClient/Server
ETelCDMA
SMS Protocol Plugins
SMSPRT
WAPPRT
CDMAWAPPRT
CDMASMS
Plugins
Telephony ServerPlugins
Multi-modeTSY
CDMATSY
SIMTSY
Telephony ReferencePlatform
TRPTSY
TRPCSY
SMS Utilities
GSMUtilities
SMSUtilities
Short Link Services
Serial Comms Server Plugins
SerialPortCSY
Btooth.CSY
IrDACSY
USBCSY
Short Link ProtocolPlugins
Btooth.HCI
IrDAPRT
Btooth.StackPRT
OBEX
OBEXProtocol
USBManager
USBManager
Btooth.Protocol
ClientAPIs
Btooth.Manager
HCIFrmwk.
Btooth.SDP
Btooth.Profiles
RemoteControlFrmwk.
Short Link
MBufManager
CommsElmnts.
Comms FrameworkUtilities
CommsFrmwk.
CommsProcess andSettingsComms
RootServer
Comms Framework
BsebandChnl.
AdapterFrmwk.
C32SerialServer
Data Comms Server
NetworkInterfaceManager
NetworkCntrllr.
ESockServer
CommsDbase.
CommsConfig. Utils.
NetworkingServices
TCP/IPSecurity
TLS IPSec VPN
TCP/IPUtilities
DND DHCP
WAP Stack
WAPMessage
API
WAPShortStack
Network Protocol Plugins
IP EventNotifier
IPHook
TCP/IPv4/v6
PRT
CoreIPSecPRT
QOSFrmwk.
PRT
ESock APIExtensions
InternetSockets
Subcon.Params.
Networking Plugins
PSDAGT
NullAGT
GPRS/UMTSQOSPRT
CSDAGT
BtoothPAN
ProfileImpl.
ControlProviderPlugin
EthernetNIF
EthernetPacketDRV
EthernetOver IRPacketDRV
PPPNIF
PPPCompres-
sionPlugins
TunnelNIF
SlipNIF
Raw IPNIF
Link Layer Control
PDPNIF Multimedia &
Graphics Services
GDI ColourPalette
Graphics & Printing Services
BitGDI
Font &Bitmp.Server
FontStore
Free-TypeFont
Rster.
PrinterDriver
SupportPrinterDrivers
Refer-enceFonts
OpenGL ES
OpenGLES
Frmwk.OpenGL
ES
OpenGLES
DisplayPropts.
WindowingFramework
WindowServer
Multimedia
Multi-media
Frmwk.
ImageConv.Library
Multi-media
Frmwk.Plugins
Broad-cast
TunerCamera
ImageConv.
LibraryPlugins
Connectivity Services
Service Providers
PLPVariant
RemoteFile
Server
SoftwareInstallServer
SecureBackupEngine
SecureBackupSocketServer
ServiceFramework
ServiceBroker
Device Connection
M-Router
BearerAbstrac-
tionLayer
ServerSocket
Bas
e Se
rvic
esK
erne
l Ser
vice
s &
Har
dwar
e In
terf
ace
UI
Fram
ewor
k
PIM Application Support
AlarmServer
BackupRestoreNotif.
vCard&
vCal
FileCnvter.Plugins
ChineseCal.
Cnvter.
AgendaModel
TextHndlng.
Text Rendering
TextFormat-
ting
BasebandAbstraction
Graphics DeviceInterface
C32BCA
Comms Services
SubconnectionInterface
FATFilenm.Conv.
PIM ApplicationServices
User SideHardwareAbstraction
Copyright 2007 Symbian Software Ltd. Page: 15
Layers (Continued)
• What are in every layers ?
Copyright 2007 Symbian Software Ltd. Page: 16
Layers – UI Framework
UI Framework UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
Copyright 2007 Symbian Software Ltd. Page: 17
Layers – UI Framework (continued)
IU Framework UI SupportUI Support UI Application FrameworkUI Application Framework
Copyright 2007 Symbian Software Ltd. Page: 18
Layers – Application Services
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Application ServicesJava
Copyright 2007 Symbian Software Ltd. Page: 19
Layers – Application Services
• Application Oriented Interfaces
• Legacy Components
Application Services
PIM Office Data Synchronization
Messaging Subsystem
Device Management
Client Provisioning
Content Handling
Application Framework
Internet& Web Application
MultimediaProtocols
PIM Office Data Synchronization
Messaging Subsystem
Device Management
Client Provisioning
Content Handling
Application Framework
Internet& Web Application
MultimediaProtocols
Copyright 2007 Symbian Software Ltd. Page: 20
Layers – OS Services
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
OS Services
Java
Copyright 2007 Symbian Software Ltd. Page: 21
Layers – OS Services (continued)
• Core System Services and Frameworks
OS Services
Generic OS
Services
Comms Services
Multimedia& Graphic Services
Connectivity Services
Generic OS
Services
Comms Services
Multimedia& Graphic Services
Connectivity Services
Copyright 2007 Symbian Software Ltd. Page: 22
Layers – OS Services (continued)
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
GenericOS
Services
Copyright 2007 Symbian Software Ltd. Page: 23
Layers – OS Services (continued)
Generic ServicesGeneric Services Generic LibrariesGeneric Libraries
Copyright 2007 Symbian Software Ltd. Page: 24
Layers – OS Services (continued)
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
CommsServices
GenericOS
Services
Copyright 2007 Symbian Software Ltd. Page: 25 CONFIDENTIAL
Layers – OS Services (continued)
Comms Framework
Telephony Services
Short Link Services
Networking Services
Comms Framework
Telephony Services
Short Link Services
Networking Services
Telephony Services
Telephony Utilities
Dial Phone-book Sync
Telephony Watchers
Telephony Server
ETel Server &
CoreETel 3rd Party API
Fax Client & Server
ETel Multi-mode
ETel Packet Data
ETel SIM Toolkit
Etel CDMA
SMS Protocol Plugins
SMS PRT WAP PRTCDMA SMS
PluginsCDMA
WAP PRT
SMS Utilities
GSM Utilities
SMS Utilities
Telephony Server Plugins
MultiMode TSY
CDMA TSY SIM TSY
Telephony Ref. Platform
TRP TSY TRP CSY C32 BCA
Short Link Services
USB Manager
USB Manager
Short Link
Btooth. Protocol
Client APIs
Btooth. Manager
HCI Frmwk.
Btooth. SDP
Bluetooth Profiles
Remote Control Frmwk.
OBEX
OBEX Protocol
OBEX Extension
API
Short Link Protocol Plugins
Btooth. Stack PRT
Btooth. HCI IrDA PRT
Serial Comms Server Plugins
Serial Port CSY USB CSY Btooth.
CSY IrDA CSY
Telephony Services
Telephony Utilities
Dial Phone-book Sync
Telephony Watchers
Telephony Server
ETel Server &
CoreETel 3rd Party API
Fax Client & Server
ETel Multi-mode
ETel Packet Data
ETel SIM Toolkit
Etel CDMA
SMS Protocol Plugins
SMS PRT WAP PRTCDMA SMS
PluginsCDMA
WAP PRT
SMS Utilities
GSM Utilities
SMS Utilities
Telephony Server Plugins
MultiMode TSY
CDMA TSY SIM TSY
Telephony Ref. Platform
TRP TSY TRP CSY C32 BCA
Short Link Services
USB Manager
USB Manager
Short Link
Btooth. Protocol Client APIs
Btooth. Manager
HCI Frmwk.
Btooth. SDP
Bluetooth Profiles
Remote Control Frmwk.
OBEX
OBEX Protocol
OBEX Extension
API
Short Link Protocol Plugins
Btooth. Stack PRT
Btooth. HCI IrDA PRT
Serial Comms Server Plugins
Serial Port CSY USB CSY Btooth.
CSY IrDA CSY
Copyright 2007 Symbian Software Ltd. Page: 26 CONFIDENTIAL
Layers – OS Services (continued)
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
CommsServices
GenericOS
Services
Multimediaand Grpahic
Services
Copyright 2007 Symbian Software Ltd. Page: 27
Layers – OS Services (continued)
Multimedia & Graphics Services
Multimedia
Multimedia Frmwk.
Image Conv. Library
Camera Broadcast Tuner
Windowing Framework
Window Server
OpenGL ES
OpenGL ES Frmwk.
OpenGL ES
Graphics and Printing Services
Bit GDIText
Shaper Plugin
Font &Bitmp. Server
Font StoreFreeType
Font Rster.
Reference Fonts
Printer Driver
SupportPrinter Drivers
Graphics Dev-ice Interface
GDI Colour Palette
Copyright 2007 Symbian Software Ltd. Page: 28
Layers – OS Services (continued)
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
CommsServices
GenericOS
Services
Multimediaand Grpahic
Services
ConnectivityServices
Copyright 2007 Symbian Software Ltd. Page: 29
Layers – OS Services (continued)
Connectivity Services
Service Providers
PLP Variant
Remote File Server
Software Install Server
Secure Backup Engine
Secure Backup Socket Server
Service Framework
Service Broker
Device Connection
m-RouterBearer
Abstrac-tion Layer
Server Socket
Copyright 2007 Symbian Software Ltd. Page: 30
Layers – Base Services
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
Base Services
Copyright 2007 Symbian Software Ltd. Page: 31
Layers – Base Services (continued)
• Extend the Kernel
• User Side of Operating System
Kernel
Applications
System Services
Copyright 2007 Symbian Software Ltd. Page: 32
Layers – Base Services (continued)
• Base Services
Base Services
Low Level LibrariesAnd
Frameworks
Character Conversion
Media Device Framework
XML Persistent Storage Text Mode Shell
User Library and File Server User Side Hardware Abstraction
Low Level LibrariesAnd
Frameworks
Character Conversion
Media Device Framework
XML Persistent Storage Text Mode Shell
User Library and File Server User Side Hardware Abstraction
Character Conversion
Char. Encode. Conv.
Frmwk.
Char. Encode. Conv.
Plugins
Media Device Framework
Media Device Frmwk.
Media Device
Frmwrk. Plugins
Text Mode Shell
Text Window Server
Text Shell
Copyright 2007 Symbian Software Ltd. Page: 33 CONFIDENTIAL
Layers – Kernel & Hardware Interface
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
Kernel & Hardware Interface
Copyright 2007 Symbian Software Ltd. Page: 34
Layers – Kernel & Hardware Interface (Continued)
Screen Driver
Screen Driver
Localisation
Locale Support
Copyright 2007 Symbian Software Ltd. Page: 35
Layers (Continued)
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
• Pure C++ Component Based
• Frameworks
• Plug-Ins
• Server (process) / Client (process)
• Extensibility
Copyright 2007 Symbian Software Ltd. Page: 36
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 37
KernelUI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
Kernel Architecture
Copyright 2007 Symbian Software Ltd. Page: 38
Kernel (Continued)
Features
RTOS
Pre-EmptiveMulti-Tasking
Privilege
Hardware Independent
XIP
Copyright 2007 Symbian Software Ltd. Page: 39
Kernel (Continued)
Services
Process Thread
Memory Device
Interrupt Power
Copyright 2007 Symbian Software Ltd. Page: 40
• Architecture
Kernel (Continued)
ASSP
Viriant LDDs
PDDs
NanoKernel Kernel ExtensionsMM
User Library
Copyright 2007 Symbian Software Ltd. Page: 41
• Memory Model
Kernel (Continued)
Moving Memory Model
Multiple Memory Model
Single Memory Model
Moving Memory Model
Multiple Memory Model
Single Memory Model
Emulator Memory Model
Emulator Memory Model
Copyright 2007 Symbian Software Ltd. Page: 42
• Memory Model --- 32 Bits Flat Addressing
0x876
0x540x321
0x87654321
Copyright 2007 Symbian Software Ltd. Page: 43
• Moving Memory Model --- ProcessesKernel (Continued)
Program Y Code
Program Y Data
Program Y Data
Home Section
Data Section
Program X Code
Program X Data
Program X Data
Copyright 2007 Symbian Software Ltd. Page: 44
• Moving Memory Model --- CacheKernel (Continued)
0x87654321
Cache
VA X ………….
VA X “Hello”
VA X ………….
VA X ………….
Program Y Code
Program Y Data
Y ………….
Y “Apple”
Y ………….
Y ………….
Program X Code
Program X DataProgram Y Data
Program X Data
Copyright 2007 Symbian Software Ltd. Page: 45
• Multiple Memory Model --- ProcessesKernel (Continued)
Global Directory
Local DirectoryProgram X Code
Program X DataProgram Y Code
Program Y Data
Process Identifier
XY
Copyright 2007 Symbian Software Ltd. Page: 46
• Multiple Memory Model --- CacheKernel (Continued)
0x87654321
Cache
PA1
PA2
PA
PA
Y “Apple”
X “Hello”X 0x87654321 PA1
Y 0x87654321 PA2
Process Identifier
XY
Copyright 2007 Symbian Software Ltd. Page: 47
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 48
Design Patterns • Abstract Factory
Client
*.h
BaseFactory
CreateProduct()
BaseFactoryVTable
Pointer
BaseFactoryVTableCreateProduct
Pointer
Product
ImplFactory
CreateProduct()
DLL
Copyright 2007 Symbian Software Ltd. Page: 49
• Abstract Factory of Application Creation
Design Patterns (Continued)
CxxxApplication
CxxxDocument CxxxView
DLLApplication Framework
NewApplication()CApaApplication
VTable
Copyright 2007 Symbian Software Ltd. Page: 50
• Abstract Factory of Messaging Subsystem
Design Patterns (Continued)
POP3 EmailClient
DLL
Application
POP3 EmailConnection
DLL
POP3 Server
POP3 Server
Hi, Use POP3 !!!
Messaging Client
API
Messaging Server
EXE
Copyright 2007 Symbian Software Ltd. Page: 51
• Observer
Design Patterns (Continued)
AbstractSource
InsertObserver ()DeleteObserver()NotifyObservers()
AbstractObservervirtual void Update () = 0
ConcreteSource
SomeChange()
ConcreteObservervirtual void Update ()
for each observer{observer.Update();}
void SomeChange(){NotifyObservers();}
VTable
Copyright 2007 Symbian Software Ltd. Page: 52
• Observer of Application
Design Patterns (Continued)
View
Model Control
MenuObserver
MessageObserver
……Observer
Copyright 2007 Symbian Software Ltd. Page: 53
• Observer of Messaging Subsystem
Design Patterns (Continued)
MSV Session ObserverSMS Application
Message Server
Messaging Client API
EXE
Copyright 2007 Symbian Software Ltd. Page: 54
Design Patterns (Continued)
• Frameworks ,What & Why
Copyright 2007 Symbian Software Ltd. Page: 55
Design Patterns (Continued)
• Frameworks
Lower Level System
High Level System
Plug-In Plug-In …..
ExtendedAPI
ExtendedFeature
Framework
Copyright 2007 Symbian Software Ltd. Page: 56
Agenda• Overview
• Layers
• Kernel
• Design Patterns
• Summary
Copyright 2007 Symbian Software Ltd. Page: 57
Summary
UI Framework
Application Services
OS Services
Base Services
Kernel & Hardware
Java
Overview
Design Patterns Abstract Factory Observer
Layers
Kernel
Frameworks
Copyright 2007 Symbian Software Ltd. Page: 58
Symbian Press
Copyright 2007 Symbian Software Ltd. Page: 59
Web Resources• http://www.symbian.com
• http://developer.symbian.com
• http://developer.symbian.com/forum/index.jspa
Copyright 2007 Symbian Software Ltd. Page: 60
Thanks!