Beruflich Dokumente
Kultur Dokumente
Background
Operating System (OS)
Process Management
Memory Management
File Management
I/O Management
Networking
Protection System
User Interface
Agenda
Competitive Landscape
Operating Systems
iPhone
BlackBerry
Windows Mobile
Android
Symbian
OS Features
Features
Multitasking
Scheduling
Memory Allocation
File System Interface
Keypad Interface
I/O Interface
Protection and Security
Multimedia features
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
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.
Applications
OS Libraries
Mobile Operating
System Platforms
There are many mobile operating systems. The followings
demonstrate the most important ones:
Java ME Platform
Palm OS
Symbian OS
Linux OS
Windows Mobile OS
BlackBerry OS
iPhone OS
Google Android Platform
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
Java ME Architecture
Java ME platforms are composed of the following elements:
Application
Profile
Optional
Packages
Vendor
specific
classes - OEM
Configuration
Native Operating System
Device/ Hardware
10
11
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
Description
JSR 75 - PIM
PDA Package
JSR 82 - BTAPI
JSR 172
JSR 179
12
Java ME Platforms
It includes two kinds of platforms:
High-end platform for high-end consumer devices. E.g. TV settop boxes, Internet TVs, auto-mobile navigation systems
Low-end platform for low-end consumer devices. E.g. cell
phones, and pagers
Platforms
Device Characteristics
High-End consumer
devices
Low-end consumer
devices
13
Foundation Profile
CLDC
CDC
KVM
JVM
Java ME CLDC
15
16
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.
17
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 .
18
19
20
21
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.
22
Symbian OS:
standard operating system for data-enabled
mobile devices
Evolution of Symbian OS
1997 - 32 bit EPOC Platform (Psion Software Inc) Psion Series 5 PDA
1998 Symbian A spin-off from Psion Software Inc.
Co-owned by Psion, Nokia, Eriksson, Motorola
The motive behind this spin-off was to develop an advanced software
platform for a new combination of consumer products called smartphones
which would combine telephony and computing capability
1999 EPOC named as Symbian OS
Co-owned by Psion, Nokia, Sony-Eriksson, Motorola, Matsushita (Panasonic),
Samsung and Siemens.
Symbian OS
Hard RTOS based on layered/micro-kernel architecture
StrongARM architecture (ARM9 running over 100 MHZ)
Program storage (flash memory) ; OS storage flash ROM
Characteristics of Symbian OS
Active Object
implements multi-tasking without using multithread
One active scheduler per thread cooperating with one or mor
active objects
Non-preemptive, no mutual exclusion codes are needed
Symbian OS Features
Real-time: it has a real-time, multithreaded kernel.
Data Caging : 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.
27
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.
28
Symbian OS
Features (Cont.)
29
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.
30
Symbian OS
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.
32
Symbian OS
Structure (Cont.)
The following demonstrates the Symbian OS architecture[5]:
Symbian OS Libraries
KVM
Application Engines
Servers
Symbian OS Architecture
Architectural Overview
Core
Kernel, file server, memory management and device drivers
System Layer
Communication and computing services e.g. TCP/IP, IMAP4, SMS and database
management
Application Engines
User Interface Software
Applications
All layers communicate with each other using Client/Server Mechanism
Platform Security
Categories of trust
DBMS
Window
Server
File
Server
Kernel
Server
Kernel mediated sessions
Application
The kernel
Parameter passing in IPC request the length is checked, even in the case of a
pointer, to ensure that the server will not read or write more than the client
expected to disclose : any attempt to read before the pointers address or after its
length will fail.
EKA2 also takes advantage of the ARMv6 never-execute bit in the page
permissions when supported by the hardware. This is used to deny execution of
code from stacks, heaps and static data.
Data Caging
The access rules of a file are entirely determined by its directory path, regardless of the drive.
1.
2.
3.
4.
Four different sets of rules have been identified which are represented by four
directory hierarchies under the root \:
\sys ; Only TCB processes can read and write
\resource ; All processes can read but only TCB processes can write
\private ; All program are provided a private sub directory regardless of their
level of trust. Only process owner and TCB processes can read and write
All other root files and directories ; Public space
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.
40
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.
41
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.
42
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
requirements are able to manipulate their data.
with
various
43
44
Applications
Android Architecture
Application Framework
Libraries
Android runtime
SQLite
openGL
surface
manager
media
framework
webkit
libc
Linux kernel
Core Libraries
Dalvik
virtual machine
46
47
48
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
49
iPhone OS
The following is Mac OS X Architecture [8]:
Classic
Carbon
Cocoa
JDK
Application Services
BSD
QuickTime
Core Services
Kernel Environment
50
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.
51
iPhone OS
Not any application can directly modify the memory of the kernel.
It has a strong mechanism for memory protection.
52
Smartphone OS Competitive
Landscape
iPhone OS
(Apple)
BlackBerry OS
(RIM)
Window Mobile
(Microsoft)
Android
(Google)
Symbian
(Nokia)
Platform
Closed
Closed
Open
Open
Open
Source Code
Closed
Closed
Closed
Open
Q2 WW Market
Share (Gartner)
2.8% (1)
17.4%
12.0%
n/a
57.1%
Smartphone traffic
share (AdMob)
WW: 4%
US: 16%
WW: 11%
US: 31%
WW: 13%
US: 29%
n/a
WW: 64%
US: 2%
Pros
Early momentum
Data hungry early
adopters
Powerful
distribution
channel
Strong reach
(particularly in US)
Manufacturer /
carrier agnostic
Manufacturer /
carrier agnostic
Open source
innovation
Massive global
reach
Open source
innovation
Issues
Apple dependant
BB dependent
Distribution
Distribution
Late to market
Uncertain
consumer demand
Limited reach in
US
Distribution
Application
ecosystem
>18K apps
Skymarket to
launch in 2009
Android Market
announced
$3.8MM awarded
in Developer
Challenge
>10K apps
Claims >90MM
installs over last 2
years
Notes: 1. Artificially low given the wait for the 3G iPhone (5.3% market share in Q1)
53
Windows CE OS
Memory Architecture
ROM stores the entire operating system (OS), as well as the applications that
come with the OS design.
The OS loads all read/write data into RAM.
When OS executes programs directly from ROM, it saves program on RAM
and reduces the time needed to start an application, because the OS does not
have to copy the program into RAM before launching it.
The maximum size for the RAM file system is 256 MB, with a maximum size of
32 MB for a single file.
The maximum size for the RAM file system is 256 MB, with a
maximum size of 32 MB for a single file. However, a database-volume
file has a 16-MB limit. The maximum number of objects in the object
store is 4,000,000.
The boundary between the object store and the program RAM is movable.
OS Security
What is iOS
Apples mobile OS for phones (iPhone), tablets
(iPad), handhelds (iPod),
based on BSD Unix
Application programming done in Objective C
Supports Bluetooth, Wi-Fi, and 3G and 4G
networking
4G
Provides a comprehensive and secure IP based
solution for IP based telephony, ultra
broadband internet, gaming services and
streamed multimedia.
Peak data rate of 100 Mbit for high mobility
devices and 1 Gbit for low mobility devices.
Eclipse IDE
Android
SDK
Android
Emulator
Android
Mobile
Device
XCODE IDE
iOS
SDK
iOS
Simulator
iOS
Mobile
Device
Android development
Android
Manifest
Resource
XML
Java Source
Generated
Class
Android
Libraries
Java
Compiler
.dex
File
Dalvik
VM
iOS development
Xcode
Interface
Builder
Objective C
Source
.xib file
Foundation
Framework
Cocoa Libraries
Objective C
Compiler
Simulator
or Device
Android OS Architecture
Phone users
App developers
Programmers
Hardware
developers
java
java
code
code
data
mp3
aapt
MyApp.apk
# library calls
The Calculator app may have an activity that displays a numeric keyboard
and buttons for numeric operations, etc. and awaits inputs from the user.
source: developer.android.com
NOTE:
Typically, a service may be created, say, by an activity;
Alternatively, a service may be started and running in some
other context, and can announce its interface to other activities
in this case, the activity may just connect itself to the service,
in Android, this is called bind-ing to the service.
source: developer.android.com
</activity>
</application>
</manifest>
Views in Android
Most activities will present a view to the user, either to display some
graphics, or to get some user-input.
Thus each activity can create (instances) of one or more views. Each
view has some graphical objects that either fill the complete screen,
or a part of the screen.
Each object in a view, i.e. the layout, is also described in XML
Notepad app
(layout of Note-Editor)
Reading List
Metrics
AdMob metrics (http://www.admob.com/s/solutions/metrics)
Opera State of the Mobile Web Report
(http://www.opera.com/mobile_report/)
http://en.wikipedia.org/wiki/Symbian_OS
http://en.wikipedia.org/wiki/IPhone_OS
http://en.wikipedia.org/wiki/Windows_Mobile
http://en.wikipedia.org/wiki/Google_Android
http://en.wikipedia.org/wiki/BlackBerry_OS
Comparison / analysis
83
http://www.brighthand.com/default.asp?newsID=14142
http://www.osnews.com/story/20329/SDK_Shoot-Out_Android_vs_iPhone
http://weblog.infoworld.com/fatalexception/archives/2008/09/sdk_shootout_
an.html
http://www.alleyinsider.com/2008/10/iphone-app-store-s-brutal-reality-getviral-or-don-t-quit-your-day-job