Kernel Recipes 2015: Introduction to Kernel Power Management
Kernel
description
Transcript of Kernel
Kernel
• Expanded version of Kodak’s AMX kernel
• Features– Uses Preemptive Priority Scheduling– Multithreading– Multitasking
Final Report: Palm OS
Thad CoxGerald Irish
Duo LeiChip Seymour
Typical architecture layers of a PDA
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 Concepts1. PilotMain
2. Event Loop
3. Predefined UI and Custom define UI
4. 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