Kernel

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

description

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 - PowerPoint PPT Presentation

Transcript of Kernel

Page 1: Kernel

Kernel

• Expanded version of Kodak’s AMX kernel

• Features– Uses Preemptive Priority Scheduling– Multithreading– Multitasking

Page 2: Kernel

Final Report: Palm OS

Thad CoxGerald Irish

Duo LeiChip Seymour

Page 3: Kernel

Typical architecture layers of a PDA

Page 4: Kernel

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

Page 5: Kernel

Devices

• Handspring

• HandEra

• Sony

• Palm Inc.

• Kyocera/QUALCOMM

• Symbol Technologies

Page 6: Kernel

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

Page 7: Kernel

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

Page 8: Kernel

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

Page 9: Kernel

Palm Handheld and Issues concerning Software Applications

• Screen Size

• Quick Turnaround expected

• PC Connectivity

• Input Method

• Power

• Memory

• Backward Compatibility

Page 10: Kernel

Continue…

• Programming Concepts1. PilotMain

2. Event Loop

3. Predefined UI and Custom define UI

4. Managers

Page 11: Kernel

Memory

• Broken into three Heaps– Dynamic– Storage– ROM

• Each heap (except ROM)– Header– Master Pointer Table– Chunks– Terminator

Page 12: Kernel

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

Page 13: Kernel

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

Page 14: Kernel

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

Page 15: Kernel

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