GEOS SDK TechDocs
|
|
|
1 Design Philosophy
Most disk-operating systems provide minimal file functionality. A file is simply treated as a sequence of bytes; applications can copy data from files to memory or vice versa, but nothing more elaborate. GEOS provides much more elaborate functionality with its
Virtual Memory
files.
Virtual Memory (VM) is very useful for two reasons. First, it is often impractical to read an entire disk file into contiguous memory; indeed, it is impossible to do so if the file is larger than 64K. The use of virtual memory allows each file to grow arbitrarily large. Second, each disk file is one long, cumbersome stream of data. By using virtual memory files, applications can break files down into smaller, more manageable blocks which the memory manager can handle more efficiently.
1 Design Philosophy
2 VM Structure
2.1 The VM Manager
2.2 VM Handles
2.3 Virtual Memory Blocks
2.4 VM File Attributes
3 Using Virtual Memory
3.1 How to Use VM
3.2 Opening or Creating a VM File
3.3 Changing VM File Attributes
3.4 Creating and Freeing Blocks
3.5 Attaching Memory Blocks
3.6 Accessing and Altering VM Blocks
3.7 VM Block Information
3.8 Updating and Saving Files
3.9 Closing Files
3.10 The VM File's Map Block
3.11 File-Access Synchronization
3.12 Other VM Utilities
4 VM Chains
4.1 Structure of a VM Chain
4.2 VM Chain Utilities
5 Huge Arrays
5.1 Structure of a Huge Array
5.2 Basic Huge Array Routines
5.3 Huge Array Utilities
GEOS SDK TechDocs
|
|
|
1 Design Philosophy