Symbian Operating System



Similar documents
Mobile Operating Systems Lesson 07 Symbian OS

2 Selecting Operating System - Symbian OS

Mobile Operating Systems. Week I

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

Mobile Operating Systems Lesson 03 PalmOS Part 1

Symbian phone Security

Lecture 25 Symbian OS

Lecture 1 Introduction to Android

Example of Standard API

Mobile Phones Operating Systems

Mobile Application Development

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Python for Series 60 Platform

Overview of CS 282 & Android

VoIP support on Qtopia. Vladimir Minenko, Ph.D.

Important Notice Baracoda products works with all Bluetooth devices accepting both SPP connection and sniff mode.

Mobile Device Management and Security Glossary


Mobile Operating Systems Lesson 05 Windows CE Part 1

A Review of Different Comparative Studies on Mobile Operating System

rich mobile applications made easy

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Introduction to Android

15 May 2013 Version 5. for Mac OS X. Public version. Gemfor s.r.o. Tyršovo nám Roztoky Czech Republic

Introduction to Android

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer.

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Windows Embedded 7 E versus Windows Embedded 7 P

Current Software Platforms on Mobile Phone. Yun Chan Cho^ and Jae Wook Jeon^

Mobile Development Discovery Document

MOBILE TECHNOLOGIES AND DISTANCE EDUCATION

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

OXYGEN FORENSIC SUITE 2010 GETTING STARTED

Worldwide Major Mobile Phone Vendor Performance, 2Q 2015

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

CS3600 SYSTEMS AND NETWORKS

Chapter Contents. Operating System Activities. Operating System Basics. Operating System Activities. Operating System Activities 25/03/2014

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Mobile System Technologies Certification Program

Remote Desktop on Mobile

Linux based 3G Multimedia Mobile-phone Reference Architecture Specification

Chapter 5: System Software: Operating Systems and Utility Programs

Symbian C++ Application Programming Overview

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.


Cisco Unified Workforce Optimization

STUDY GUIDE CHAPTER 4

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

Cross-Platform Software Considerations for Internet of Things

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 0 Mobile Development Introduction. Marco Picone

ANDROID AND SYMBIAN OPERATING SYSTEM

Why Palm Powered? Ease of use. World s favorite platform for handhelds & smartphones. Fully compatible with Microsoft Office and Outlook

Comparative Study of Different Mobile Operating Systems

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

EUCIP - IT Administrator. Module 2 Operating Systems. Version 2.0

MEGA Web Application Architecture Overview MEGA 2009 SP4

CS420: Operating Systems OS Services & System Calls

Operating System Structures

ipad, a revolutionary device - Apple

Operating System Today s Operating Systems File Basics File Management Application Software

Best Practice Document Hints and Tips

Internationalization Programming for Mobile Applications

Customer Site Requirements for incontact Workforce Optimization

Guide to Wireless Communications. Digital Cellular Telephony. Learning Objectives. Digital Cellular Telephony. Chapter 8

Android Architecture. Alexandra Harrison & Jake Saxton

ReactOS is (not) Windows. Windows internals and why ReactOS couldn t just use a Linux kernel

Overture ENTERPRISE CLASS A/V CONTROL. Reduce complexity and cost with a software based A/V control

Considerations for Mobile Application Development

Study and installation of a VOIP service on ipaq in Linux environment

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Lectures 9 Advanced Operating Systems Fundamental Security. Computer Systems Administration TE2003

System Structures. Services Interface Structure

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Chapter 4. Operating Systems and File Management

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

How mobile operators can monetize 3G investments through an effective applications platform

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Computer and Set of Robots

Data Synchronization in Mobile Computing Systems Lesson 06 Synchronization Software HotSync, ActiveSync and Intellisync

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Chapter 15 Windows Operating Systems

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Application of Android OS as Real-time Control Platform**

Fast remote data access for control of TCP/IP network using android Mobile device

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Table of Contents. Pocket Label Gallery White Paper

A Modular Approach to Teaching Mobile APPS Development

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

OPERATING SYSTEM SERVICES

... Lecture 11. Market Overview of Mobile Operating Systems and Security Aspects. Mobile Business I (WS 2014/15) Prof. Dr.

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

The R380s The first smartphone from the Ericsson Symbian partnership

Programación de Sistemas Empotrados y Móviles (PSEM)

Inserting the SIM card in the MobiGater device. Connecting the MobiGater Device

Android in opposition to iphone

StruxureWare TM Data Center Expert

1. What are the System Requirements for using the MaaS360 for Exchange ActiveSync solution?

Transcription:

Symbian Operating System

1. Introduction Symbian s Introduction The Smartphone operating system Symbian OS is produced by the software development and licensing company Symbian Ltd. Symbian Ltd was established in June 1998 and is headquartered in Southwark in the UK, and the current CEO is Nigel Clifford. The native language of the Symbian OS is C++.

2. Platform 2.3 Network Connectivity Which evolution in the various versions? Symbian OS 6.0 and 6.1 (also called ER6 ): Bluetooth was added for exchanging data over short distances from fixed and mobile devices. (2002) Symbian OS 7.0 and 7.0s: This version added EDGE support and IPV6. (2003) What is the EDGE? (Enhanced Data rates for GSM Evolution) What is the IPV6? Symbian OS 8.0: There are not great evolution has shared some API s to support 3G.

2. Platform 2.3 Network Connectivity Which evolution in the various versions? Symbian OS 9.1: Change of version 1.2 for the Bluetooth has version 2.0 where the difference is the introduction of an Enhanced Data Rate (EDR) for faster data transfer. Symbian OS 9.3: The WIFI 802.11 and the HSDPA (High Speed Downlink Packet Access) appear on Symbian OS. What is HSDPA? Symbian Os 9.5: This last version includes native-support for mobile digital television broadcasts in DVB-H and ISDB-T formats and also location services.

Features of Symbian V9 Browsing: full web browser support and WAP stack for mbile browsing Messaging: support MMS, EMS, SMS, POP3, IMAP4, SMTP, MHTML; standard attachments; fax Multimedia: shared access to screen, keyboard, fonts and bitmaps; audio recording and playback, and image related functionality (support common audio and image formats), including API for graphics acceleration, streaming and direct screen access Communication protocols: including TCP, IP version 4, IP version 6 and WAP, IrDA, Bluetooth, USB Mobile telephony: abstract API for cellular standards. Data synchronization: over-the-air (OTA) synchronization support using SyncML. Supported over serial, infrared, Bluetooth and USB links. Provides synchronization : PIM data, transfer of files, and document conversion to and from non-symbian OS formats. Security: full-strength encryption and certificate management, secure communications protocols (including HTTPS, WTLS and SSL), WIM framework and certificate-based application installation

Application platforms Series 60 is a UI for mobile phones that are single-handed operated. In addition to voice communication, multimedia messaging, content browsing and application downloading are the main features of this platform. Series 80 is a UI for devices with larger horizontal screens. It is used in clamshell devices with a keyboard. UIQ is a customizable pen-based user interface platform for media-rich mobile phones based on Symbian OS. Symbian OS is also being used in the new Series 90 platform, which is being introduced in the Nokia 7700 phone. With a pen input user interface, a horizontal screen and an optional television tuner, the Nokia 7700 brings mobile multimedia to a new level.

Processor Modes ARM Processor 32 bit registers in Privileged mode 17 bit in user mode Supervisor mode: kernel owns device drivers implements the scheduling & synchronization policy does power management allocates memory to itself and user-mode (that is, unprivileged) processes. User mode: Runs user level application like: file server and windows server.

Architecture Client and Server in different threads (processes) Session based. Message passing. Server publishes client facing API. Symbian OS implements preemptive multithreading so that it can run multiple applications and servers simultaneously. Active objects are used to implement nonpreemptivemultitasking within the context of a single thread.

Memory Management Supports RAM maximum of 2GB. Applications share RAM with operating system but has exclusive access to their allocated memory area Flash and expansion card memory is used for storage. The kernel runs within its own protected address space. So a programs memory leak or stack over-run can't overwrite the kernel's stack or heap which would cause a system crash. Symbian OS presents a virtual machine model to all running programs. Programs use linear virtual memory environment facilitated by the use of the MMU.

File Management File server provides the access The drive, directory and file hierarchy is VFAT, thus making the file system naturally compatible with desktop PCs. It provides local file systems (ROM, RAM and removable media), and an interface to allow dynamically installable file systems, such as those required to communicate with remote disks over a network. File Manager: File handling application. Browse the structure of internal storage, Memory stick storage space. It can be used for File management operations like Copy, Move, Delete, Rename, View properties Change file attributes, and more. Folders and files can also be managed and opened in appropriate viewers.

Processes and Threads Supports multitasking and multithreading. Only one application can have access to UI. A process can have one or more threads. Uses preemptive multitasking. The thread with the highest priority being ready to run will be scheduled next. All user processes have their own memory address spaces and all threads within the same process share the same memory address space. Each Process and threads have their own stack and heaps. Thread Priorities Absolute: Ignoring the priority of a process owning the thread Relative: Overall priority of a thread is defined as a priority of the process owning the thread plus the relative priority value.

Mutual Exclusion & Synchronization Semaphore: Global or Local Wait(){count--; if(count<0) the calling thread is put in waiting state;} Signal(){if(count<0) Mark the first thread waiting for this semaphore ready to run; count--;} Mutexe: Global or Local. Critical Section: Critical sections are used for synchronizing exclusive access to shared resources within a single process

Programming The Smart phone environment Basics of the Symbian OS Differences between C++ and Symbian C++ What a Java programmer should know What a C++ programmer should know Memory management Symbian User Interfaces

Programming Controls Dialogs Views Files, the filesystem Communication and Messaging Testing, debugging and deploying

The smart phone environmet 1G, 2G, 2,5G, 3G, 4G GSM Global System for Mobile Comm. CDMA (USA) Code Division Mult. Acc. CSD Circuit Switched Data (GSM Data) GPRS General Packet Radio Service HSCSD High Speed CSD EDGE Enhanced Data Rates for GSM Evolution

The smart phone environmet UMTS Universal Mobile Telecommunication Services -> 2 Mbps SMS, MMS, Email, Fax, Web (HTML), WAP IrDA, Bluetooth, USB NFC, RFID, ZigBee

Symbian OS Most common OS in devices like mobile phones Strong influence from device manufacturers Series (60,80,90) platforms Programmable with a C++ like language Also Java with a JRE Others: Palm OS, Microsoft Windows Mobile, Linux

Symbian architecture Kernel Base Libraries Application services, engines and protocols Application framework Communication architecture Middleware feature libraries

Symbian architecture Kernel system memory program scheduling resource allocation privileged CPU access

Symbian architecture Base Libraries APIs for basic computing, like string manipulation file IO db management...

Symbian architecture Application services, engines and protocols Application data, such as the phone book Devices services, such as alarms etc. Access to protocols, such as HTTP

Symbian architecture Application framework GUI Communications architecture TCP/IP, IrDA, BT, SMS, etc. Middleware feature libraries The rest of the bunch, such as security

Multitasking Threads pre-emptive single program can have several threads Processes.exe a main thread threads share the same memoryspace

DLLs Dynamic Link Libraries Static interface DLLs "traditional" shared functions Plymorphic DLLs plug-ins, e.g. device drivers No static data (until OS v.9.0) Conserves memory which the static variables would consume

Client/Server model basic concept in Symbian Example: file access C/S concept hidden by the API Server: No UI Waits for requests and serves clients by processing those requests.

Memory ROM OS Software cannot be written, but can be partly read RAM volatile, usually up to 30 MB Internal Flash disk drive type of memory (C:) Memory Cards extendable, up to 1 GB (D:)

Addressing Memory Two types of memory addresses: virtual and physical -> mapping. MMU (Memory Management Unit) chunks (virtually addressed pieces of memory, not allways backed with physical memory) stack and heap static code

Stack and heap Stack automatic variables class members Heap new

Addressing Memory Two areas for memory: Home area and Run area. Process data of a running process is in the run area. Applications cannot reference memory in the home area Protects process memory Exception: fixed processes (OS-level)

The Kernel Creation and scheduling of processes and threads Communication between threads and processes (mutexes, semaphores) System memory Access to device hardware

The Kernel HAL (Hardware Abstraction Layer) Most code hardware independent Loading and communicating with device drivers User library: A DLL that provides access to kernel functions (privileged mode)

The Kernel Two main components: Executive and Server Functions executed by server have access to all global data of the kernel However, they are slow Functions executed by the executive are faster The reason: memory mapping

2. Platform 2.4 Security The Symbian security model can be broken down into three main modules: 1. Trusted Computing Base (TCB) Kernel, file system and software installer. 2. Data Caging Protects executables and data files of applications. 3. Capabilities Define what the application can and cannot do. Capabilities: Four types of capabilites: - Open to all - Granted by the user at installation time - Granted through Symbian Signed - Granted by the manufacturer

2. Platform Signing an application - Open Signed - Express Signed - Certified Signing ( Symbian Signed )

2. Platform 2.6 Future possibilities The leading mobile OS Symbian OS is still the leading figure in the smartphones market and according to Gartner Symbian s market share is still the majority with a trend to decline. Symbian - open source software platform Nokia s buying the rest of Symbian that it doesn t already own, and will then create the Symbian Foundation, in collaboration with a number of other companies, and make Symbian royalty-free and open-source. Implications to the other OS The Symbian Foundation stirs up the future of the open mobile platform space. It does seem fair to draw the conclusion that the Symbian Foundation puts the Symbian platform in a stronger position and this will negatively affect the other players.

3. Software development 3.1 Development requirements The right SDK S60 UIQ MOAP The IDE-tool of your choice

3. Software development UIQ UIQ 3.1 (Symbian OS v9.2) UIQ 3.0 (Symbian OS v9.1) Telephones Motorola MOTORIZR Z8 Sony Ericsson M600, W960, P990 UIQ 2.1 (Symbian OS v7.0) Sony Ericsson P910, P900, Motorola A1000, FOMA M1000, Arima U308 UIQ 2.0 (Symbian OS v7.0) Sony Ericsson P800, P802, Motorola A920, A925, BenQ P30 S60 S60 3rd edition FP2 (Symbian OS v9.3) S60 3rd edition FP1 (Symbian OS v9.2) S60 3rd edition (Symbian OS v9.1) S60 2nd edition FP3 (Symbian OS v8.1) S60 2nd edition FP2 (Symbian OS v8.0a) Telephones Nokia N96, N78 Samsung I8510 innov8, L870 Nokia N95, N82, N77, Samsung SGH-i450, SGH-i550, SGHi520, SGH-i560, G81, LG JOY Nokia E60, E61, E70; 3250, N71, N80, N91, N92 Nokia N70, N90 Nokia 6630, 6680, 6681, 6682, Lenovo P930 S60 2nd edition FP1 (Symbian OS v7.0s) Nokia 3230, 6670, 7610, 6620, 6260, Panasonic x700, x800, SDH-D720 S60 2nd edition (Symbian OS v7.0s) Nokia 6600 S60 1st edition (Symbian OS v6.1) Nokia 7650, Nokia 3650, 3600, 3660, 3620, N-Gage(QD), Sendo X, Siemens SX1

3. Software development 3.2 IDE and Tools What is IDE*? An IDE is a software application that allows the computer programmer to develop software for a certain platform. An IDE normally has a: source editor, compiler and/or interpreter and debugger. *Integrated Development Environment or also known as integrated design environment or integrated debugging environment.

3. Software development Which IDE? Carbide C++ CodeWarrior Visual C++

3. Software development What tools are needed: Tool name GCC for Symbian Symbian Certificate Manager Symbian DevCert Request Symbian MakeSIS Symbian UnSIS Description Can be used to compile Symbian C++ applications. Allows you to manage your certificates within Carbide Enables you to obtain a Symbian Developer Certificate Allows you to convert your c++ programs into.sis packages, which simplify the installation on other Symbian OS devices. Extracts the.sis packages

Programing languages Symbian OS offers a choice of programming languages to the developer. Symbian OS is written in C++, and this is therefore regarded as its primary programming language.

Programing languages Java 2nd the most important programing language on Symbian OS. Others programing languages which you can use on Symbian; JavaScript, Assembler,WMLScript,C#, Visual Basic, OPL and so on

4. Overall Evaluation 4.1 Advantages Operating system designed from scratch for mobile platforms mobile phones are both small and mobile mobile phones are ubiquitous they target a mass-market of consumer, enterprise and professional users mobile phones are occasionally connected they can be used when connected to the wireless phone network, locally to other devices, or on their own manufacturers need to differentiate their products in order to innovate and compete in a fast-evolving market the platform has to be open to enable independent technology and software vendors to develop third-party applications, technologies and services Best fitted for mobile market Great market share

4. Overall Evaluation 4.2 Limitations Steep learning curve for developers Developing in general Porting Symbian signed Dependency on Nokia (!)

4. Overall Evaluation 4.3 Conclusion Manufacturs point-of-view Strong Operating System Established value Developers point-of-view Developing for Symbian brings limitations. A Symbian developer will only develop for Symbian. Is that interesting?

Success Technical Symbian Has large software development community. Symbian OS maintains its position as the industry s leading development platform for phones designed for 3G networks Symbian OS Real Time Compatibility Layer (RTCL) Modularity: runtime linking between dynamically linked shared librariy Commercial Q3 2005 shipments of Symbian OS phones rise 131% (Symbian OS, 2005) Symbian OS worldwide installed base reaches almost 48 million phones.

Threats PC nature: User can install software. Symbian OS has been subject to a variety of viruses, the best known of which is Cabir. Critics also argue that Symbian is trying to replace PC.