Annotation of os232sdk/toolkt20/c/samples/vmm/descrip.txt, revision 1.1.1.1

1.1       root        1: VMM Description
                      2: ---------------
                      3: 
                      4: This application demonstrates some of the basic components
                      5: of the new memory API for OS/2 2.0. Using the
                      6: system-defined page size of 4096 bytes, this application
                      7: gives the developer a visual representation of what is
                      8: happening inside the machine when they use the API's.
                      9: 
                     10: It is written with the following objective:
                     11: 
                     12: 
                     13:     To demonstrate the use of the basic memory management
                     14:     API's available to developers in OS/2 2.0. This is done
                     15:     with the use of visual aid in the form of pages on the
                     16:     screen with their attributes included.
                     17: 
                     18: To use the VMM application, the user must issue the "VMM"
                     19: command at the screen prompt.
                     20: 
                     21: The user is presented with a blank screen, with the
                     22: exception of the menus. To use VMM, the user must first
                     23: select "Allocate" from the VMM menu. This will allow the
                     24: user to allocate "n" bytes of memory (decimal) and set
                     25: the appropriate attributes for the memory that they wish
                     26: to allocate. Each allocation is rounded up (by the
                     27: system) to the next page size (4096 bytes per page), and
                     28: that many pages are allocated to the user.
                     29: 
                     30: After allocating memory, the user can commit (if not
                     31: already committed) or decommit the memory using the "Set
                     32: Memory Attributes" menu selection. Pages that are
                     33: displayed in green are committed, while those displayed in
                     34: red are not.
                     35: 
                     36: Other attributes (such as read, write, execute, and guard
                     37: page) may also be set for committed pages using the "Set
                     38: Memory Attributes" menu selection.
                     39: 
                     40: For committed pages with the write capability set, the
                     41: user may put text into the memory bytes using the "Write
                     42: Memory" menu selection. The user simply enters the
                     43: address (hexadecimal) and the text they wish to write
                     44: into memory.
                     45: 
                     46: To read the data stored in a particular memory location,
                     47: use the "Read" command and enter the corresponding address
                     48: into the dialog box entry field. Data will be read from
                     49: the memory location specified up to the first null
                     50: character. The data is displayed in a dialog box.
                     51: 
                     52: To free up memory, the user needs to choose "Free Memory"
                     53: from the menu. The address of a base page is the only
                     54: address that is allowed to be freed. Any freeing of a
                     55: non-base address will result in an "invalid address"
                     56: error message.
                     57: 
                     58: APIs FEATURED:
                     59: 
                     60: DosAllocMem
                     61: DosError
                     62: DosFreeMem
                     63: DosQueryMem
                     64: DosSetExceptionHandler
                     65: DosSetMem

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.