You are on page 1of 51

Chapter 6 Platform/Operating

Systems for application development

6.1 Palm OS
6.2 Windows CE
6.3 Embedded Linux
6.4 J2ME (Introduction)
6.5 Symbian (Introduction)

Introduction
An operating system (OS) is an interface
between hardware and user. It manages
hardware and software resources of the
system.
An operating system which controls
mobile devices is called Mobile OS. They
are simple and deal with the wireless
versions of broadband and local
connectivity.

3/24/2015

Differe t t pes of O s
Mobile OS

Symbian
OS

3/24/2015

iPhone OS

RIM
BlackBerry

Windows
Mobile

GVPCE(A)

Linux

Palm OS

Android

Palm O.S.

System Architecture

Memory Organization

Motorola 68328 uses 32-bit addresses


External data bus is only 16 bits wide
ROM - stores the main suite of applications ( the OS itself)
RAM - stores additional and replacement applications &
system extensions
RAM - dynamic RAM & storage RAM

The Resource Manager


Resources : store the UI elements of an application, such as
i ages, fo ts, dialog la outs,
Resource manager : Data manager with the additional ability
of tagging each chunk of data with a unique resource type and
resource ID
Graffiti Manager: Graffiti is an essentially single-stroke
shorthand handwriting recognition system used in PDAs
based on the Palm OS. Graffiti was originally written by Palm.

Palm O.S. Architecture

Palm OS (also known as Garnet OS) is a mobile operating


system initially developed by Palm, Inc., for personal digital
assistants (PDAs) in 1996.
Palm OS is designed for ease of use with a touchscreen-based
graphical user interface. It is provided with a suite of basic
applications for personal information management.(PIM)
Later versions of the OS have been extended to support
smartphones. Several other licensees have manufactured
devices powered by Palm OS.

An OS for handheld devices


Designed for highly efficient running of small productivity
programs for devices with a few application tasks
Offers high performance due to a special feature that it
supports only one process which controls all computations by
the event handlers

Palm OS Features
It is designed as a 32-bit architecture.
Simple, single-tasking environment to allow launching of full screen
applications with a basic, common GUI set
Monochrome or color screens with resolutions up to 480x320 pixel
Handwriting recognition input system called Graffiti 2
Sound playback and record capabilities
Expansion memory card support
HotSync technology for synchronization with PC computers
Defined standard data format for PIM (Personal Information
Management) applications to store calendar, address, task and note
entries, accessible by third-party applications

Handwriting recognition input called Graffiti 2


11

Functions of Palm OS
basic functions
Designed to work as a
companion to the PC.
date book
address book
to do lists
short notes
calculator
Mail

Kernel: Heart of O.s.


Low level communication with H/@
Interface to H/W via H/W abstraction layer
Service Manager: To achieve faster execution mapped to ROM
commands
Event manager
Graffiti manager
Resource manager
Feature manager
Sound manager
Libraries: system libraries and third party libraries
Application: contains application that use underlying library to
perform cetrain tasks

Process Management

The Palm OS utilizes a single process mode kernel. This is similar to


the original DOS in that one process is allowed to run at a time.
That process will run until it has completed or it receives a stop
event from the Event Manager.
All applications that run within the OS are single threaded
processes.
User created threads are not allowed. However, the kernel does
have the functionality to handle multiple kernel threads it appears
that the kernel uses pre-emptive scheduling for all system tasks.

Event Manager/Management
All applications that run on the Palm OS as well as the OS itself
are event driven. They react to all possible events that the user
can perform, whether it is writing with the stylus, pressing the
buttons on the device or turning the device off.
The Event Manager is a translator for applications. It receives
all event triggers and stores them in a queue.
It then takes the events off the queue one at a time and
translates them into meaningful structures for applications to
use.

Defined standard data format for PIM (Personal Information


Management) applications to store calendar, address, task
and note entries, accessible by third-party applications.
HotSync technology for synchronization with PC computers

A feature is a 32-bit value that has special meaning to both the


feature publisher and to users of that feature. Features can be
published by the system or by applications.

The System Version Feature


Application-Defined Features

Windows CE
Microsoft Windows CE (now officially known as Windows
Embedded Compact and previously also known as Windows
Embedded CE, and sometimes abbreviated WinCE) was an
operating system developed by Microsoft for embedded systems.

Overview of Windows CE
Architecture
OEM
Applications
Embedded Shell

Remote
Connectivity

Windows CE Shell Services


WIN32 APIs

Kernel
Library
OAL
Boot loader

GWES

Device
Manager

File
Manager

TCP/IP

Drivers

Device
drivers

File
drivers

Network
drivers

OEM Hardware

OEM and OAL


Application layer: interfaces with user where as h/w layer
interfaces with hardware resources
All other layers are facilitators for user to access the resource
1.OEM Layer: An original equipment manufacturer, or OEM,
manufactures products or components that are purchased by
another company and retailed under that purchasing company's
brand name
OEM refers to the company that originally manufactured the
product.
Responsible for getting windows Ce based as to run on a new h/w
platform
OAL(OEM Adaptation Layer):communication between os and
target device
Device driver: hardware interacts with device drivers
Boot loader: execute when system power on generally on non
volatile storage device

2. Operating system layer:


Represented by coredll.dll
DLL files were created so that multiple programs could use their
information at the same time, aiding memory conservation.
It also allows the user to edit the coding of multiple applications at
once, without changing the applications themselves.
Functions: process management, memory management,
scheduling, multitasking, exception handling
Memory: 32 bit machine 4GB.
2GB used for o.s. remaining 2GB for application space

GWES
Graphics windowing and event system (GWES): Functionality
to receive and process user input and to display text and
images on display devices and printers.
GWES includes functionality for creating and managing
windows, controls, dialog boxes, and resources such as icons
and menus.
Provides GUI
Managing i/p : key strokes recognized
Managing o/P: receive message from o.s

Windows API
You can develop applications that run successfully on all versions of
Windows while taking advantage of the features and capabilities
unique to each version.
use windows to display output, prompt for user input, and carry out
the other tasks that support interaction with the user. Most
applications create at least one window.
Device manager:
Functions: load drivers
Unload drivers
Manage device interface
Manage resources
Notify user about device attachment

Shell
Interface: The shell provides the user with an interface to the
objects necessary for running applications and managing the
Microsoft Windows CE operating system on a target device.
Objects These can be real objects on the target device, such as files
and folders; virtual objects, such as the Recycle Bin; or remote
objects accessed through a network.
Windows CE allows you to implement a wide variety of shells from
simple command line interfaces to fully customized graphical user
interfaces adapted for your target device.
A Windows CE shell consists of modules and components that each
provide a specific area of shell functionality.

Embedded operating system


Definition: An embedded operating system is an operating
system for embedded computer systems.
Designed: These operating systems are designed to be
compact, efficient at resource usage, and reliable, forsaking
many functions that non-embedded computer operating
systems provide, and which may not be used by the
specialized applications they run.
RTOS: They are frequently also referred to as real-time
operating systems, and the term RTOS is often used as a
synonym for embedded operating system.
Provide required level of service within specified time period

Choosing Embedded OS
Availability, resource usage, software availability, feature set, reliability,
and performance.
Simply whether the operating system is available for the chosen
embedded microprocessor can be the major decision factor.
Five properties that are generally found in an embedded system
1. Diskless media for booting and storage (This means that you can boot up
thin clients without hard drives)
2. Lack of BIOS (Basic Input/output System ): A set of computer instructions
in firmware which control input and output operations.
3. Footprint and runtime memory restrictions
4. Memory management
5. Dedication to a small number of tasks (Generally Specific Task)

Why Linux for Embedded systems?


Definition: An embedded system in which the Linux OS is
operating the hardware is called an Embedded Linux
System.
Linux is royalty-free.
Linux already includes driver software for a huge number of
devices and, because current drivers are well documented
and include source code, developing new drivers is easy.
The wealth of software tools included with Linux can
substantially decrease development time.
Li u s a ilit to ru o ge eri hard are de reases the
costs associated with purchasing development systems.
Because Linux is being used extensively in universities, the
pool of people who understand it- including its internals- is
growing every day.

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.
(RTOS):It is a Real-Time Operating System (RTOS). It meets deadlines and
switch context
Small Foot print :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.
28

Embedded Linux OS
ARM (Advanced RISC Machine) :
ARM: ARM is a family of instruction set architectures for computer
processors based on a reduced instruction set computing (RISC).
Embedded CPU architectures like ARM and MIPS offer small
instruction sets and special execution modes that shrinks
application size and consequently generates smaller code.

29

The Embeded Linux


Architecture

a e as or al Li u Ar hite ture
Contains six layers of abstraction
Applications: Includes normal desktop applications
Libraries: Allow applications to communicate with the Linux Kernel
These libraries are not part of the application but rather exist
separately within the Linux structure.
Different applications to use the same instance of a library. This
saves memory because you need only one copy of the library to be
loaded into RAM
Linux Kernel
Internal abstraction gives the Kernel ability to interface with
many File-Systems and Network Protocols

Linux Embedded Device Examples


The Linksys Wi-Fi Router
Linux gi es us the
premium OS for
inexpensive, feature-packed
ireless et orki g.
(Ewing)

The IBM/Citizen Linux


Watch 56 X 48 mm
Motherboard 27.5 X 35.2
mm
8 MB Flash Memory
8 MB DRAM
Touch Sensitive Display
1.5 oz
32-bit RISC Processor (7418 MHz)

Symbian
Symbian is an open source operating system currently used in Nokia
Mobile Devices.
The underlying OS was historically created by Symbian Ltd and licensed by
Nokia and other phone manufacturers.
the mobile phone industry, including Nokia, Ericsson, Motorola, and
Panasonic formed a joint venture, called Symbian, which was to take
ownership of and further develop the EPOC operating system core.
In late 2008 Nokia purchased Symbian Ltd, and created the (independent)
Symbian Foundation to open source and manage the software
This new core design was now called Symbian OS.
It runs exclusively on ARM processors.

It was the most popular smartphone OS across the world till the end of
2010,untill it was overtaken by Android, although in some developing
nations, Symbian is still the biggest.
The current form of Symbian is an open-source platform developed
by Symbian Foundation in 2009.
Symbian OS is programmed in C++.

Symbian Market

3/24/2015

GVPCE(A)

36

Architecture of Symbian OS

Symbian OS

Symbian O.S. Architecture


First layer: kernel,memory,device driver's and file services
Second layer: Network and security components, also included
multimedia and communication protocol implementation
Third layer: application framework and application support mechanism for
synchronization ,Bluetooth an dUSB support .
Fourth layer: Development and application.
Privileged mode:
user context :User run in
privileged mode :System calls run
Kernel: multitasking, file services, power management, memory
management and various device drivers.
Kernel types: v6.0 and 7.0 uses legacy kernel
V8.0 uses real-time kernel
DLL helps in keeping size small as there is single cop of library and
everybody links to it.

ADVANTAGES
Greater range of applications.
High quality games.
Better inbuilt wap browser.
Connectivity is lot more easier and faster.

Real Player, Smart movie player etc. sort of application are not available
with java phones.
You can install software and applications of any type

You can download big files through your phone easily with 3G around.

DISADVANTAGE
The OS is not available for PCs .
The Symbian OS can be easily affected by a

Virus.

Java Editions

Java2 Micro Edition - Architecture

JVM Java virtual machine is a virtual machine that can execute Java bytecode. It is the code
execution component of the Java platform. Sun Microsystems has stated that there are

over 5.5 billion JVM-enabled devices.

machine is very small -- starting from approximately 70K in size.

CVM C virtual machine (CVM) is a full-featured JVM designed for higher-end, emerging,

next generation consumer electronic and embedded devices, that is, devices with a 32-bit
processor and 2Mb+ of total memory. These devices include wireless communicators (such
as devices running Symbian's EPOC OS), high-end PDAs (for example, devices running

embedded Linux or Windows CE), residential gateways, automotive telemetric systems,


and screenphones.

K virtual machine (KVM)?

K virtual machine (KVM) is a Java virtual machine that provides the basis for the CLDC
reference implementation (RI). K stands for "Kilobyte" virtual machine, referring to the
small footprint of the platform.

1.

2.
3.

J2ME
What is J2ME?
The Java TM 2 Platform, Micro Edition (J2ME) is the Java platform for
consumer and embedded devices such as mobile phones, PDAs, TV settop boxes, in-vehicle telemetric systems, and a broad range of embedded
devices.
Like its enterprise (J2EE) Java 2 Platform, Enterprise Edition and desktop
(J2SE) Java 2 Platform, Standard Edition or J2SE and smart card
counterparts, the J2ME platform is a set of standard Java APIs defined
through the Java Community Process by expert groups that include
leading device manufactures, software vendors and service providers.
What J2ME provide you?
It delivers the power and benefits of Java technology tailored for
consumer and embedded devices (a flexible user interface, robust
security model, broad range of built-in network protocols)
It supports for networked and disconnected applications.
It allows you to write applications once, and download them dynamically
a d le erage ea h de i e s ati e apa ilities.

J2ME Overview
There are two different configurations
Connected Device Configuration (CDC)
Connected Limited Device Configuration (CLDC)

Relation between CLDC


and CDC

47

Connected Device Configuration (CDC):


CDC includes a full-featured java virtual machine (JVM), and a much
larger subset
Most CDC-targeted devices have 32-bit CPUs and a minimum of 2MB
of memory.
Connected Limited Device Configuration (CLDC):
- These devices typically have either 16-bit or 32-bit CPUs, and a
minimum of 128 KB to 512 KB of memory for the Java platform
implementation and associated applications.

J2ME Overview - CDC


-

CDC is designed for devices that have more memory, faster


processors, and greater network bandwidth.
Targeted for devices that have
2 MB or more total available memory
Memory dedicated to J2ME environment
More than 2MB ROM/Flash
More than 512 KB RAM
Network connectivity
Full Java 2 Virtual Machine specification

49

Device using CDC


CDC uses

Wireless communicators
High-end PDAs
TV set-top boxes
Gateways
Automotive entertainment and navigation systems
Telecomm/Networking Equipment
Industrial Controllers

50

Real battle started

Android

Symbian

Windows

iphone

You might also like