Mobile OS and Development Environments Speaker: Jerry Gao Ph.D. San Jose State University 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
What is Windows CE? One of Microsofts 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/2004All 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 Microsofts 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/2002All 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/2004All Rights Reserved An Overview of Windows CE Topic: Mobile OS and Development Environments
Comparisons of Windows CE versions: VersionsYearProcessors InternetWireless Multimedia BrowserCapability Support CE ARM, MIPS IE 4.0IrDA No PowerPC, SHx x86 CE ARM, MIPS,IE 4.0IrDA Yes CE.NET2002X-Scale, ARMI.E. 5.5Bluetooth Yes x Media Sense OBEX Jerry Gao Ph.D.9/2002All 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 PDAs 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/2004All 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/2004All 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 systems Palm OS i750 include wireless support for always-on wireless networks, Bluetooth, and clip-on modems. Jerry Gao Ph.D.3/2004All Rights Reserved An Overview of Palm OS Topic: Mobile OS and Development Environments
Jerry Gao Ph.D.9/2002All Rights Reserved An Overview of Palm OS Device HardwareThird-Party Hardware Device ApplicationsThird-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/2004All 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 Psions 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/2004All 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 Nokias 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/2004All 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/2004All 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/2004All 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 Symbians Java runtime and implements PersonalJava 3.0 JVM and JavaPhone 1.0 profiles. Jerry Gao Ph.D.3/2004All 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 Symbians Java runtime and implements PersonalJava 3.0 JVM and JavaPhone 1.0 profiles. Jerry Gao Ph.D.3/2004All Rights Reserved An Overview of Symbian OS Topic: Mobile OS and Development Environments
Jerry Gao Ph.D.9/2002All Rights Reserved Process Boundaries for Symbian OS Server Application Engine Kernel
Basics of Symbian OS: The Kernel is a core of Symbian OS. -Manages the machines 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/2004All 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 servers 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/2004All 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 machines 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/2004All 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/2004All Rights Reserved An Overview of Symbian OS Topic: Mobile OS and Development Environments
Jerry Gao Ph.D.8/2004All 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