Mobile OS and Development
Environments
Speaker: Jerry Gao Ph.D.
San Jose State University
email: jerrygao@email.sjsu.edu
URL: http://www.engr.sjsu.edu/gaojerry
Topic: Mobile OS and Development
Environments
- Mobile Operating Systems
- Windows CE
- Palm OS
- Symbian OS
- Java & J2ME
- BREW (Binary Runtime Environment for
Wireless) Technology
- Comparison of Different OS systems
- Development Tools
Jerry Gao Ph.D.
3/2004
Presentation Outline
All Rights Reserved
What is Windows CE?
• One of Microsoft’s products.
• Windows CE OS was designed for Handheld PC devices
(between PDAs and laptops).
• Windows CE .NET on the current Microsoft OS delivers the
most complete mobile operating system.
• It focuses on the enterprise market for mobile enterprise
systems
Basic functional features:
• Enable multitasking - allow the user to work on one
application which another is executing in the background.
• Include many familiar applications, such as PocketWord,
PocketExcel, PocketOutlook, and Pocket Internet Explorer.
• Built-in multimedia capabilities for both audio and video.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Windows CE
Topic: Mobile OS and Development
Environments
History of Windows CE:
• Back in 1995, Microsoft released the first version of Windows CE.
It has very limited success.
• In 1998, Microsoft released Windows CE 2.x for the PDA market.
It was confident that it is PalmPilot killer. This proved not to be
the case.
• In 2000, Microsoft released Windows CE 3.0 when the PDA
market was becoming more attractive to enterprises for line-of-
business applications.
• In 2001, Microsoft announced another version of the Windows CE
family: Windows CE.NET 4.0.
– This version fits into Microsoft’s overall .NET strategy by allowing
developers to use the full suite of Microsoft tools, including Visual C+
+ and other updated Microsoft office products and Internet Explorer.
– Windows CE .NET added built-in wireless capabilities, including
broad support for WANS, LANs, and PANs.
• In the fall of 2002, Windows CE .NET version 4.1 was released.
This version added support for IPv6 (the latest version of Internet
Protocol), as well as integrated speech recognition.
Jerry Gao Ph.D.
9/2002
All Rights Reserved
An Overview of Windows CE
Topic: Mobile OS and Development
Environments
Why did Windows CE3.0 succeed?
• It comes with many familiar applications, such as
PocketWord.
• It provides a scaled-down version of Win32 application
programming interface (API), allowing developers to quickly
refit existing Window applications for Windows CE 3.0-
based devices.
• Provide enhanced support for real-time functionality made
to the OS kernel. This improves the performance of
Windows CE 3.0 dramatically over Windows CE 2.x.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Windows CE
Topic: Mobile OS and Development
Environments
Comparisons of Windows CE versions:
--------------------------------------------------------------------------------------------------
-
Versions
Year
Processors
Internet
Wireless
Multimedia
Browser
Capability Support
--------------------------------------------------------------------------------------------------
CE 2.12 1998
ARM, MIPS
IE 4.0 IrDA
No
PowerPC, SHx
x86
CE 3.0 2000
ARM, MIPS,
IE 4.0 IrDA
Yes
CE .NET
2002
X-Scale, ARM
I.E. 5.5 Bluetooth Yes
802.11x
Media Sense
OBEX
--------------------------------------------------------------------------------------------------
-
Jerry Gao Ph.D.
9/2002
All Rights Reserved
An Overview of Windows CE
Topic: Mobile OS and Development
Environments
What is Palm OS?
• It is designed by Palm Computer for PDAs.
• It has been experienced tremendous success in the PDA’s
consumer market.
• It focuses on the enterprise market for mobile enterprise
systems
History of Palm OS:
• In early 2000 (by IDC, June 2000), Palm established itself as
the market leader in PDAs, capturing nearly 75% of the
worldwide mobile OS market.
• In the early days of PDA application development, people chose
Palm OS as a deployment platform because it is available and
many employees were familiar with it.
• Due to the limitation of its early versions, people found that it
was unsuitable for many of application tasks. This causes some
problems in positioning itself at a dominant position in the
enterprise market.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Palm OS
Topic: Mobile OS and Development
Environments
History of Palm OS: (Continued)
• Late of 2000, Palm separating the PDA hardware and
Palm OS as two different divisions and started
licensing Palm OS to third-party device manufactures,
such as Handspring, IBM, Symbol, and Sony.
• Palm OS 5.0, 6.0 and Palm i705 released new features
for the enterprise applications.
• In the fall 2002, Palm introduced two new product
families: Tungsten and Zire.
– Tungsten – is targeted at the enterprise market, providing
powerful solutions for mobile professionals and enterprise
workforces.
– Zire – is focused on the consumer market, providing
affordable options for individuals to organize their
schedules and contacts.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Palm OS
Topic: Mobile OS and Development
Environments
Basic functional features:
• Prior to the release of version 5.0, Palm OS only support single-
tasking
• With version 5.0, Palm OS introduced some multi-tasking capabilities.
• Provide two kinds of local databases in a flat-file format:
– Record database – store and manage application data, such as contact list
– Resource database – store and manage the application code and user
interface objects.
• Meanwhile, Palm OS 5.0 provides some extra features:
– Move to the ARM series of processors -> increase its performance greatly.
– Move CMPE-A6d ditional security for encrypting private data
– New wireless capabilities for earlier access to the Internet and email
systems
• Palm OS i750 include wireless support for always-on wireless
networks, Bluetooth, and clip-on modems.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Palm OS
Topic: Mobile OS and Development
Environments
Jerry Gao Ph.D.
9/2002
All Rights Reserved
An Overview of Palm OS
Device HardwareThird-Party Hardware
Device Applications
Third-Party Applications
Hardware Abstraction Layer
Application ToolBox
Kernel
System
Libraries
Third-Party
Libraries
System Services
Applications
Palm OS
Hardware
On the technical side, Palm OS has three components:
• Reference hardware design, consisting of third-party hardware and
the hardware abstraction layer.
• Palm Os with embedded system and third-party libraries.
• Application software, featuring the applications included with Palm
OS, such as the HotSync conduit and third-party applications.
Market Lookup:
• As today, Palm OS is still in its leading position in the PDA
marketplace.
• Even though other mobile operating systems are closing in on its
market lead.
• As far as the future years, the market will remain split between the
Palm OS and Windows CE in North America and among the Palm
OS, Windows CE, and the Symbian OS in other parts of the world.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Palm OS
Topic: Mobile OS and Development
Environments
What is Symbian OS?
• Symbian OS is an operating system developed for
exclusively for mobile devices.
• Symbian OS is designed for 32-bit CPUs based on
190MHZ and 206MHZ StrongARM CPUs with some on
ARM9.
• Symbian OS gained its popularity in the mobile phone
sector.
• It is created by Symbain, which is a joint venture of
Nokia, Ericsson, Motorola, and Matsushita. This
partnership was to create a standard OS for smart
phones and PDAs based on Psion’s EPOC OS.
• Symbian OS is the name assigned to the lastest
version of the EPOC os. Versions prior to 6.0 are called
EPOC, while later versions are called Symbian OS.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Market:
• Historically, the Symbian OS has been dominant in the
European markets, with little exposure in North America.
• This started to change in March 2002, with Nokia’s release
of the Communicator 9290 device in North America.
• As other vendors release Symbian OS devices outside of
Europe, making Symbian OS a potential challenger to both
Palm OS and Window CE for the enterprise application
development.
• Typical deployed devices are:
– Nokia 9210 (14MB ROM, 8MB (SD-RAM, and 16MB MMC Card,
4096 color screen, and full keyboard)
– Sony Ericsson (16MB RAM and 16MB flash, 640x480 digital
camera, and a 24-million color display with phone keys)
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
History of Symbian OS:
• In June 1999, EPOC version 5 started shipping. It contained
support for devices based on a 640x240 screen resolution,
with pen and keyboard capabilities.
• In 2000, Symbian OS 6.0 was released. Its design goal is to
bring together various forms of communication protocols,
such as TCP/IP, WAP, GSM, Bluethooth, IrDa, as well as
serial connections.
• In 2002, Symbian OS version 7.0 was released. This version
is designed for the unique requirements of advanced 2G,
2.5G, and 3G mobile phones.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Basic Features:
• Basic operating system features supporting 32-bit CPUs, memory,
system RAM, I/O devices, such as keyboards, disks (memory-
card), RS232 and connection to PC, an infrared port, and
bluetooth for wireless transfer of data between Symbian OS and
others, such as PDAs.
• Supporting communication protocols, TCP/IP, WAP(1.2.1), GSM,
Bluetooth, IrDa and serial connections.
• Allow C++/Java (Java applets)–based applications to be executed.
• Full-strength security using HTTPS, WTLS, and SSL.
• Enhanced multimedia capabilities
• Over-the-air data synchronization using SyncML
• Supporting advanced messaging, including NMS< EMS, and SMS
• Providing a complete suite of application engines for contacts,
schedules, Web browsing and system control
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
To support a range of different platform models for various mobile
devices, Symbian OS provides the followings:
• Two reference designs: Quartz and Crystal
– Quartz is targeted at PDA-sized devices (320x240 pixels)
– Crystal is targeted for communicator type devices (640x200 pixels)
• Recently Symbian OS 7.0 released two more user interfaces:
– UIQ provides a customizable pen-based user interface for media-rich
mobile phones. This was designed for the large, touch sensitive color
displays found on 2.5G and 3G handsets. It is targeted for screen sizes
ranging from 208x320 to 240x320 pixels (PDA standard sizes).
– The Series 60 platform is designed for mobile phones and smart phones.
• Provide a development kit for developers who are building
applications.
– For on-device applications, including EPOC C++ which is an efficient and
purely object-oriented language that provides full access to all of the
platform APIs.
– Java runs on Symbian’s Java runtime and implements PersonalJava 3.0 JVM
and JavaPhone 1.0 profiles.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Basics of Symbian OS (kernel):
• Two reference designs: Quartz and Crystal
– Quartz is targeted at PDA-sized devices (320x240 pixels)
– Crystal is targeted for communicator type devices (640x200 pixels)
• Recently Symbian OS 7.0 released two more user interfaces:
– UIQ provides a customizable pen-based user interface for media-rich
mobile phones. This was designed for the large, touch sensitive color
displays found on 2.5G and 3G handsets. It is targeted for screen sizes
ranging from 208x320 to 240x320 pixels (PDA standard sizes).
– The Series 60 platform is designed for mobile phones and smart phones.
• Provide a development kit for developers who are building
applications.
– For on-device applications, including EPOC C++ which is an efficient
and purely object-oriented language that provides full access to all of
the platform APIs.
– Java runs on Symbian’s Java runtime and implements PersonalJava 3.0
JVM and JavaPhone 1.0 profiles.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Jerry Gao Ph.D.
9/2002
All Rights Reserved
Process Boundaries for Symbian OS
Server Server Application
Application
Application
Engine
Engine
Kernel
Basics of Symbian OS:
The Kernel is a core of Symbian OS.
-
Manages the machine’s hardware resources such as system RAM,
and hardware devices.
-
Provides and controls the way all other software components can
access these resources.
-
Uses hardware-supported privilege to gain access to the resources.
– That is, the CPU will perform certain privileged instructions for only the
kernel.
– It runs other programs – so called user-mode programs without
privilege so that they can only access system resources through the
kernel APIs.
The Application is a program with a user interface. Each application
runs in a separate process with its own virtual address space.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Basics of Symbian OS:
A Sever is a program without a user interface.
-
It manages one or more resources.
-
It provides an API so that clients can gain access to its services.
-
A server’s client may be applications or other servers.
-
Each server generally runs in its own process so that the
boundary between a server and its clients is a process
boundary.
An Engine is the part of an application that manipulates its data
rather than the part that interacts directly with the user.
Often an application can be divided into an engine part and GUI
part.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Symbian OS implements preemptive multitasking so that it can run
multiple applications and servers simultaneously.
The Process is a fundamental unit of protection in Symbian OS.
-
Each process has its own address space.
-
The virtual address used by programs executing in that process
are translated into physical addresses in the machine’s ROM
and RAM. The translation is managed by memory management
unit (MMU), so that the read-only memory is shared.
The Thread is the fundamental unit of execution in Symbian OS. A
process may has one or more threads. Each thread executes
independently of the others, but share the same address space.
Threads are preemptively scheduled by the Symbian OS kernel.
The highestt-priority thread that is eligible to run at a given
time is run by the kernel. A thread may have the following
status:
run, scheduled, suspended (waiting for events), and resume
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
DBMS in Symbian OS:
The DBMS in the Symbian OS is significantly more advanced than that
in either the Palm OS or Windows CE.
Rather than using a flat-file database structure, Symbian OS has
implemented a relational DB. This suggests the followings:
-
Multiple DB tables and complex schemas could be defined in a DB
-
A subset of SQL (as well as C++ APIs) can be used for data access.
One of the other nice features of the Symbian OS DBMS is the support
for transactions. When database changes occur within a
transaction, all changes can be undone if something goes wrong
during any part of the data manipulation.
The major limitations of Symbian OS DBMS are:
-
the API is only available in C++, and limiting access to the other
supported programming languages such as Java.
-
Its relational DBMS does not support some common functions, such
as joins.
Jerry Gao Ph.D.
3/2004
All Rights Reserved
An Overview of Symbian OS
Topic: Mobile OS and Development
Environments
Jerry Gao Ph.D.
8/2004
All Rights Reserved
Topic: Mobile OS and Development
Environments
Major Players in Mobile Devices and Technologies
Nokia
Sony Ericsson
Sun Microsystems
Symbian
Motorola
PacketVideo
RealNetworks
Siemens AG
Siemens ICM
4thpass Inc.
AGEA Corporation
Alcatel
Aplix Corporation
Baltimore
Technologies
Fujitsu Limited
Hitachi Limited
In Fusio
Logical Mobile
Networks
Mitsubishi Electric
Corp
Mobile Scope AG
Mobilitec
NEC Corporation
Nextel
Communications
Openwave Systems
Inc.
Palm
Samsung Electronics
Sharp Labs
Vaultus Inc.
Veloxsoft Inc.
Vadafone Multimedia