SlideShare a Scribd company logo
1 of 50
Index
• Introduction
• Requirements
• Symbian running mobiles
• History
• UI Design Platforms
• Features of Symbian
• Multimedia In Symbian
• Layers
• Java Virtual Machine
• Enhancements In Symbain OS V9
• C++ In Symbian
• Conclusion
Symbian OS is an operating system
for mobile devices with limited
resources, multitasking needs and soft
real time requirements.
It’s based on a modular, layered,
micro-kernel approach.
INTRODUCTION

 Resilient power-management
 Careful use of memory resources
 Multi-tasking (e.g., phone calls
messages, alarms, games, WAP
browser, camera, Bluetooth app, etc.)
 Soft Real-Time (e.g., incoming phone call)
 Robust
Requirements
The Symbian OS Works on the
following Handsets
• Motorola A1000
• FOMA F880iES
• Nokia 3230
• BenQ P30
• FOMA F900iC
• Nokia 7710
• Sony Ericsson P910
• FOMA F901iC
• Arima U300
• Nokia 7610
• Panasonic X700
• Lenovo P930
• FOMA F900i
• FOMA F900iT
• FOMA F900iC
• Nokia 7710
• Sony Ericsson P910
• FOMA F901iC
• Lenovo P930
• FOMA F900i
• FOMA F900iT
• Panasonic X800
• KIA 6600
• FOMA F700i
• Motorola A1010
• Nokia N-Gage QD
• and many more…
History
Symbian OS was designed for mobile
devices, from its earliest incarnation as
EPOC32 in the Psion Series 5.
Symbian OS is a consortium formed in
1998 and owned by Psion, Nokia, Sony
Ericsson, Panasonic (Matsushita), and
Siemens.
The shareholders are licensees of
Symbian OS. In addition, because
Symbian OS is an open platform, any
manufacturer can license it.
UI Design Platforms
 Leading UI design
 Platform
 Owned by Nokia
 Key based GUI
 Designed for onehanded
 operation
Series 60(S60)
Series 80(S80)
 Owned by Nokia
 Two-handed operation
 Designed for business
 Large colour landscape display
 Full keyboard
UI Design Platforms
UI Design Platforms
 Large touch landscape
 colour screen with stylus
 On-screen keyboard
 Handwriting recognition
Series 90(S90)
Key Features of Symbian OS V6
 Rich suite of application
engines
 includes engines for
contacts, schedule, messaging, br
owsing, utility and system control;
OBEX for exchanging objects
such as appointments (using the
industry standard vCalendar) and
business cards (vCard);
 Browsing
 A WAP stack is provided with
support
for WAP 1.2.1 for mobile browsing
 Messaging
 Multimedia messaging
(MMS), enhanced messaging (EMS)
and SMS
 Multimedia
 Audio and video support for
recording, playback and streaming;
image conversion
 Graphics
 Direct access to screen and
keyboard for high performance;
graphics accelerator API
Communications protocols
Mobile telephony
 Symbian OS v7.0s is ready for the 3G
market with support for GSM circuit
switched
International support
 Conforms to the Unicode Standard version
3.0
Data synchronization
 the ability to transfer files and
synchronize PIM data.
Security
Full encryption and certificate
management, secure protocols
Developing for Symbian OS
include: C++, Java (J2ME)
MIDP 2.0 and Personal Java
1.1.1a (with JavaPhone 1.0
option), andWAP
User Inputs
Generic input mechanism
supporting full keyboard, 0-9*#,
voice, handwriting recognition
and predictive text input 2.1
 The Multimedia Framework (MMF) provides
a lightweight, multi-threaded framework for
handling multimedia data.
 The framework provides audio recording
and playback, audio streaming and image
related functionality.
 Support is provided for video
recording, playback and streaming.
 The image conversion library is a
lightweight, optionally multithreaded, client-
side framework for still image codecs and
conversion;
 Plug-ins supplied by Symbian include
JPEG, GIF, BMP, MBM, SMS, WBMP, PNG,
TIFF, WMF and ICO.
 Third party plug-ins are enabled through
the extensible nature of the framework.
 Camera support: An onboard camera
API providing a consistent interface to
basic camera functions.
Layers of Multimedia Framework
Layers in Symbian OS V6
• Java can run also on small devices.
• But a full Java Virtual Machine is not
implementable.
Therefore, a subset of the Java Virtual
Machine is implemented called MicroEdition.
Java flavors
J2ME Architecture
J2ME Architecture(cont.)
J2ME Architecture(cont.)
KVM - Kilobyte Virtual Machine
•KVM is 40 – 80 KB in size and is meant for devices with
160 KB of memory and 16 or 32-bit RISC/CISC
microprocessors.
J2ME Architecture(cont.)
CLDC - Connected Limited Device Configuration
• It provides core lower level functionality at Bare minimum IO and
utilities.
• It currently consists of java.io, java.lang, java.util.
J2ME Architecture(cont.)
MIDP – Mobile Information Device Profile
•MIDP provides the core application functionality for
mobile devices and is meant for Network connectivity, data
storage, and user interfaces.
J2ME and MIDP
•The Mobile Information Device Profile (MIDP) is a key
element of the Java 2 Platform, Mobile Edition (J2ME).
When combined with the Connected Limited Device
Configuration (CLDC), MIDP provides a standard Java
runtime environment.
• The MIDP specification defines a platform for
dynamically and securely deploying optimized, graphical,
networked applications.
• CLDC and MIDP provide the core application
functionality required by mobile applications, in the
form of a standardized Java runtime environment and a
rich set of Java APIs.
J2ME Applications
A J2ME app is called a Midlet.
A
M
I
D
L
E
T
L
I
F
E
C
Y
C
L
E
Enhancements
in
Symbian v9.2
1. JAVA SUPPORT
2. HARDWARE SUPPORT
3. GRAPHICS
4. SECURITY
5. COMMUNICATION PROTOCOLS
1) JAVA SUPPORT
• Java Standards Supported by
SYMBIAN O.S :
1. MIDP 2.0
2. CLDC 1.1
3. JAVA API For BlUETOOTH
4. WIRELESS MESSAGING
5. MOBILE 3D GRAPHICS
(JSR184)
2) HARDWARE SUPPORT
• SYMBIAN O.S requires 32 bit
microprocessor that combines high
performance with low power
consumption.
• It supports latest C.P.U architecture,
peripherals, internal , external
memory types.
• Non-symbian to symbian apps porting
system
3) GRAPHICS
• SYMBIAN O.S has direct access to
keyboard and screen for higher
performance.
• It is also capable of delivering high
defination imaging ,videos and
animated interfaces.
• This technology develops the front-end
of UI .
Symbian osPocket PCPalm OS
4) SECURITY
• It has proactive system defence
mechanism based on granting and
monitoring apps capabilities through
Symbian signed certification.
• Introduction to security has provided
ability to place data in secure data
form(cage).
• Thus Symbian O.S is less prone to
attacks than any other systems.
5) COMMUNICATION PROTOCOLS
• Supports Wide Area Networking
stacks including TCP/IP.
• Personal Area Networking including
INFRARED , BLUETOOTH , USB.
• GPRS networks are also provided
for the multihoming by Symbian
O.S.
BLOCK STRUCTURE OF
COMMUNICATION IN SYMBIAN O.S
4.APPLICATION
3.PROTOCOL IMPLEMENTATION
2. DEVICE DRIVER
1.PHYSICAL DEVICE
C++ in
Symbain
C++ basics
 T Classes (T is for type as they are similar to
fundamental types).
 C Classes (classes derived from Cbase.)
For memory management to work correctly, C
classes must ultimately derive from the
class CBase (defined in the Symbian C++ header
filee32base.h).)
 R Classes (representing Resource handles)
Usually small classes invoking open (), create (),
initialize () in the constructor and close (), resent () on
destruction.
 M Classes
An M class is an abstract interface class that declares
pure virtual functions and has no member data.
THREADS
• Active Objects live within threads which are
scheduled with a priority based pre-emptive
scheduling policy.
• Data of threads within the same process is shared and
thus must be protected with the usual synchronization
primitives such as semaphores.
• Threads are manipulated via the RThread class
• Typical operations are
oSuspend
oResume
oPanic
oKill or Terminate
THREADS
• Each thread has its own independent heap
and stack and the size of the stack is limited
upon creation RThread::Create ().
• Each thread has a unique
identifier, returned by RThread::Id ().
• Threads can be handled by RThread::Open
(identifer)
THREAD PRIORITIES
• Threads are pre-emptively scheduled and the currently
running thread is the highest priority thread ready to run.
• If there are more threads in the above situation, then they
are time-sliced on a round-robin basis.
• Priority can be dynamically changed RThread::SetPriority
(). A thread has a relative and an absolute priority.
• The absolute priority is either a function of the process
priority, or independent from it.
• All threads are created with EPriorityNormal by default
and put into a suspended state, it runs when
RThread::Resume () is called.
• A thread is stopped with Suspend () or with Kill () and
Terminate (). Panic () also stops a thread and gives a
programming error.
• It is possible to receive a notification when a thread dies.
» Processes are handled as
threads, with one main
difference, there is no suspend
method. Processes are not
scheduled! Threads are scheduled
across process boundaries.
» Processes are used to protect
memory space, rather as units of
multi-tasking.
» The kernel server process is a
special process that contains two
threads which run at supervisor
privilege level:
» The kernel server thread: the first
thread to run, the highest priority
of all threads
» The Null thread: lowest priority of
all threads, used to switch the
processor into idle mode to save
power, by calling a callback
function to shut down part of the
hardware. To allow for this thread
to run, threads performing
input/output should wait on
events rather than polling
 Faults
 It is raised if a critical error occurs such that the OS cannot
continue. It reboots the device. It can only occur in system’s
code. Also known as system panic
 Leaves
 Occur under exceptional conditions, such as out of memory, or
communication error. It should always be trapped by a
function on the calling stack. If this is not the case it will
generate a panic
 Panics
 A panic is an exception in the thread that causes the halting of
the execution. It cannot be trapped and may cause the
device’s reboot
Error types
Leaves
A leave may occur:
 Calling a leaving function
 Invoking a system call function to
cause a leave
 When a leave occurs the
corresponding error value is
propagated through the call stack
until it is caught.
 Leaves are caught by a trap harness where the
exception can be correctly handled. From the
implementation point of view, leaves are similar to
the C setjmp and longjmp mechanisms
 When a thread is panicked the code in it stops
running. There is no recovery from a panic.
 Unlike a leave, a panic can’t be trapped.
 A panic in a system thread will result in a
reboot of the device!
 A panic in any other thread results in a
“Program Closed” message box showing: the
process name, panic category and an error
code.
Panic
 One thread can panic another one:
 Used by a server when a client passes a badly
formed request
 To prevent bugs, but also as self-defence
(against denial-of-service attacks)
Panic
 Symbian OS is a robust multi-tasking operating
system, designed specifically for real-world wireless
environments and the constraints of mobile phones (including
limited amount of memory).
 Symbian OS is natively IP-based, with fully integrated
communications and messaging.
 It supports all the leading industry standards that will be
essential for this generation of data-enabled mobile phones.
Symbian OS enables a large community of developers.
 The open platform allows the installation of third party
software to further enhance the platform.
CONCLUSION
Bibliography
 Symbian OS Explained by Jo Stichbury, Wiley (2005)
 Symbian official website: http://www.symbian.com
 Symbian OS Version 7.0s, Functional Description; By
Kevin Dixon, (June 2003)
 Java official website: http://java.sun.com
 Nokia Official Website:
http://www.developer.nokia.com/Community/Wiki/Desig
n_Patterns_in_Symbian

More Related Content

What's hot

Chap3 Device Technology
Chap3 Device TechnologyChap3 Device Technology
Chap3 Device TechnologyANUSUYA T K
 
Dds presentation brussels
Dds presentation brusselsDds presentation brussels
Dds presentation brusselsmilsoftSDC
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Wambua Wambua
 
Introduction to Symbian OS
Introduction to Symbian OSIntroduction to Symbian OS
Introduction to Symbian OSHatem Mahmoud
 
English version mobile computers reference catalog
English version   mobile computers reference catalogEnglish version   mobile computers reference catalog
English version mobile computers reference catalogerolcet
 
01. introduction to embedded systems
01. introduction to embedded systems01. introduction to embedded systems
01. introduction to embedded systemsayush1313
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowBenjamin Zores
 
Video Server
Video ServerVideo Server
Video Servernnmaurya
 
IS 139 Lecture 2
IS 139 Lecture 2IS 139 Lecture 2
IS 139 Lecture 2wajanga
 
IS 139 Lecture 2 - 2015
 IS 139 Lecture 2 - 2015 IS 139 Lecture 2 - 2015
IS 139 Lecture 2 - 2015Aron Kondoro
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01Jao Saloto
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesBenjamin Zores
 
System on chip architectures
System on chip architecturesSystem on chip architectures
System on chip architecturesA B Shinde
 
D610 Spec Sheet
D610 Spec SheetD610 Spec Sheet
D610 Spec Sheetxnk12x
 

What's hot (19)

Chap3 Device Technology
Chap3 Device TechnologyChap3 Device Technology
Chap3 Device Technology
 
Dds presentation brussels
Dds presentation brusselsDds presentation brussels
Dds presentation brussels
 
J2ME GUI Programming
J2ME GUI ProgrammingJ2ME GUI Programming
J2ME GUI Programming
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
Introduction to Symbian OS
Introduction to Symbian OSIntroduction to Symbian OS
Introduction to Symbian OS
 
English version mobile computers reference catalog
English version   mobile computers reference catalogEnglish version   mobile computers reference catalog
English version mobile computers reference catalog
 
01. introduction to embedded systems
01. introduction to embedded systems01. introduction to embedded systems
01. introduction to embedded systems
 
Symbian OS
Symbian  OS Symbian  OS
Symbian OS
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
 
Video Server
Video ServerVideo Server
Video Server
 
IS 139 Lecture 2
IS 139 Lecture 2IS 139 Lecture 2
IS 139 Lecture 2
 
IS 139 Lecture 2 - 2015
 IS 139 Lecture 2 - 2015 IS 139 Lecture 2 - 2015
IS 139 Lecture 2 - 2015
 
Emc lifeline
Emc lifelineEmc lifeline
Emc lifeline
 
Cpphtp4 ppt 01
Cpphtp4 ppt 01Cpphtp4 ppt 01
Cpphtp4 ppt 01
 
Networking fundamentals
Networking fundamentalsNetworking fundamentals
Networking fundamentals
 
Java J2ME
Java J2MEJava J2ME
Java J2ME
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
 
System on chip architectures
System on chip architecturesSystem on chip architectures
System on chip architectures
 
D610 Spec Sheet
D610 Spec SheetD610 Spec Sheet
D610 Spec Sheet
 

Similar to Symbian os (20)

Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbian
 
Symbian Os Introduction
Symbian Os IntroductionSymbian Os Introduction
Symbian Os Introduction
 
CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING CS8601 MOBILE COMPUTING
CS8601 MOBILE COMPUTING
 
Symbian Os
Symbian OsSymbian Os
Symbian Os
 
UNIT-4
UNIT-4UNIT-4
UNIT-4
 
unit-5
unit-5unit-5
unit-5
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
It6601 mobile computing unit 5
It6601 mobile computing unit 5It6601 mobile computing unit 5
It6601 mobile computing unit 5
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
GSM ARCHITECTURE-Mobile Communication.pptx
GSM ARCHITECTURE-Mobile  Communication.pptxGSM ARCHITECTURE-Mobile  Communication.pptx
GSM ARCHITECTURE-Mobile Communication.pptx
 
Mobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and ApplicationsMobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and Applications
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
 
MOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptxMOBILE COMPUTING Unit 5.pptx
MOBILE COMPUTING Unit 5.pptx
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
Android OS
Android OSAndroid OS
Android OS
 

More from Sandeep Kamath

More from Sandeep Kamath (20)

Android persentation
Android persentationAndroid persentation
Android persentation
 
Biometrics
BiometricsBiometrics
Biometrics
 
Oracle architecture
Oracle architectureOracle architecture
Oracle architecture
 
Oracle advanced
Oracle advancedOracle advanced
Oracle advanced
 
Oracle
OracleOracle
Oracle
 
Technology
TechnologyTechnology
Technology
 
Ad and da convertor
Ad and da convertorAd and da convertor
Ad and da convertor
 
Introducttion to robotics and microcontrollers
Introducttion to robotics and microcontrollersIntroducttion to robotics and microcontrollers
Introducttion to robotics and microcontrollers
 
Rs 232
Rs 232Rs 232
Rs 232
 
Ct213 memory subsystem
Ct213 memory subsystemCt213 memory subsystem
Ct213 memory subsystem
 
Microprocessor in washing machine
Microprocessor in washing machineMicroprocessor in washing machine
Microprocessor in washing machine
 
File hippo
File hippoFile hippo
File hippo
 
Processor
ProcessorProcessor
Processor
 
Microprocessor in washing machine
Microprocessor in washing machineMicroprocessor in washing machine
Microprocessor in washing machine
 
Microprocessor based software developnent
Microprocessor based software developnentMicroprocessor based software developnent
Microprocessor based software developnent
 
Microcessor aplication
Microcessor aplicationMicrocessor aplication
Microcessor aplication
 
Magnetic tape
Magnetic tapeMagnetic tape
Magnetic tape
 
Introducttion to robotics and microcontrollers
Introducttion to robotics and microcontrollersIntroducttion to robotics and microcontrollers
Introducttion to robotics and microcontrollers
 
Interfacing address
Interfacing addressInterfacing address
Interfacing address
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 

Recently uploaded

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Symbian os

  • 1.
  • 2. Index • Introduction • Requirements • Symbian running mobiles • History • UI Design Platforms • Features of Symbian • Multimedia In Symbian • Layers • Java Virtual Machine • Enhancements In Symbain OS V9 • C++ In Symbian • Conclusion
  • 3. Symbian OS is an operating system for mobile devices with limited resources, multitasking needs and soft real time requirements. It’s based on a modular, layered, micro-kernel approach. INTRODUCTION
  • 4.   Resilient power-management  Careful use of memory resources  Multi-tasking (e.g., phone calls messages, alarms, games, WAP browser, camera, Bluetooth app, etc.)  Soft Real-Time (e.g., incoming phone call)  Robust Requirements
  • 5. The Symbian OS Works on the following Handsets • Motorola A1000 • FOMA F880iES • Nokia 3230 • BenQ P30 • FOMA F900iC • Nokia 7710 • Sony Ericsson P910 • FOMA F901iC • Arima U300 • Nokia 7610 • Panasonic X700 • Lenovo P930 • FOMA F900i • FOMA F900iT • FOMA F900iC • Nokia 7710 • Sony Ericsson P910 • FOMA F901iC • Lenovo P930 • FOMA F900i • FOMA F900iT • Panasonic X800 • KIA 6600 • FOMA F700i • Motorola A1010 • Nokia N-Gage QD • and many more…
  • 6. History Symbian OS was designed for mobile devices, from its earliest incarnation as EPOC32 in the Psion Series 5. Symbian OS is a consortium formed in 1998 and owned by Psion, Nokia, Sony Ericsson, Panasonic (Matsushita), and Siemens. The shareholders are licensees of Symbian OS. In addition, because Symbian OS is an open platform, any manufacturer can license it.
  • 7.
  • 8. UI Design Platforms  Leading UI design  Platform  Owned by Nokia  Key based GUI  Designed for onehanded  operation Series 60(S60)
  • 9. Series 80(S80)  Owned by Nokia  Two-handed operation  Designed for business  Large colour landscape display  Full keyboard UI Design Platforms
  • 10. UI Design Platforms  Large touch landscape  colour screen with stylus  On-screen keyboard  Handwriting recognition Series 90(S90)
  • 11. Key Features of Symbian OS V6  Rich suite of application engines  includes engines for contacts, schedule, messaging, br owsing, utility and system control; OBEX for exchanging objects such as appointments (using the industry standard vCalendar) and business cards (vCard);  Browsing  A WAP stack is provided with support for WAP 1.2.1 for mobile browsing
  • 12.  Messaging  Multimedia messaging (MMS), enhanced messaging (EMS) and SMS  Multimedia  Audio and video support for recording, playback and streaming; image conversion  Graphics  Direct access to screen and keyboard for high performance; graphics accelerator API
  • 13. Communications protocols Mobile telephony  Symbian OS v7.0s is ready for the 3G market with support for GSM circuit switched International support  Conforms to the Unicode Standard version 3.0 Data synchronization  the ability to transfer files and synchronize PIM data.
  • 14. Security Full encryption and certificate management, secure protocols Developing for Symbian OS include: C++, Java (J2ME) MIDP 2.0 and Personal Java 1.1.1a (with JavaPhone 1.0 option), andWAP User Inputs Generic input mechanism supporting full keyboard, 0-9*#, voice, handwriting recognition and predictive text input 2.1
  • 15.  The Multimedia Framework (MMF) provides a lightweight, multi-threaded framework for handling multimedia data.  The framework provides audio recording and playback, audio streaming and image related functionality.  Support is provided for video recording, playback and streaming.  The image conversion library is a lightweight, optionally multithreaded, client- side framework for still image codecs and conversion;
  • 16.  Plug-ins supplied by Symbian include JPEG, GIF, BMP, MBM, SMS, WBMP, PNG, TIFF, WMF and ICO.  Third party plug-ins are enabled through the extensible nature of the framework.  Camera support: An onboard camera API providing a consistent interface to basic camera functions.
  • 17. Layers of Multimedia Framework
  • 19. • Java can run also on small devices. • But a full Java Virtual Machine is not implementable. Therefore, a subset of the Java Virtual Machine is implemented called MicroEdition.
  • 23. J2ME Architecture(cont.) KVM - Kilobyte Virtual Machine •KVM is 40 – 80 KB in size and is meant for devices with 160 KB of memory and 16 or 32-bit RISC/CISC microprocessors.
  • 24. J2ME Architecture(cont.) CLDC - Connected Limited Device Configuration • It provides core lower level functionality at Bare minimum IO and utilities. • It currently consists of java.io, java.lang, java.util.
  • 25. J2ME Architecture(cont.) MIDP – Mobile Information Device Profile •MIDP provides the core application functionality for mobile devices and is meant for Network connectivity, data storage, and user interfaces.
  • 26. J2ME and MIDP •The Mobile Information Device Profile (MIDP) is a key element of the Java 2 Platform, Mobile Edition (J2ME). When combined with the Connected Limited Device Configuration (CLDC), MIDP provides a standard Java runtime environment. • The MIDP specification defines a platform for dynamically and securely deploying optimized, graphical, networked applications. • CLDC and MIDP provide the core application functionality required by mobile applications, in the form of a standardized Java runtime environment and a rich set of Java APIs.
  • 27. J2ME Applications A J2ME app is called a Midlet. A M I D L E T L I F E C Y C L E
  • 29. 1. JAVA SUPPORT 2. HARDWARE SUPPORT 3. GRAPHICS 4. SECURITY 5. COMMUNICATION PROTOCOLS
  • 30. 1) JAVA SUPPORT • Java Standards Supported by SYMBIAN O.S : 1. MIDP 2.0 2. CLDC 1.1 3. JAVA API For BlUETOOTH 4. WIRELESS MESSAGING 5. MOBILE 3D GRAPHICS (JSR184)
  • 31. 2) HARDWARE SUPPORT • SYMBIAN O.S requires 32 bit microprocessor that combines high performance with low power consumption. • It supports latest C.P.U architecture, peripherals, internal , external memory types. • Non-symbian to symbian apps porting system
  • 32. 3) GRAPHICS • SYMBIAN O.S has direct access to keyboard and screen for higher performance. • It is also capable of delivering high defination imaging ,videos and animated interfaces. • This technology develops the front-end of UI .
  • 34. 4) SECURITY • It has proactive system defence mechanism based on granting and monitoring apps capabilities through Symbian signed certification. • Introduction to security has provided ability to place data in secure data form(cage). • Thus Symbian O.S is less prone to attacks than any other systems.
  • 35. 5) COMMUNICATION PROTOCOLS • Supports Wide Area Networking stacks including TCP/IP. • Personal Area Networking including INFRARED , BLUETOOTH , USB. • GPRS networks are also provided for the multihoming by Symbian O.S.
  • 36. BLOCK STRUCTURE OF COMMUNICATION IN SYMBIAN O.S 4.APPLICATION 3.PROTOCOL IMPLEMENTATION 2. DEVICE DRIVER 1.PHYSICAL DEVICE
  • 38. C++ basics  T Classes (T is for type as they are similar to fundamental types).  C Classes (classes derived from Cbase.) For memory management to work correctly, C classes must ultimately derive from the class CBase (defined in the Symbian C++ header filee32base.h).)  R Classes (representing Resource handles) Usually small classes invoking open (), create (), initialize () in the constructor and close (), resent () on destruction.  M Classes An M class is an abstract interface class that declares pure virtual functions and has no member data.
  • 39. THREADS • Active Objects live within threads which are scheduled with a priority based pre-emptive scheduling policy. • Data of threads within the same process is shared and thus must be protected with the usual synchronization primitives such as semaphores. • Threads are manipulated via the RThread class • Typical operations are oSuspend oResume oPanic oKill or Terminate
  • 40. THREADS • Each thread has its own independent heap and stack and the size of the stack is limited upon creation RThread::Create (). • Each thread has a unique identifier, returned by RThread::Id (). • Threads can be handled by RThread::Open (identifer)
  • 41. THREAD PRIORITIES • Threads are pre-emptively scheduled and the currently running thread is the highest priority thread ready to run. • If there are more threads in the above situation, then they are time-sliced on a round-robin basis. • Priority can be dynamically changed RThread::SetPriority (). A thread has a relative and an absolute priority. • The absolute priority is either a function of the process priority, or independent from it. • All threads are created with EPriorityNormal by default and put into a suspended state, it runs when RThread::Resume () is called. • A thread is stopped with Suspend () or with Kill () and Terminate (). Panic () also stops a thread and gives a programming error. • It is possible to receive a notification when a thread dies.
  • 42. » Processes are handled as threads, with one main difference, there is no suspend method. Processes are not scheduled! Threads are scheduled across process boundaries. » Processes are used to protect memory space, rather as units of multi-tasking. » The kernel server process is a special process that contains two threads which run at supervisor privilege level:
  • 43. » The kernel server thread: the first thread to run, the highest priority of all threads » The Null thread: lowest priority of all threads, used to switch the processor into idle mode to save power, by calling a callback function to shut down part of the hardware. To allow for this thread to run, threads performing input/output should wait on events rather than polling
  • 44.
  • 45.  Faults  It is raised if a critical error occurs such that the OS cannot continue. It reboots the device. It can only occur in system’s code. Also known as system panic  Leaves  Occur under exceptional conditions, such as out of memory, or communication error. It should always be trapped by a function on the calling stack. If this is not the case it will generate a panic  Panics  A panic is an exception in the thread that causes the halting of the execution. It cannot be trapped and may cause the device’s reboot Error types
  • 46. Leaves A leave may occur:  Calling a leaving function  Invoking a system call function to cause a leave  When a leave occurs the corresponding error value is propagated through the call stack until it is caught.  Leaves are caught by a trap harness where the exception can be correctly handled. From the implementation point of view, leaves are similar to the C setjmp and longjmp mechanisms
  • 47.  When a thread is panicked the code in it stops running. There is no recovery from a panic.  Unlike a leave, a panic can’t be trapped.  A panic in a system thread will result in a reboot of the device!  A panic in any other thread results in a “Program Closed” message box showing: the process name, panic category and an error code. Panic
  • 48.  One thread can panic another one:  Used by a server when a client passes a badly formed request  To prevent bugs, but also as self-defence (against denial-of-service attacks) Panic
  • 49.  Symbian OS is a robust multi-tasking operating system, designed specifically for real-world wireless environments and the constraints of mobile phones (including limited amount of memory).  Symbian OS is natively IP-based, with fully integrated communications and messaging.  It supports all the leading industry standards that will be essential for this generation of data-enabled mobile phones. Symbian OS enables a large community of developers.  The open platform allows the installation of third party software to further enhance the platform. CONCLUSION
  • 50. Bibliography  Symbian OS Explained by Jo Stichbury, Wiley (2005)  Symbian official website: http://www.symbian.com  Symbian OS Version 7.0s, Functional Description; By Kevin Dixon, (June 2003)  Java official website: http://java.sun.com  Nokia Official Website: http://www.developer.nokia.com/Community/Wiki/Desig n_Patterns_in_Symbian