Mobile Operating Systems. Week I



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

Mobile Operating Systems Lesson 07 Symbian OS

Mobile Phones Operating Systems

Mobile Operating Systems Lesson 05 Windows CE Part 1

Mobile Operating Systems Lesson 03 PalmOS Part 1

Example of Standard API

Android Architecture. Alexandra Harrison & Jake Saxton

Developing Applications for ios

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

ANDROID OPERATING SYSTEM

Internationalization Programming for Mobile Applications

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

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

Creating and Using Databases for Android Applications

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

2 Selecting Operating System - Symbian OS

GUI/Custom GUI, SIP Stack, Telephony, DB, Sockets, Bluetooth, QT.

Technical Note. Micron Flash Data Integrator (FDI) Support for Java Applications. Introduction. Definition

Android Operating System

Introduction to Android

Computer and Set of Robots

Research and Design of Universal and Open Software Development Platform for Digital Home

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

A Review of Different Comparative Studies on Mobile Operating System

Introduction to Android

rich mobile applications made easy

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. Oct 2003 Presented to Gordon College CS 311

01. Introduction of Android

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Remote Desktop on Mobile

Chapter 5: System Software: Operating Systems and Utility Programs

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

Overview of CS 282 & Android

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

Java and Real Time Storage Applications

Analysis of advanced issues in mobile security in android operating system

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

VIA CONNECT PRO Deployment Guide

Symbian Operating System

Cell Phone Operating Systems

TAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms.

VIA COLLAGE Deployment Guide

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

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

Mobile Software Development Services

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Review and Evaluation of Performance Measures in the Mobile Operating Systems

Issues in Android on Mobile Platform and Their Resolution

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Tablets in Data Acquisition

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

BlackBerry Smartphone Application Development

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

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

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

OpenScape Web Collaboration

CS378 -Mobile Computing. Android Overview and Android Development Environment

Review On Google Android a Mobile Platform

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

SavaJe OS: Solving the problem of the Java Virtual Machine on Wireless Devices

Development of Java ME

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Ways to Use USB in Embedded Systems

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

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

An Introduction to Android

Android Basics. Xin Yang

Usability Testing for Android and Apple Smart Phone

Virtual Machines.

Clonecloud: Elastic execution between mobile device and cloud [1]

Android v ios Mobile Operating Systems

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

MOBILE APPLICATION DEVELOPMENT

Multi-core Programming System Overview

RealTime Implementation of RTOS based Vehicle Tracking System

CROSS PLATFORM FOR MOBILE COMPUTING

REDCENTRIC UNITY SOFTWARE MINIMUM REQUIREMENTS

Operating Systems: Basic Concepts and History

Overview. The Android operating system is like a cake consisting of various layers.

Review of J2ME and J2ME-based Mobile Applications

Teqno Mates Solutions

1/5/2013. Technology in Action

Overview focus on breadth understanding not depth (that s what the labs are for )

Considerations for Mobile Application Development

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

AT&T Connect System Requirements for End Users v9.5. March 2013

StruxureWare TM Data Center Expert

Lecture 6: Operating Systems and Utility Programs

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

Transcription:

Mobile Operating Systems Week I

Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone OS Google Android Platform http://cmer.cis.uoguelph.ca 2

OS Features Features Multitasking Scheduling Memory Allocation File System Interface Keypad Interface I/O Interface Protection and Security Multimedia features http://cmer.cis.uoguelph.ca 3

Introduction Design and capabilities of a Mobile OS (Operating System) is very different than a general purpose OS running on desktop machines: mobile devices have constraints and restrictions on their physical characteristic such as screen size, memory, processing power and etc. Scarce availability of battery power Limited amount of computing and communication capabilities http://cmer.cis.uoguelph.ca 4

Introduction (Cont.) Thus, they need different types of operating systems depending on the capabilities they support. e.g. a PDA OS is different from a Smartphone OS. Operating System is a piece of software responsible for management of operations, control, coordinate the use of the hardware among the various application programs, and sharing the resources of a device. http://cmer.cis.uoguelph.ca 5

Operating System Structure A mobile OS is a software platform on top of which other programs called application programs, can run on mobile devices such as PDA, cellular phones, smartphone and etc. Applications OS Libraries Device Operating System Base, Kernel Low-Level Hardware, Manufacturer Device Drivers http://cmer.cis.uoguelph.ca 6

Mobile Operating System Platforms There are many mobile operating systems. followings demonstrate the most important ones: The Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone OS Google Android Platform http://cmer.cis.uoguelph.ca 7

Java ME Platform J2ME platform is a set of technologies, specifications and libraries developed for small devices like mobile phones, pagers, and personal organizers. Java ME was designed by Sun Microsystems. It is licensed under GNU General Public License http://cmer.cis.uoguelph.ca 8

Java ME Architecture Java ME platforms are composed of the following elements: Profile Application Optional Package s Configuration Vendor specific classes - OEM Native Operating System Device/ Hardware http://cmer.cis.uoguelph.ca 9

Java ME Main Components Configuration: it defines a minimum platform including the java language, virtual machine features and minimum class libraries for a grouping of devices. E.g. CLDC Profile: it supports higher-level services common to a more specific class of devices. A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications. E.g. MIDP http://cmer.cis.uoguelph.ca 10

Java ME Optional Package: it provides specialized service or functionality that may not be associated with a specific configuration or profile. The following table lists some of the available packages: Packages JSR 75 - PIM JSR 82 - BTAPI JSR 120 - WMA JSR 172 JSR 179 Description PDA Package Java APIs for Bluetooth Wireless Messaging API J2ME Web Service Location API for J2ME http://cmer.cis.uoguelph.ca 11

Java ME Platforms It includes two kinds of platforms: High-end platform for high-end consumer devices. E.g. TV set-top boxes, Internet TVs, auto-mobile navigation systems Low-end platform for low-end consumer devices. E.g. cell phones, and pagers http://cmer.cis.uoguelph.ca 12

Java ME Platforms (Cont.) The following figures demonstrate the elements of these two types of platforms: Personal Profile MIDP CLDC KVM Foundation Profile CDC JVM Fig.1 Low end consumer device platform architecture Fig.2 High end consumer device platform architecture http://cmer.cis.uoguelph.ca 13

Java ME CLDC We focus on Low-end consumer devices: CLDC configuration address the following areas: Java language and virtual machine features Core Java libraries CLDC Specific Libraries (Input/output & Networking) Internationalization: There is a limited support for converting Unicode characters to and from a sequence of bytes. Security: CLDC addresses the following topics to security At the low-level the virtual machine security is achieved by requiring downloaded Java classes to pass a class file verification step. Applications are protected from each other by being run in a closed sandbox environment. Classes in protected system packages cannot be overridden by applications. http://cmer.cis.uoguelph.ca 14

Java ME CLDC (Cont.) The entire CLDC implementation (static size of the K virtual machine + class libraries) should fit in less than 128 kilobytes. It guarantee portability and interoperability of profilelevel code between the various kinds of mobile (CLDC) devices http://cmer.cis.uoguelph.ca 15

Palm OS Palm OS [1] is an embedded operating system designed for ease of use with a touchscreen-based graphical user interface. It has been implemented on a wide variety of mobile devices such as smart phones, barcode readers, and GPS devices. It is run on Arm architecture-based processors. It is designed as a 32-bit architecture. http://cmer.cis.uoguelph.ca 16

Palm OS Features The key features of Palm OS [1,2,3] are: A single-tasking OS: Palm OS Garnet (5.x) uses a kernel developed at Palm, but it does not expose tasks or threads to user applications. In fact, it is built with a set of threads that can not be changed at runtime. Palm OS Cobalt (6.0 or higher) does support multiple threads but does not support creating additional processes by user applications. Palm OS has a preemptive multitasking kernel that provides basic tasks but it does not expose this feature to user applications. http://cmer.cis.uoguelph.ca 17

Palm OS Features (Cont.) Memory Management: The Memory, RAM and ROM, for each Palm resides on a memory module known as card. In other words, each memory card contains RAM, ROM or both. Palms can have no card, one card or multiple cards. Expansion support [3] : This capability not only augments the memory and I/O, but also it facilitates data interchanges with other Palm devices and with other non-palm devices such as digital cameras, and digital audio players. Handwriting recognition input called Graffiti 2 http://cmer.cis.uoguelph.ca 18

Palm OS Features (Cont.) HotSync technology for synchronization with PC computers Sound playback and record capabilities TCP/IP network access Support of serial port, USB, Infrared, Bluetooth and Wi-Fi connections Defined standard data format for PIM (Personal Information Management) applications to store calendar, address, task and note entries, accessible by third-party applications http://cmer.cis.uoguelph.ca 19

Palm OS Features (Cont.) Security model: Device can be locked by password, arbitrary application records can be made private [2] Palm OS Cobalt include a certificate manager. The Certificate Manager handles X.509 certificates [3]. http://cmer.cis.uoguelph.ca 20

Symbian OS Symbian OS is 32 bit, little-endian operating system, running on different flavors of ARM architecture [4]. It is a multitasking operating system and very less dependence on peripherals. Kernel runs in the privileged mode and exports its service to user applications via user libraries. http://cmer.cis.uoguelph.ca 21

Symbian OS Structure User libraries include networking, communication, I/O interfaces and etc. Access to these services and resources is coordinated through a client-server framework. Clients use the service APIs exposed by the server to communicate with the server. The client-server communication is conducted by the kernel. http://cmer.cis.uoguelph.ca 22

Symbian OS Structure (Cont.) The following demonstrates the Symbian OS architecture [5] : Symbian OS Libraries Application Engines KVM Servers Symbian OS Base- Kernel Hardware http://cmer.cis.uoguelph.ca 23

Symbian OS Features Real-time: it has a real-time, multithreaded kernel. Data Caging [6] : it allows applications to have their own private data partition. This feature allows for applications to guarantee a secure data store. It can be used for e- commerce applications, location aware applications and etc. Multimedia: it supports audio, video recording, playback and streaming, and Image conversion. http://cmer.cis.uoguelph.ca 24

Symbian OS Features (Cont.) Platform Security [6] : Symbian provides a security mechanism against malware. It allows sensitive operations can be accessed by applications which have been certified by a signing authority. In addition, it supports full encryption and certificate management, secure protocols ( HTTPS, TLS and SSL) and WIM framework. http://cmer.cis.uoguelph.ca 25

Symbian OS Features (Cont.) Internationalization support: it supports Unicode standard. Fully object-oriented and component- based Optimized memory management Client- server architecture [6] : described in previous slides, it provides simple and high-efficient inter-process communication. This feature also eases porting of code written for other platforms to Symbian OS. http://cmer.cis.uoguelph.ca 26

Symbian OS Features (Cont.) A Hardware Abstraction Layer (HAL): This layer provides a consistent interface to hardware and supports deviceindependency Kernel offers hard real-time guarantees to kernel and user mode threads. http://cmer.cis.uoguelph.ca 27

Embedded Linux OS It is known as Embedded Linux which is used in embedded computer systems such as mobile phones, Personal Digital Assistants, media players and other consumer devices. In spite of Linux operating system designed for Servers and desktops, the Embedded Linux is designed for devices which have relatively limited resources such as small size of RAM, storage, screen, limited power and etc. Then, they should have an optimized kernel. http://cmer.cis.uoguelph.ca 28

Embedded Linux OS It is a Real-Time Operating System (RTOS). It meets deadlines and switch context It has relatively a small footprint. Today, mobile phones can ship with a small memory. Thus, OS must not seek to occupy a large amount of available storage. It should have a small foot print. Theoretically, they deploy in a footprint of 1MB or less. It is open source. It has no cost for licensing. Examples: Motorola Mobile phones such as RAZR V8, RAZR V9, A1200 are based on MontaVista Linux. http://cmer.cis.uoguelph.ca 29

Embedded Linux OS ARM and MIPS structures [7] : Embedded CPU architectures like ARM and MIPS offer small instruction sets and special execution modes that shrinks application size and consequently generates smaller code. http://cmer.cis.uoguelph.ca 30

Windows Mobile OS Windows Mobile is a compact operating system designed for mobile devices and based on Microsoft Win32. It is run on Pocket PCs, Smartphones and Portable media centers. It provides ultimate interoperability. Users with various requirements are able to manipulate their data. http://cmer.cis.uoguelph.ca 31

Google Android Platform It is a platform and an operating system for mobile devices based on the Linux operating system. It allows developers design applications in a java-like language using Google-developed java libraries. It supports a wide variety of connectivity such as GSM, WiFi, 3G, The Operating system has not been implemented yet (Feb, 2008). Several prototypes have been proposed. http://cmer.cis.uoguelph.ca 32

Google Android Platform Android architecture: http://code.google.com/android/what-is-android.html http://cmer.cis.uoguelph.ca 33

Google Android Platform As demonstrated in the previous slide, the Android platform contains the following layers: Linux Kernel: Android relies on Linux for core system services such as security, memory management, process management and etc. Android [7] Runtime: it provides a set of core libraries which supports most of the functionality in the core libraries of Java. The Android Virtual Machine known as Dalvik VM relies on the linux kernel for some underlying functionality such as threading, http://cmer.cis.uoguelph.ca 34

Google Android Platform Libraries: Android includes a set of C/C++ libraries. These libraries are exposed to developers through the Android application framework. They include media libraries, system C libraries, surface manager, 3D libraries, SQLite and etc. For more details, please visit the following link: http://code.google.com/android/what-is-android.html Application Framework: it provides an access layer to the framework APIs used by the core applications. It allows components to be used by the developers. http://cmer.cis.uoguelph.ca 35

iphone OS iphone OS is an operating system run on iphone and ipod. It is based on Mach Kernel and Drawin core as Mac OS X. The Mac OS X kernel includes the following component: Mach Kernel BSD I/O component File Systems Networking components http://cmer.cis.uoguelph.ca 36

iphone OS The following is Mac OS X Architecture [8] : Classic Carbon Cocoa JDK BSD Application Services QuickTime Core Services Kernel Environment http://cmer.cis.uoguelph.ca 37

iphone OS Mac OS X has a preemptive multitasking environment. Preempting is the act of taking the control of operating system from one task and giving it to another task. It supports real-time behavior. In Mac OS X, each application has access to its own 4 GB address space. http://cmer.cis.uoguelph.ca 38

iphone OS Not any application can directly modify the memory of the kernel. It has a strong mechanism for memory protection. For more details about kernel architecture, please visit the following link: http://developer.apple.com/documentation/darwin/conce ptual/kernelprogramming/architecture/architecture.html http://cmer.cis.uoguelph.ca 39

BlackBerry OS BlackBerry OS will be discussed in Week II slides. http://cmer.cis.uoguelph.ca 40

References [1] Palm OS, http://en.wikipedia.org/wiki/palm_os [2] Palm OS is a multitasking operating system. How can I create a task?, http://kb.palmsource.com/cgi-bin/palmsource.cfg/php/enduser/std_adp.php?p_faqid=72 [3] Palm OS Programmer s companion- Volume I, http://www.accesscompany.com/developers/documents/docs/palmos/palmoscompanion/companiontoc.html [4] Mobile Operating Systems, http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe 36ec/index.jsp?&pName=dso_level1&path=dsonline/topics/os&file=MobileOS.xml&xsl=article.xsl&##archives [5] Symbian OS, http://images.google.ca/imgres?imgurl=http://wiki.forum.nokia.com/images/7/77/symbian_os _Structure.png&imgrefurl=http://wiki.forum.nokia.com/index.php/Symbian_OS&h=260&w=467 &sz=10&hl=en&start=45&sig2=hx5g5bwiqo_hc3_kni4lgw&um=1&tbnid=pearbbx9lhumam: &tbnh=71&tbnw=128&ei=zstjsikcnalggwke09nxaw&prev=/images%3fq%3dmobile%2bop erating%2bsystem%2bstructure%26start%3d36%26ndsp%3d18%26um%3d1%26hl%3den%2 6sa%3DN [6] Symbian OS, http://www.symbian.com/files/rx/file6965.pdf [7] Mobile Phones, the Embeded Linux Challenge, http://www.linuxjournal.com/article/8762 [8] iphone SDK, http://cssinnovations.blogspot.com/2008/05/iphone-sdk-iphone-sdk-wasofficially.html http://cmer.cis.uoguelph.ca 41