Programming mobile devices Part II Programming Symbian devices with Symbian C++

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Operating System.
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Presentation by Amal Babu New OS of Google, initially designed for netbooks Released in second half of 2010 Google chrome browser on Linux kernel Inbuilt.
Android architecture overview
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
3: OS Structures 1 OPERATING SYSTEM STRUCTURES PROCESS MANAGEMENT A process is a program in execution: (A program is passive, a process active.) A process.
DEPARTMENT OF COMPUTER ENGINEERING
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
2: OS Structures 1 Jerry Breecher OPERATING SYSTEMS STRUCTURES.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
Mobile Application Development
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Symbian os with smart phones Guided by: Hetal A Josiyara
Android Introduction Platform Overview.
Chapter 3 Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
hardware and operating systems basics.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Embedded Systems Mohammad A. Gowayyed (c) 2012 Mohammad A. Gowayyed1.
Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Chapter 2: Memory.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Processes Introduction to Operating Systems: Module 3.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Computer Architecture Lecture 27 Fasih ur Rehman.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 Mobile Operating Systems BY:- Aashish Uppal CSE-1/7 th Sem (63/ )
Cloud Computing in Systems Programming Curriculum Gustavo Rodriguez-Rivera, Purdue University Enrique Kortright, IBM.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
Android Mobile Application Development
Hardware and OS Design and Layout.
2. OPERATING SYSTEM 2.1 Operating System Function
Operating System.
Mobile Operating System
MOBILE DEVICE OPERATING SYSTEM
KERNEL ARCHITECTURE.
CMPE419 Mobile Application Development
What is an Operating System?
Chapter 3: Windows7 Part 1.
Symbian Operating System
Chapter 15, Exploring the Digital Domain
Today’s agenda Hardware architecture and runtime system
Lecture Topics: 11/1 General Operating System Concepts Processes
Operating Systems : Overview
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
CMPE419 Mobile Application Development
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

Programming mobile devices Part II Programming Symbian devices with Symbian C++

Practical matters Lectures Excercices (labs) Exam –Second midterm –Final exam The course project

Content 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

Content 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, , 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