150 likes | 284 Views
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. Typical architecture layers of a PDA. Palm OS Specs. CPU speed ranges from 16MHz to 33MHz
E N D
Kernel • Expanded version of Kodak’s AMX kernel • Features • Uses Preemptive Priority Scheduling • Multithreading • Multitasking
Final Report: Palm OS Thad CoxGerald IrishDuo LeiChip Seymour
Palm OS Specs • CPU speed ranges from 16MHz to 33MHz • Random Access Memory (RAM) ranges from 128k to 8MB • Dynamic heap ranges from 32K to 256K
Devices • Handspring • HandEra • Sony • Palm Inc. • Kyocera/QUALCOMM • Symbol Technologies
Palm OS 5.0 - Multimedia • support for high-resolution 320x320 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.11b 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 on the RC4 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 • PC Connectivity • Input Method • Power • Memory • Backward Compatibility
Continue… • Programming Concepts • PilotMain • Event Loop • Predefined UI and Custom define UI • Managers
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, 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 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 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 <64K, thus applications should be <64K, however Palm OS supports segmenting
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