Palm OS Overview

Developing for the Palm OS is in some ways similar to other platforms and in other ways strikingly different. Two important similarities are as follows:

  • Applications are event-driven.

  • You can use anything from C++, to standard C code, to assembler, to scripting.

Differences tend to center around features crucial to the device size and purpose. These include how the Palm OS handles:

  • Memory requirements

  • Application and data storage

  • Connectivity of the device to the desktop

Most importantly, you should remember that the relationship between the device and the OS is extremely tight. Further, everything has been built on the premise that the handheld is an extension, not a miniature version, of the desktop. It specializes in ensuring that mobile tasks are simple and fast.

Interaction Between an Application and the OS

First, let’s examine this tight interaction of the OS and the applications on the handheld. The Palm OS runs on top of a preemptive multitasking kernel. One task runs the UI, while other tasks handle things like monitoring input from the stylus. The UI permits only one application to be open at a time. Thus, when your application is open, it (more or less) has control of the entire screen.


Because applications run within the single-user interface thread and can’t, themselves, be multithreaded, the multitasking provided by the kernel is for the operating system’s use only, and isn’t available to you.


Memory is handled in an unusual fashion (discussed ...

Get Palm OS Programming, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.