Welcome to the Computer Security Wiki! You can help us by expanding stubs, create new articles and improve current articles.
You can also help us by logging-in or creating an account!

Palm OS

From Malware Wiki
Jump to: navigation, search

Nomalware.png This page is not malware, despite having an article on the Wiki.

DeveloperPalm, Inc., ACCESS (Garnet OS)
Programming LanguageC++

Palm OS is a discontinued mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was 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. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS.

Following Palm's purchase of the Palm trademark, the currently licensed version from ACCESS was renamed Garnet OS. In 2007, ACCESS introduced the successor to Garnet OS, called Access Linux Platform and in 2009, the main licensee of Palm OS, Palm, Inc., switched from Palm OS to webOS for their forthcoming devices.


Palm OS is a proprietary mobile operating system. Designed in 1996 for Palm Computing, Inc.'s new Pilot PDA, it has been implemented on a wide array of mobile devices, including smartphones, wrist watches, handheld gaming consoles, barcode readers and GPS devices.

Palm OS versions earlier than 5.0 run on Motorola/Freescale DragonBall processors. From version 5.0 onwards, Palm OS runs on ARM architecture-based processors.

Version History

Palm OS 1.0

Palm OS 1.0 is the original version present on the Pilot 1000 and 5000. It was introduced in March 1996.

Version 1.0 features the classic PIM applications AddressDate BookMemo Pad, and To Do List. Also included is a calculator and the Security tool to hide records for private use.

Palm OS 1.0 does not differentiate between RAM and file system storage. Applications are installed directly into RAM and executed in place. As no dedicated file system is supported, the operating system depends on constant RAM refresh cycles to keep its memory. The OS supports 160x160 monochrome output displays. User input is generated through the Graffiti handwriting recognition system or optionally through a virtual keyboard. The system supports data synchronization to another PC via its HotSync technology over a serial interface. The latest bugfix release is version 1.0.7.

Palm OS 2.0

Palm OS 2.0 was introduced on March 10, 1997 with the PalmPilot Personal and Professional.[14] This version adds TCP/IP network, network HotSync, and display backlight support. The last bugfix release is version 2.0.5.

Two new applications, Mail and Expense are added, and the standard PIM applications have been enhanced.

Palm OS 3.0

Palm OS 3.0 was introduced on March 9, 1998 with the launch of the Palm III series.[15] This version adds IrDA infrared and enhanced font support. This version also features updated PIM applications and an update to the application launcher.

Palm OS 3.1 adds only minor new features, like network HotSync support. It was introduced with the Palm IIIx and Palm V.[16] The last bugfix release is version 3.1.1.

Palm OS 3.2 adds Web Clipping support, which is an early Palm-specific solution to bring web-content to a small PDA screen. It was introduced with the Palm VII organizer.

Palm OS 3.3 adds faster HotSync speeds and the ability to do infrared hotsyncing. It was introduced with the Palm Vx organizer.

Palm OS 3.5 is the first version to include native 8-bit color support. It also adds major convenience features that simplify operation, like a context-sensitive icon-bar or simpler menu activation. The datebook application is extended with an additional agenda view. This version was first introduced with the Palm IIIc device.[17] The latest bugfix release is version 3.5.3.

As a companion, Palm later offered a Mobile Internet Kit software upgrade for Palm OS 3.5.[18] This included Palm's Web Clipping software, MultiMail (which was later renamed to VersaMail) Version 2.26 e-mail software, handPHONE Version 1.3 SMS software, and Neomar Version 1.5 WAP browser.

Palm OS 4.0

Palm OS 4.0 was released with the new Palm m500 series on March 19, 2001.[19] This version adds a standard interface for external file system access (such as SD cards). External file systems are a radical change to the operating system's previous in-place execution. Now, application code and data need to be loaded into the device's RAM, similar to desktop operating system behavior. A new Universal Connector with USB support is introduced. The previous optional Mobile Internet Kit is now part of the operating system. Version 4.0 adds an attention manager to coordinate information from different applications, with several possibilities to get the user's attention, including sound, LED blinking or vibration. 16-bit color screens and different time zones are supported. This version also has security and UI enhancements.

Palm OS 4.1 is a bugfix release. It was introduced with the launch of the Palm i705. The later minor OS update to version 4.1.2 includes a backport of Graffiti 2 from Palm OS 5.2.

Palm OS 4.2 Simplified Chinese Edition is targeted especially for the Chinese market with fully Simplified Chinese support, co-released with Palm OS 5.3. No device has been manufactured with this version up to now.

Palm OS 5 (Garnet)

Palm OS 5 (not called 5.0) was unveiled by the Palm subsidiary PalmSource in June 2002[20] and first implemented on the Palm Tungsten T. It is the first version to support ARMdevices and replaced the Kadak AMX68000 kernel with the custom MCK kernel, named for its developer, that was written in-house by Palm.[21] Applications written for the prior OS versions use the older DragonBall 68K instruction set and are supported via the Palm Application Compatibility Environment (PACE) emulator in Garnet. Even with the additional overhead of PACE, Palm applications usually run faster on ARM devices than on previous generation hardware. New software can take advantage of the ARM processors with small units of ARM code, referred to as ARMlets.

With a more powerful hardware basis, Palm OS 5 adds substantial enhancements for multimedia capabilities. High density 320x320 screens are supported together with a full digital sound playback and record API. Palm's separate Bluetooth stack is added together with an IEEE 802.11b Wi-Fi stack. Secure network connections over SSL are supported. The OS can be customized with different color schemes.

For Palm OS 5, PalmSource developed and licensed a web browser called PalmSource Web Browser[22] based on ACCESS' NetFront 3.0 browser.

Palm OS 5.2 is mainly a bugfix release, first implemented in the Samsung SGH-i500 in March 2003.[23] It added support for 480x320 resolutions and introduced the new handwriting input system called Graffiti 2; the new input system was prompted by Xerox' lawsuit win against Palm. Graffiti 2 is based on Jot from CIC. The last bugfix release is version 5.2.8.

Palm OS 5.3 Simplified Chinese Edition released in September 2003, added full Simplified Chinese support,[24] further support for QVGA resolutions, and a standard API for virtual Graffiti called Dynamic Input Area. This version first shipped on Lenovo's P100 and P300 handhelds.[25]

Palm OS Garnet (5.4) added updated Bluetooth libraries and support for multiple screen resolutions ranging from 160x160 up to 480x320. It first shipped on the Treo 650 in November 2004. This version also introduced the Garnet moniker to distinguish it from Palm OS Cobalt 6.0. The last bugfix release is version 5.4.9.

Garnet OS 5.5 dropped the Palm moniker[26] and, as of 2007, is the current version developed by ACCESS. This version is dedicated for use inside of the Garnet VM virtual machine.

Garnet VM was announced and released by ACCESS in November 2007[27] as a core part of the Access Linux Platform and as an emulator allowing Nokia Internet Tablets to run applications written for the Garnet OS. In June 2010, ACCESS release Garnet VM version 6 (a.k.a. Garnet VM Beta 6 1.05b).[28]

Palm OS Cobalt

Palm OS Cobalt (6.0) was the designated successor for Palm OS 5. It was introduced on February 10, 2004,[29] but is no longer offered by ACCESS (see next section). Palm OS 6.0 was renamed to Palm OS Cobalt to make clear that this version was initially not designated to replace Palm OS 5, which adopted the name Palm OS Garnet at the same time.

Palm OS Cobalt introduced modern operating system features to an embedded operating system based on a new kernel with multitasking and memory protection, a modern multimedia and graphic framework (derived from Palm's acquired BeOS), new security features, and adjustments of the PIM file formats to better cooperate with Microsoft Outlook.

Palm OS Cobalt 6.1[30] presented standard communication libraries for telecommunication, Wi-Fi, and Bluetooth connectivity. Despite other additions, it failed to interest potential licensees to Palm OS Cobalt.

Third-party OS enhancements

Several licensees have made custom modifications to the operating system. These are not part of the official licensed version.

  • Palm developed a Bluetooth API for external Bluetooth SDIO Cards for Palm OS 4.0 devices. The Bluetooth stack was later included in Palm OS 5[31]
  • Palm added a virtual graffiti input area API especially for their Tungsten T3 device. This API was later superseded by the official Dynamic Input Area API in Palm OS 5.3.
  • Palm added to Palm OS 5.4 the Non-Volatile File System, and used Flash for storage instead of DRAM, preventing data-loss in the event of battery drain. However, this fundamentally changed the way programs were executed from the Execute-in-Place system that Palm OS traditionally used, and has been the source of many compatibility problems, requiring many applications to have explicit NVFS support added for them to become stable.
  • For their camera-equipped devices, Palm added the CameraLib API.
  • Sony added a library to support JogDial input available on their CLIÉ organizers.