Kernel Expanded version of Kodaks AMX kernel Features

  • Slides: 15
Download presentation
Kernel • Expanded version of Kodak’s AMX kernel • Features – Uses Preemptive Priority

Kernel • Expanded version of Kodak’s AMX kernel • Features – Uses Preemptive Priority Scheduling – Multithreading – Multitasking

Final Report: Palm OS Thad Cox Gerald Irish Duo Lei Chip Seymour

Final Report: Palm OS Thad Cox Gerald Irish Duo Lei Chip Seymour

Typical architecture layers of a PDA

Typical architecture layers of a PDA

Palm OS Specs • CPU speed ranges from 16 MHz to 33 MHz •

Palm OS Specs • CPU speed ranges from 16 MHz to 33 MHz • Random Access Memory (RAM) ranges from 128 k to 8 MB • Dynamic heap ranges from 32 K to 256 K

Devices • • • Handspring Hand. Era Sony Palm Inc. Kyocera/QUALCOMM Symbol Technologies

Devices • • • Handspring Hand. Era Sony Palm Inc. Kyocera/QUALCOMM Symbol Technologies

Palm OS 5. 0 - Multimedia • support for high-resolution 320 x 320 pixel

Palm OS 5. 0 - Multimedia • support for high-resolution 320 x 320 pixel screens -four times the resolution of most current generation products • high-fidelity sound recording and playback

Palm OS 5. 0 - Wireless Connectivity • support for Bluetooth and 802. 11

Palm OS 5. 0 - Wireless Connectivity • support for Bluetooth and 802. 11 b wireless networking standards • capable of connecting and communicating with networks and other devices like never before

Palm OS 5. 0 - Security & Compatibility • 128 -bit data encryption based

Palm OS 5. 0 - Security & Compatibility • 128 -bit data encryption based on the RC 4 algorithm and Secure Socket Layer (SSL) support for Internet email, web browsing, and commercial transactions. • backwardly compatible with most existing Palm OS applications

Palm Handheld and Issues concerning Software Applications • • Screen Size Quick Turnaround expected

Palm Handheld and Issues concerning Software Applications • • Screen Size Quick Turnaround expected PC Connectivity Input Method Power Memory Backward Compatibility

Continue… • Programming Concepts 1. 2. 3. 4. Pilot. Main Event Loop Predefined UI

Continue… • Programming Concepts 1. 2. 3. 4. Pilot. Main Event Loop Predefined UI and Custom define UI Managers

Memory • Broken into three Heaps – Dynamic – Storage – ROM • Each

Memory • Broken into three Heaps – Dynamic – Storage – ROM • Each heap (except ROM) – Header – Master Pointer Table – Chunks – Terminator

Memory Cont. • Dynamic Heap is Palm’s RAM – global variables and data objects,

Memory Cont. • Dynamic Heap is Palm’s RAM – global variables and data objects, user interface components, buffers, application data, and an application stack – variable size chunks are allocated – two types, movable, and unmovable • Movable memory is referenced by ‘handles’ • handles reference master pointers which point to the beginning of each memory chunk • handles must be locked before memory access • a lock counter keeps track of how many locks are on a particular chunk. Chunks can only move when locks = 0

Memory • Compaction – compaction is automatically performed whenever there is not enough memory

Memory • Compaction – compaction is automatically performed whenever there is not enough memory for an allocation • the OS does not keep track of when it performed last compaction • if after compaction the memory allocation fails again, the system will continue to try which may lead to a system crash

Memory Cont. • Storage Heap – where user data and applications reside – data

Memory Cont. • Storage Heap – where user data and applications reside – data is divided into records in either a resource or record database, logical constructs – multiple databases within memory – records can be accessed by index or searched by one of its attribute fields – each record must be <64 K, thus applications should be <64 K, however Palm OS supports segmenting

Conclusion • Palm’s success comes from its minimalism • solutions to design constraints are

Conclusion • Palm’s success comes from its minimalism • solutions to design constraints are sometimes suboptimal from a logical standpoint but work well given the application • future releases will gain some of the capabilities of desktop machines as PDA hardware advances