Symbian os


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Symbian os

  1. 1. 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
  2. 2. Symbian OS is an operating systemfor mobile devices with limitedresources, multitasking needs and softreal time requirements.It’s based on a modular, layered,micro-kernel approach.INTRODUCTION
  3. 3.  Resilient power-management Careful use of memory resources Multi-tasking (e.g., phone callsmessages, alarms, games, WAPbrowser, camera, Bluetooth app, etc.) Soft Real-Time (e.g., incoming phone call) RobustRequirements
  4. 4. The Symbian OS Works on thefollowing 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…
  5. 5. HistorySymbian OS was designed for mobiledevices, from its earliest incarnation asEPOC32 in the Psion Series 5.Symbian OS is a consortium formed in1998 and owned by Psion, Nokia, SonyEricsson, Panasonic (Matsushita), andSiemens.The shareholders are licensees ofSymbian OS. In addition, becauseSymbian OS is an open platform, anymanufacturer can license it.
  6. 6. UI Design Platforms Leading UI design Platform Owned by Nokia Key based GUI Designed for onehanded operationSeries 60(S60)
  7. 7. Series 80(S80) Owned by Nokia Two-handed operation Designed for business Large colour landscape display Full keyboardUI Design Platforms
  8. 8. UI Design Platforms Large touch landscape colour screen with stylus On-screen keyboard Handwriting recognitionSeries 90(S90)
  9. 9. Key Features of Symbian OS V6 Rich suite of applicationengines includes engines forcontacts, schedule, messaging, browsing, utility and system control;OBEX for exchanging objectssuch as appointments (using theindustry standard vCalendar) andbusiness cards (vCard); Browsing A WAP stack is provided withsupportfor WAP 1.2.1 for mobile browsing
  10. 10.  Messaging Multimedia messaging(MMS), enhanced messaging (EMS)and SMS Multimedia Audio and video support forrecording, playback and streaming;image conversion Graphics Direct access to screen andkeyboard for high performance;graphics accelerator API
  11. 11. Communications protocolsMobile telephony Symbian OS v7.0s is ready for the 3Gmarket with support for GSM circuitswitchedInternational support Conforms to the Unicode Standard version3.0Data synchronization the ability to transfer files andsynchronize PIM data.
  12. 12. SecurityFull encryption and certificatemanagement, secure protocolsDeveloping for Symbian OSinclude: C++, Java (J2ME)MIDP 2.0 and Personal Java1.1.1a (with JavaPhone 1.0option), andWAPUser InputsGeneric input mechanismsupporting full keyboard, 0-9*#,voice, handwriting recognitionand predictive text input 2.1
  13. 13.  The Multimedia Framework (MMF) providesa lightweight, multi-threaded framework forhandling multimedia data. The framework provides audio recordingand playback, audio streaming and imagerelated functionality. Support is provided for videorecording, playback and streaming. The image conversion library is alightweight, optionally multithreaded, client-side framework for still image codecs andconversion;
  14. 14.  Plug-ins supplied by Symbian includeJPEG, GIF, BMP, MBM, SMS, WBMP, PNG,TIFF, WMF and ICO. Third party plug-ins are enabled throughthe extensible nature of the framework. Camera support: An onboard cameraAPI providing a consistent interface tobasic camera functions.
  15. 15. Layers of Multimedia Framework
  16. 16. Layers in Symbian OS V6
  17. 17. • Java can run also on small devices.• But a full Java Virtual Machine is notimplementable.Therefore, a subset of the Java VirtualMachine is implemented called MicroEdition.
  18. 18. Java flavors
  19. 19. J2ME Architecture
  20. 20. J2ME Architecture(cont.)
  21. 21. J2ME Architecture(cont.)KVM - Kilobyte Virtual Machine•KVM is 40 – 80 KB in size and is meant for devices with160 KB of memory and 16 or 32-bit RISC/CISCmicroprocessors.
  22. 22. J2ME Architecture(cont.)CLDC - Connected Limited Device Configuration• It provides core lower level functionality at Bare minimum IO andutilities.• It currently consists of, java.lang, java.util.
  23. 23. J2ME Architecture(cont.)MIDP – Mobile Information Device Profile•MIDP provides the core application functionality formobile devices and is meant for Network connectivity, datastorage, and user interfaces.
  24. 24. J2ME and MIDP•The Mobile Information Device Profile (MIDP) is a keyelement of the Java 2 Platform, Mobile Edition (J2ME).When combined with the Connected Limited DeviceConfiguration (CLDC), MIDP provides a standard Javaruntime environment.• The MIDP specification defines a platform fordynamically and securely deploying optimized, graphical,networked applications.• CLDC and MIDP provide the core applicationfunctionality required by mobile applications, in theform of a standardized Java runtime environment and arich set of Java APIs.
  25. 25. J2ME ApplicationsA J2ME app is called a Midlet.AMIDLETLIFECYCLE
  26. 26. EnhancementsinSymbian v9.2
  28. 28. 1) JAVA SUPPORT• Java Standards Supported bySYMBIAN O.S :1. MIDP 2.02. CLDC 1.13. JAVA API For BlUETOOTH4. WIRELESS MESSAGING5. MOBILE 3D GRAPHICS(JSR184)
  29. 29. 2) HARDWARE SUPPORT• SYMBIAN O.S requires 32 bitmicroprocessor that combines highperformance with low powerconsumption.• It supports latest C.P.U architecture,peripherals, internal , externalmemory types.• Non-symbian to symbian apps portingsystem
  30. 30. 3) GRAPHICS• SYMBIAN O.S has direct access tokeyboard and screen for higherperformance.• It is also capable of delivering highdefination imaging ,videos andanimated interfaces.• This technology develops the front-endof UI .
  31. 31. Symbian osPocket PCPalm OS
  32. 32. 4) SECURITY• It has proactive system defencemechanism based on granting andmonitoring apps capabilities throughSymbian signed certification.• Introduction to security has providedability to place data in secure dataform(cage).• Thus Symbian O.S is less prone toattacks than any other systems.
  33. 33. 5) COMMUNICATION PROTOCOLS• Supports Wide Area Networkingstacks including TCP/IP.• Personal Area Networking includingINFRARED , BLUETOOTH , USB.• GPRS networks are also providedfor the multihoming by SymbianO.S.
  35. 35. C++ inSymbain
  36. 36. C++ basics T Classes (T is for type as they are similar tofundamental types). C Classes (classes derived from Cbase.)For memory management to work correctly, Cclasses must ultimately derive from theclass CBase (defined in the Symbian C++ headerfilee32base.h).) R Classes (representing Resource handles)Usually small classes invoking open (), create (),initialize () in the constructor and close (), resent () ondestruction. M ClassesAn M class is an abstract interface class that declarespure virtual functions and has no member data.
  37. 37. THREADS• Active Objects live within threads which arescheduled with a priority based pre-emptivescheduling policy.• Data of threads within the same process is shared andthus must be protected with the usual synchronizationprimitives such as semaphores.• Threads are manipulated via the RThread class• Typical operations areoSuspendoResumeoPanicoKill or Terminate
  38. 38. THREADS• Each thread has its own independent heapand stack and the size of the stack is limitedupon creation RThread::Create ().• Each thread has a uniqueidentifier, returned by RThread::Id ().• Threads can be handled by RThread::Open(identifer)
  39. 39. THREAD PRIORITIES• Threads are pre-emptively scheduled and the currentlyrunning thread is the highest priority thread ready to run.• If there are more threads in the above situation, then theyare 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 processpriority, or independent from it.• All threads are created with EPriorityNormal by defaultand put into a suspended state, it runs whenRThread::Resume () is called.• A thread is stopped with Suspend () or with Kill () andTerminate (). Panic () also stops a thread and gives aprogramming error.• It is possible to receive a notification when a thread dies.
  40. 40. » Processes are handled asthreads, with one maindifference, there is no suspendmethod. Processes are notscheduled! Threads are scheduledacross process boundaries.» Processes are used to protectmemory space, rather as units ofmulti-tasking.» The kernel server process is aspecial process that contains twothreads which run at supervisorprivilege level:
  41. 41. » The kernel server thread: the firstthread to run, the highest priorityof all threads» The Null thread: lowest priority ofall threads, used to switch theprocessor into idle mode to savepower, by calling a callbackfunction to shut down part of thehardware. To allow for this threadto run, threads performinginput/output should wait onevents rather than polling
  42. 42.  Faults It is raised if a critical error occurs such that the OS cannotcontinue. It reboots the device. It can only occur in system’scode. Also known as system panic Leaves Occur under exceptional conditions, such as out of memory, orcommunication error. It should always be trapped by afunction on the calling stack. If this is not the case it willgenerate a panic Panics A panic is an exception in the thread that causes the halting ofthe execution. It cannot be trapped and may cause thedevice’s rebootError types
  43. 43. LeavesA leave may occur: Calling a leaving function Invoking a system call function tocause a leave When a leave occurs thecorresponding error value ispropagated through the call stackuntil it is caught. Leaves are caught by a trap harness where theexception can be correctly handled. From theimplementation point of view, leaves are similar tothe C setjmp and longjmp mechanisms
  44. 44.  When a thread is panicked the code in it stopsrunning. 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 areboot of the device! A panic in any other thread results in a“Program Closed” message box showing: theprocess name, panic category and an errorcode.Panic
  45. 45.  One thread can panic another one: Used by a server when a client passes a badlyformed request To prevent bugs, but also as self-defence(against denial-of-service attacks)Panic
  46. 46.  Symbian OS is a robust multi-tasking operatingsystem, designed specifically for real-world wirelessenvironments and the constraints of mobile phones (includinglimited amount of memory). Symbian OS is natively IP-based, with fully integratedcommunications and messaging. It supports all the leading industry standards that will beessential for this generation of data-enabled mobile phones.Symbian OS enables a large community of developers. The open platform allows the installation of third partysoftware to further enhance the platform.CONCLUSION
  47. 47. Bibliography Symbian OS Explained by Jo Stichbury, Wiley (2005) Symbian official website: Symbian OS Version 7.0s, Functional Description; ByKevin Dixon, (June 2003) Java official website: Nokia Official Website: