Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email:...

23
Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: [email protected] URL: http://www.engr.sjsu.edu/gaojerry

Transcript of Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email:...

Page 1: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

Mobile OS and Development Environments

Speaker: Jerry Gao Ph.D.

San Jose State Universityemail: [email protected]

URL: http://www.engr.sjsu.edu/gaojerry

Page 2: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 3: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 4: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 5: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 6: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 7: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 8: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 9: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 10: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

Jerry Gao Ph.D. 9/2002 All Rights Reserved

An Overview of Palm OS

Device Hardware Third-Party Hardware

Device Applications Third-Party Applications

Hardware Abstraction Layer

Application ToolBox

KernelSystem Libraries

Third-Party Libraries

System Services

Applications

Palm OS

Hardware

Page 11: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 12: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 13: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 14: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 15: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 16: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 17: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 18: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

Jerry Gao Ph.D. 9/2002 All Rights Reserved

Process Boundaries for Symbian OS

Server Server Application

Application Application

Engine Engine

Kernel

Page 19: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 20: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 21: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 22: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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

Page 23: Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: .

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