`
`Aarne Klemetti
`EVTEK, Media Technology
`
`Aarne.Klemetti@evtek.fi
`
`Abstract
`
`This paper describes the operating systems – OS – for personal digital
`assistants – PDAs. Three systems, namely Windows CE, Palm OS, and
`Symbian OS are discussed. At first the general features of PDA operating
`systems are introduced. Then the differences of the three systems are
`discussed from the functionality, usability, and scalability of each system.
`After that some future predictions are given and analyzed.
`
`1 INTRODUCTION
`
`This paper presents three of the most prominent operating systems (OSs) for personal
`digital assistants (PDAs). The OSs discussed here are:
`
`1. Windows CE, which is developed by Microsoft, Inc. and it is intended to be a
`general purpose operating system for wireless and personal systems.
`
`2. Palm OS, which was originally developed for the handheld devices produced by
`Palm Computing, Inc. It is now adopted by several important manufacturers of
`the industry.
`
`3. Symbian OS, which is an open operating system developed by a consortium of
`the major developers for portable and mobile devices.
`
`The purpose of this paper is to make a distinction between the systems and their goals
`and especially to analyze the functionality and the future of each PDA OS.
`
`2 BACKGROUND
`
`Small devices come in many shapes and sizes, each addressing different target markets
`and having different requirements. The market segment of the scope of this paper is that
`of the wireless information device (WID). This spans the spectrum between traditional
`PDAs (with handheld computer functionality and occasional communication) and
`mobile phones (with voice communication and enough data capability to support an
`address book and basic messaging).
`
`1
`
`APPLE 1008
`
`
`
`
`
`It is important to look at the WID market on its own. It has some specific needs that
`make it unlike most other markets such as PCs or fixed domestic appliances. Scaling
`down a PC operating system or bolting communication on to a small and basic OS
`results in too many fundamental compromises. Symbian believes that the WID market
`has five key characteristics at its core that make it unique, and require a specifically
`designed operating system:
`
`(cid:131) devices are both small and mobile;
`
`(cid:131)
`
`the target is a mass market of consumer, enterprise and professional users;
`
`(cid:131) devices are occasionally connected: they can be used both when connected to
`the wireless phone network or locally to other devices, and also when not
`connected to any network;
`
`(cid:131) manufacturers need to differentiate their products in order to innovate and
`compete in a fast-evolving market;
`
`(cid:131)
`
`and last but not least, the platform has to be open for third-party application
`development.
`To address each of these characteristics is the only way to create good products where
`technology doesn't limit functionality and creating good products is the way to grow the
`WID market. (www.devx.com/wireless/articles/PDA/PDAIntro.asp(20.11.2001))
`
`3 OVERVIEW OF THE PDA OPERATING SYSTEMS
`
`For the PDA OS there are several viewpoints that need to be addressed. Those include:
`
`(cid:131)
`
`(cid:131)
`
`(cid:131)
`
`fast bootstrap processes
`
`immediate response to switching from one application to another
`
`efficient back-up/synchronization operations
`
`The requirements are best met by using real-time operating systems (RTOS), which
`provide the means for fast and efficient responses needed for running the PDAs.
`
`In general, real-time operating systems are said to require:
`
`(cid:131) Multitasking
`
`(cid:131) Process threads that can be prioritized
`
`(cid:131) A sufficient number of interrupt levels
`
`Real-time operating systems are often required in small embedded operating systems
`that are packaged as part of microdevices. Some kernels can be considered to meet the
`requirements of a real-time operating system. However, since other components, such
`
`2
`
`
`
`
`
`as device drivers, are also usually needed for a particular solution, a real-time operating
`system is usually larger than just the kernel. (www.whatis.com (19.11.2001))
`
`It is important to distinguish between a real-time system and a real-time operating
`system (RTOS). The real-time system consists of all elements—the hardware, operating
`system, and applications—that are needed to meet the system requirements. The RTOS
`is just one element of the complete real-time system and must provide sufficient
`functionality to enable the overall real-time system to meet its requirements.
`
`3.1 Windows CE
`
`Although the Windows CE Operating System is the leader among handheld personal
`computers (H/PCs), it holds only about 10% of the PDA market. Those numbers won't
`stay that low.
`
`The latest version of Windows CE, now known as Windows CE for the PocketPC
`(P/PC), is coming back with a vengeance. Microsoft has partnerships with some key
`companies in the industry (Casio, HP, and Compaq) – all manufactures of PocketPC
`devices.
`
`Figure 1.
`
`How memory is allocated in the Windows CE address space.
`(www.microsoft.com/windows/embedded (20.11.2001))
`
`Microsoft Windows CE is an open, scalable, 32-bit operating system that is designed to
`meet the needs of a broad range of intelligent devices, from enterprise tools such as
`industrial controllers, communications hubs, and point-of-sale terminals to consumer
`products such as cameras, telephones, and home entertainment devices. A typical
`Windows CE-based embedded system is targeted for a specific use, often runs
`disconnected from other computers, and requires an operating system that has a small
`footprint and a built-in deterministic response to interrupts.
`
`3
`
`
`
`
`
`Real-time performance is essential for the time-critical responses required in high-
`performance embedded applications such as telecommunications switching equipment,
`industrial automation and control systems, medical monitoring equipment, and space
`navigation and guidance systems. Such applications must deliver their responses within
`specified time parameters in real-time.
`
`Although previous versions of Windows CE offered some RTOS capabilities, a number
`of significant changes made to the kernel of Windows CE 3.0 have greatly enhanced
`real-time performance. Some of the changes made for Windows CE 3.0:
`
`(cid:131)
`
`Increased number of thread priority levels from 8 to 256.
`
`(cid:131) More control over times and scheduling. Applications can control the amount of
`time provided to each thread and manipulate the scheduler to their advantage.
`Timer accuracy is now one millisecond for Sleep- and Wait-related APIs.
`
`(cid:131)
`
`Improved method for handling priority inversion.
`
`(cid:131) Full support for nested interrupts.
`
`(cid:131) Reduced ISR and interrupt service thread (IST) latencies.
`
`(cid:131) More granular memory management control.
`
`The kernel is the inner core of the Windows CE operating system and is responsible for
`scheduling and synchronizing threads, processing exceptions and interrupts, loading
`applications, and managing virtual memory. In Windows CE 3.0, the kernel has
`undergone several changes to increase performance and reduce latencies, including:
`
`(cid:131) Moving all kernel data structures into physical memory (Figure 1), thus largely
`avoiding translation look-aside buffer (TLB) misses while executing non-
`preemptible code in the kernel.
`
`(cid:131) All non-preemptible, but interruptible, portions of the kernel, known as Kcalls,
`were broken into smaller non-preemptible sections. This introduces some
`complexity, due to the increased number of sections, but now lets preemption be
`turned off for shorter periods of time.
`
`3.2 The Palm Operating System
`
`In 1996, a product called the PalmPilot was released by US Robotics. The Palm Pilot
`ran on an operating system made especially for that device, called the Palm OS.
`
`The Palm Operating System (Palm OS) is the current leader in the PDA market,
`accounting for 70% of the market share. The Palm Pilot (now known as just Palm),
`became one of the fastest growing computer platforms in history, reaching the million-
`sold mark faster than the IBM PC or Apple's Macintosh.
`
`4
`
`
`
`
`
`Today, the Palm line has grown to include a variety of models. In addition, a number of
`other companies such as IBM, Qualcomm, and Symbol Technologies released their own
`Palm OS PDA models, with Sony's version hitting the market later this year.
`
`Palm OS is the computer operating system that provides a software platform for the
`PalmPilot series of handheld personal digital assistants made by Palm Computing, now
`part of 3Com. Palm OS was designed from the beginning to fit into a palm-size device
`of a specific size and with a specific display size.
`
`Palm OS uses multitasking, but only one task is for applications. The user uses one
`application at a time, one application program must finish before the next can be
`selected. This constraint allows the operating system to devote full attention to the
`application that is open. The space needed by the system for any application that is
`running is kept in dynamic, reusable random access memory.
`
`The application and its related database are kept in what is called permanent storage,
`but here the permanent storage is RAM (rather than a hard disk) that cannot be reused
`as the dynamic RAM can. Palm OS divides an application into runnable code and
`different types of data elements, such as user interface elements and icons. The data
`elements can be easily changed without necessarily having to rewrite code.
`
`Palm Computing chose not to include a keyboard in the PalmPilot in order to produce a
`truly palm-size device. Learning from Apple's Newton, an earlier attempt at a pen-and-
`notepad interface, the company also chose not to provide full handwriting recognition
`code. Instead, PalmPilot users learn to use a more quickly recognized but restrictive set
`of pen strokes. These decisions helped keep Palm OS small in size. Palm OS comes
`with these applications built-in: Dates, Address Book, To Do List, Memo Pad,
`Calculator, and Password Protection. New applications can be written and added using
`several facilities that accelerate development. (www.palmos.com(20.11.2001))
`
`The Palm OS platform consists of five primary components:
`
`(cid:131) Palm OS software
`
`(cid:131) Reference hardware design
`
`conduit
`(cid:131) HotSync
`synchronization
`
`data
`
`synchronization
`
`technology
`
`for
`
`one-button
`
`(cid:131) Platform component tools including an API that enables developers to write
`applications
`
`(cid:131) Software interface capabilities to support hardware add-ons
`
`
`
`
`
`
`
`5
`
`
`
`
`
`Figure 2.
`
`
`The Palm OS platform structure. (www.palmos.com (20.11.2001))
`
`Palm OS 4.1 new features:
`
`Improved security to mask or hide private records
`(cid:131)
`(cid:131) New auto-locking feature
`(cid:131) New security password hinting process
`(cid:131) Time zone support
`(cid:131) Enhanced on-screen keyboard supporting tapping or Graffiti strokes
`(cid:131) New telephony services for communications to mobile phones
`(cid:131) New preferences panel for more detailed control over your connections to
`devices like modems, cables and mobile phones
`(cid:131) Address Book that dials
`Instant messaging
`to most phones via SMS Messenger application
`(cid:131)
`(www.palmos.com (20.11.2001))
`
`
`
`3.3 Symbian OS
`
`The third major player is Symbian OS, an operating system developed by London-based
`software developer Symbian. Symbian OS has following types of handheld device
`designs:
`
`(cid:131) Pearl for smart mobile phones
`
`(cid:131) Quartz for small communicator type of devices, like PDAs
`
`(cid:131) Crystal for H/PCs and other communicators with a small keyboard
`
`(cid:131) Additionally, the full VGA design will be introduced.
`
`Symbian OS does have some major advantages. It is an extremely power-efficient
`operating system – other operating systems require double to triple the size of a battery.
`Also, Symbian OS has a small memory footprint and a compact code, which allows for
`customization. This potential for customization is a huge advantage over Windows CE.
`
`6
`
`
`
`
`
`Symbian OS is an operating system designed for small, portable computer-telephones
`with wireless access to phone and other information services. Symbian OS is based on
`an earlier operating system from Psion.
`
`Symbian refers to the class of hardware Symbian OS serves as "wireless information
`devices." Symbian OS is a 32-bit, multitasking operating system that supports a pen-
`based graphical user interface. It is written in the C++ programming language using an
`object-oriented design. The code is very compact so that it can fit on a small ROM chip.
`
`In addition to basic services, the operating system comes with an "application suite,"
`that includes a word processor, e-mail handler, spreadsheet program, a scheduling
`application, general purpose database, sketch program, world clock, voice recorder,
`spell checker, calculator, communication programs, and a Web browser.
`
`Symbian OS can be scaled from relatively large configurations for a fully-functional
`H/PC to small configurations for embedded systems programming applications.
`
`Although Symbian OS can be ported to other microprocessors, Symbian's preferred
`platform is the Advanced RISC Machines (ARM) architecture. Symbian considers
`ARM the best platform in terms of millions of instructions per second (MIPS) per watt
`and per dollar cost.
`
`Some of the key features of Symbian OS Version 6.1 (see also Figure 3.)
`
`(cid:131)
`
`comprehensive integration of contacts information, messaging, browsing and
`wireless telephony
`
`(cid:131) messaging – Internet email using POP3, IMAP4, SMTP, MHTML; standard
`attachments including Microsoft Word documents; fax; text messaging using
`SMS
`
`(cid:131) mobile telephony protocols – 2G voice and circuit-switched data, 2.5G packet-
`switched data, and SMS
`
`(cid:131)
`
`communication protocols – TCP/IP, WAP, Bluetooth, IrDA, serial
`
`security – full-strength encryption and certificate management, secure communications
`protocols (including HTTPS, WTLS and SSL), certificate-based application installation
`(www.symbiandevnet.com(20.11.2001))
`
`
`
`
`7
`
`
`
`
`
`Figure 3.
`
`
`6.1.
`of Symbian OS Version
`components
`The major
`(http://www.symbiandevnet.com/technology/symbos-v6x-det.html
`(20.11.2001))
`
`4 THE DEVELOPMENT TOOLS OF THE PDA OPERATING SYSTEMS
`
`The development tools for each of the systems are introduced next. Even though all
`systems are running on PDAs, there are some differences in the development processes
`on the platforms. These issues are discussed next.
`
`4.1 Windows CE
`
`Windows CE offers the application developer the familiar environment of the Microsoft
`Win32 application programming interface (API), ActiveX controls, message queuing
`(MSMQ) and Component Object Model (COM) interfaces, Active Template Library
`(ATL), and the Microsoft Foundation Classes (MFC) Library. ActiveSync provides
`easy connectivity between the desktop and the embedded device, whether by serial
`connection, infrared port, or network cable. Windows CE provides built-in support for
`multimedia (including DirectX), communications (TCP/IP, SNMP, TAPI, and more),
`and security. A variety of integrated applications, including Pocket Internet Explorer,
`Pocket Outlook, and Pocket Word expose objects that allow the developer to extend and
`customize the existing system, as well as extend the functionality of the created
`applications. (www.microsoft.com/windows/embedded (20.11.2001))
`
`4.2 Palm OS
`
`The Palm OS Software Development Kit (SDK) provides application programming
`interfaces (APIs) for developing Palm OS applications. There are functions for user
`interfaces, system management, and communication.
`
`The Conduit Development Kit (CDK) supports the implementation of conduits, which
`enable the exchange and synchronization of data between a desktop application and an
`application running on a device. The CDK is available for Windows, Mac, and Solaris.
`
`8
`
`
`
`
`
`Each Palm application must have assigned an unique
`CreatorID,which can be obtained from Palm.
`
`identification, called
`
`Beyound these development kits, programming is supported by several development
`environments and tools. (Hansmann, U., Pervasive Computing Handbook)
`
`4.3 Symbian OS
`
`Symbian provides development kits for C++, for OPL, and for Java. Programmers write
`programs at a PC and use an emulator to test them. At a very basic level the operating
`system shouldn¹t be too resource hungry - it should support low-power processors with
`limited amounts of memory. Unlike other operating systems, Symbian OS implements
`most of the multi-tasking through event-driven messaging rather than with multi-
`threading. Multi-threading is complex, prone to errors and expensive (there can be
`several kilobytes of overhead per thread). Symbian OS is much more efficient - to
`create another object in a primarily event-driven operating system doesn¹t need any
`context switching and can have an overhead as low as a few tens of bytes.
`
`Symbian OS is the common core of application programming interfaces (APIs) and
`technology that is shared by all Symbian OS phones. Symbian OS includes a multi-
`tasking kernel, middleware for communications, data management and graphics, the
`lower
`levels
`of
`the GUI
`framework,
`and
`application
`engines.
`(www.symbiandevnet.com)
`
`Similar to Palm OS, the Symbian OS applications must have an unique UID for file
`identification and association. The UID must be requested from Symbian. (Hansmann,
`U., Pervasive Computing Handbook)
`
`5 NEXT GENERATION PDA OPERATING SYSTEMS
`
`All three of the discussed OSs are under continuous development. The paths for future
`systems do reflect to the company and/or consortium policy in the market. Microsoft is
`continuing its .NET-strategy, Palm has announced a merger through purchasing an
`interesting OS developer – Be, Inc. – , and Symbian is relying on openness and general
`standards.
`
`5.1 Windows CE.NET
`
`Windows CE.NET, formerly code named "Talisker", is the current code name for the
`next version of the Windows CE operating system. It is the robust real-time operating
`system for rapidly building the next generation of smart mobile devices. Windows CE
`.NET Beta 2 contains everything you need to create custom Windows CE–based
`devices. Features include Beta 2 of the next version of the Windows CE operating
`system, Platform Builder, a set of embedded development tools, an integrated
`development environment (IDE), a SDK export tool, and support for the Microsoft run-
`time libraries, sample code and Embedded Visual C++ development system. With this
`
`9
`
`
`
`
`
`end-to-end toolset, you can rapidly build smart designs on the latest hardware running
`rich applications.
`
`The following are some of the key features to developing an embedded platform with
`Windows CE.NET: (www.microsoft.com/windows/embedded(20.11.2001))
`
`(cid:131) Windows CE.NET Beta 2 allows you to build scalable wireless platforms to
`flexibly connect mobile devices into existing infrastructures.
`
`(cid:131) Broad wireless support for personal area networks (PANs), local area networks
`(LANs), and wide area networks (WANs), including Bluetooth, 802.11.
`
`(cid:131) Remotely authenticate, authorize, administer, and update new applications and
`OS services on your device.
`
`(cid:131) Windows CE.NET Beta 2 offers reliable core OS services for efficiently
`enabling the most demanding real-time embedded designs across a breadth of
`devices.
`
`(cid:131) Enable low latency, bounded deterministic system performance with hard RTOS
`kernel support.
`
`(cid:131)
`
`Implement local and network security for the storage and transmission of data.
`
`5.2 Palm OS
`
`Palm has purchased Be, Inc., the developer of Be OS. It's hard to see at first any real
`synergy between the two. Be developed multimedia-oriented desktop and Net appliance
`operating systems, while Palm develops operating systems for personal organisers.
`
`Another look reveals that PDAs become more geared toward wireless net access, and
`through 3G networks, able to cope with ever richer media types. Palm will need
`expertise in handling those kinds of media. Indeed, a modern PDA is as much a net
`appliance than the set-top box image most of us think of when we consider boxes an OS
`like Be's BeIA might run on.
`
`Whether Palm will incorporate BeIA into the Palm OS, use it as the basis for a future
`PDA operating system, branch out into larger-scale appliances, or just cream off the
`multimedia expertise, the company has yet to say. Whatever it does, the acquisition of
`Be gives
`it a
`lot of scope
`to develop some
`interesting business models.
`(http://www.palmos.com/news/2001/081601.html)
`
`In the future, handhelds will become ubiquitous tools that everyone will use to manage
`information, conduct transactions, and communicate with each another. Here are the
`visions of how the future will be for Palm:
`
`(cid:131) Wireless connections and services:
`· Clip-on wireless modems supporting most of the world's major cellular
`standards
`
`10
`
`
`
`
`
`· New handhelds with "always-on" e-mail connections
`· Support for Bluetooth in every new Palm-branded handheld.
`
`(cid:131) Secure transactions:
`· Secure transaction processing to enable electronic wallets and identification
`cards
`· Top-level security for corporate transactions.
`
`(cid:131) Graphics and multimedia:
`· Support for larger and higher-resolution screens
`· Enhanced video and audio playback
`· Support for faster, more powerful ARM microprocessors, while maintaining
`compatibility with current Palm software applications.
`
`5.3 Symbian OS
`
`Symbian is not revealing features for their next OS. Instead, the target for open
`development is addressed through different white papers and documentation provided in
`their web-site. A conclusion is that they define the guidelines in their own development,
`and those are:
`
`(cid:131) Even though mobile phones are small and mobile, they can offer facilities as
`rich as those on desktop computers in addition to basics such as voice and data
`communication. The operating system has to support both conventional and
`mobile computing paradigms, and developers need knowledge of both. To
`reduce the time-to-market, developers should become proficient in as short a
`time as possible. Supporting standards that they may already know or can easily
`learn from a multitude of sources is necessary. Standards also make the platform
`more open and hence attract more developers.
`
`(cid:131) Traditional standards such as Unicode for internationalization, a POSIX API,
`and Java are a must, but for an operating system to take its place in the
`connected world, open standards such as TCP/IP, POP3, IMAP4, SMTP, SMS,
`Bluetooth, OBEX, WAP, i-mode, JavaPhone and SyncML should also be
`supported.
`(www.symbiandevnet.com/technology/why-diff-
`os.html(20.11.2001))
`
`
`
`
`
`11
`
`
`
`
`
`6 CONCLUSIONS
`
`The most likely outcome is that the market will fragment. Each company may lead in
`one area – such as Symbian for phone-organisers wired to the Internet, Palm for the
`mass market of personal information devices and Microsoft for more demanding
`business users.
`
`How those markets shape up is the big unknown. Some people think Europe and
`America may go separate ways here for the next few years.
`
`Phone-organisers may take off in Europe whilst America – where a lack of common
`standard hampers digital networks – may stick to phoneless organisers, using data-only
`or pager-style connections, or which plug in a separate device to communicate.
`
`Keeping in mind the scale and the background of Microsoft and Symbian, it is obvious
`that the market of mobile devices’ operating systems will mainly be divided by them.
`Others will pick up what is left even though Palm is currently so popular and
`widespread device. A clear sign of this convergence is that Psion has given up the H/PC
`line from their production.
`
`The operational differences between the three discussed PDA OSs indicate that Palm
`OS needs to be redefined to match its competitors. Will that be provided by the Be
`merger is still unknown. Microsoft will certainly endorse its .NET policy with all of its
`different OSs, which may also prevent some developers from creating applications on
`that platform. Other views prevail as well, since Microsoft has gained a large network
`of developers during the past years. That is something that Symbian is still trying
`to.approach.
`
`REFERENCES
`
`Hansmann, U., Merk, L., Nicklous, M., and Stober, T. 2001. Pervasive Computing
`Handbook. Springer Verlag. Pp. 133 – 162.
`http://searchnetworking.techtarget.com/
`http://searchwin2000.techtarget.com/
`http://developer.epocworld.com
`http://www.palmos.com/
`http://www.microsoft.com/mobile
`http://www.microsoft.com/windows/embedded
`http://www.symbian.com
`http://www.psion.com
`http://www.symbiandevnet.com
`http://www.whatis.com
`
`
`12
`
`