PalmOS
Palm OS • An OS for handheld devices • Designed for highly efficient running of small productivity programs for devices with a few application tasks • Offers high performance due to a special feature that it supports only one process which controls all computations by the event handlers
• Single process (no multi-processing and multi-threading) • Compiled for a specific set of hardware, performance very finely tuned • Memory space partitioned into program memory and multiple storage heaps for data and applications
IP-based network connectivity and WiFi Integration to cellular GSM/CDMA phone
• No multi-processing or multi-tasking • Simplifies the kernel of the OS─ there is an infinite waiting loop in the only process that kernel runs • The loop polls for an event
• Each polled event─ sends interrupt signal • Handled by an event handler • Functioning as non-maskable non- prioritized ISR
Example: Polling for the events For a request to run an application or sub-application For a search program request to process a query Notifications (like time-out alarm) GUI actions (such as touching or tapping the screen with stylus)
Display Screen Support • Generally wide screen • 160 × 160 pixels • Optimized layout of desktop programs displayed on screen • 256 colour touch screen • Higher resolution support in new versions
PalmOS Memory Support 16 MB memory 256 MB internal flash (non-volatile ROM) 256 MB card consisting of flash memory which the user inserts into the device
PalmOS APIs Simple APIs compared to Windows CE Simple APIs for developing the GUIs ─ buttons, menus, scroll bar, dialogs, forms, and tables Using HTML markup language
PalmOS Desktop Programs SMS, Address, Card-Info, HotSync, To- Do-List, SMS, Security, Date Book/Calendar, Calc, Welcome, and Clock
PalmOS PIM Address book Data book for task-to-do and organization Memo pad SMTP (simple mail transfer protocol) email download
PalmOS Client side Applications GUI development support on C/C++ platform using Palm SDK For Java application using J2ME and advanced tools, for example, Metrowerk CodeWarrior
Architectural layers of PalmOS
PalmOS Deficiencies 1. Instead of multi-tasking, PalmOS provides for running a sub-application from within an application 2. Not an ideal platform for running multimedia applications because due to PalmOS is not for designing real-time systems 3. Does not offer much expandability 4. Inability to adapt to different sorts of hardware may also be considered a limitation for this operating system