Uses for Data Spaces
Certain applications require vast amounts of storage to work efficiently. One such class of applications includes databases, which can map an entire data structure into storage at one time rather than overlaying data or explicitly managing I/O. Another class of applications requires large storage buffers, which now can reside outside the virtual machine's primary address space. The graphic representation of three-dimensional objects, image processing, and numerically-intensive computation all require such large storage areas.
How can data space support be exploited by user applications or program products executing on CMS?
- Obtain more storage than is available in its virtual machine's primary address space
- Isolate data from other programs that may execute in the same virtual machine
- Share data located in a data space among programs executing in the same or other virtual machines
- Isolate data by its particular usage and then share that data only among related users (this is an alternative to using a common area that may contain data for various usage)
- Share data located in its virtual machine primary address space with programs executing in other virtual machines.
Minidisk caching should be turned off for minidisks that are read and written only by MAPMDISK and the corresponding data space. Minidisks that are read and written by a combination of data space access (or MAPMDISK) and virtual I/O (DIAGNOSE and channel program) should be evaluated on an individual basis to determine if minidisk caching should remain enabled.
To reference data in a data space directly, the program must be in AR mode. When in this mode, assembler instructions (such as load, store, and move character) can move data in and out of a data space and manipulate data within it. Assembler instructions can also perform arithmetic operations on the data.