![Page 1: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/1.jpg)
Palm OS
Frederick Penrose, Kevin Wong, and Hoan Do
![Page 2: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/2.jpg)
Overview
Memory Management File System Demonstration
![Page 3: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/3.jpg)
Memory Management
![Page 4: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/4.jpg)
ROM vs. RAM
ROM nonvolatile memory stores key applications
RAM dynamic & storage stand-by mode (power off)
no hard drive What are the advantages of only using RAM?
![Page 5: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/5.jpg)
Dynamic RAM
size - depends on OS version, available RAM, software, stacks, etc.
dynamic heap temporary storage for application global variables, font tables, stacks & structures,
library data, buffers (pen & key strokes), etc. no write protection
![Page 6: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/6.jpg)
Storage RAM
stores application data & databases persistent contains one or more storage heaps
![Page 7: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/7.jpg)
Heaps
header heap ID, status flags, heap size
master pointer table dynamically built with persistent handles maps location of each chunk
![Page 8: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/8.jpg)
Memory chunks
size: 1byte – ~64KB movable
referenced by handles location: beginning of heap defragmentation
fixed referenced by pointers location: end of heap
![Page 9: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/9.jpg)
Heap Structure
![Page 10: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/10.jpg)
File Systems
![Page 11: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/11.jpg)
Original File System
records & memory chunks database no hierarchy
simplicity vs. organization
Why did Palm take this approach and what problems could they run into?
![Page 12: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/12.jpg)
Expansion Card
VFS (Virtual File System) interfaces with other file systems
![Page 13: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/13.jpg)
New File System
NVFS (Non-volatile File System) Tungsten T5 and Treo 650
advantages non-volatile hierarchal file system
disadvantage slower fixed number of bytes
![Page 14: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/14.jpg)
Average File Size
![Page 15: Palm OS Frederick Penrose, Kevin Wong, and Hoan Do](https://reader035.vdocuments.net/reader035/viewer/2022062417/551b69ca550346a6148b4b9d/html5/thumbnails/15.jpg)
Demonstration