Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Mapping a data-in-virtual object to a data space z/OS MVS Programming: Extended Addressability Guide SA23-1394-00 |
|||||||||||
Through data-in-virtual, your program can map a data-in-virtual object to a data space. The data-in-virtual object must be a VSAM linear data set. Use DIV macros to set up the relationship between the object and the data space. Setting up the relationship between the object and the data space is called "mapping". In this case, the virtual storage area through which you view the object (called the "window") is in the data space. The STOKEN parameter on the DIV MAP macro identifies the data space. The task that issues the DIV IDENTIFY owns the pointers and structures associated with the ID that DIV returns. Any program can use DIV IDENTIFY; however, the system checks the authority of programs that try to use subsequent DIV services for the same ID. For problem state programs with PSW key 8 - F, data-in-virtual allows only the issuer of the DIV IDENTIFY to use other DIV services for the ID. That means, for example, that if a problem state program with PSW key 8 issues the DIV IDENTIFY, another problem state program with PSW key 8 cannot issue DIV MAP for the same ID. The issuer of DIV IDENTIFY can use DIV MAP to map a VSAM linear data set to a data space window, providing the program owns the data space. Supervisor state programs or problem state programs with PSW key 0 - 7 (called "authorized programs" in this section) can issue DIV IDENTIFY and then have subtasks of that task use the DIV services (except the ACCESS service) for the same ID. The subtasks must also be authorized. This means that an authorized program can issue a DIV IDENTIFY and an authorized subtask can issue the DIV MAP for that ID. Table 1 shows what data-in-virtual requires of the tasks that represent the authorized programs that issue the DIV macros. The table does not show the IDENTIFY service because data-in-virtual does not have restrictions on this service.
Your program can map one data-in-virtual object into more than one data space. Or, it can map several data-in-virtual objects within a single data space. In this way, data spaces can provide large reference areas available to your program. Example of Mapping a Data-in-Virtual Object to a Data Space Figure 1 shows a data-in-virtual object mapped into a data space. The "window" is the entire data space. Figure 1. Example of Mapping a Data-in-Virtual Object
to a Data Space
The following example maps a data-in-virtual object into the data
space illustrated in Figure 1. The size
of the data space is 10 megabytes, or 2560 blocks. (A block is 4K
bytes.)
See the section on data-in-virtual in z/OS MVS Programming: Assembler Services Guide for more help in using data spaces with data-in-virtual. |
Copyright IBM Corporation 1990, 2014
|