Allocation of virtual I/O

Temporary data sets can be handled by a facility called virtual input/output (VIO). VIO data sets reside in the paging space; but, to the problem program and the access method, the data sets appear to reside on a direct access storage device.

You cannot use VIO for permanent data sets, VSAM data sets, or partitioned data sets extended (PDSEs).

VIO provides two advantages:

Only the job that creates a VIO data set has access to it to read and write data and to scratch the data set.

SMS manages a VIO data set if (1) you specify a storage classfor the data set with the STORCLAS parameter or (2) an installation-written automatic class selection (ACS) routine selects a storage class for the data set. An SMS-managed VIO data set requires that the assigned storage class supports VIO data sets. Check with your storage administrator.

Requesting VIO: To request a VIO data set, code a DD statement as follows:

The system will allocate a VIO data set request to actual direct access storage if the DD statement contains unacceptable parameters; however, if the primary quantity is too big, the system terminates the job.

Example 1:
//EX1  DD  UNIT=VIO
//EX2  DD  DSNAME=&&TEMPDS,UNIT=SYSDA
//EX3  DD  DSNAME=&&TEMPDS(MEM1),UNIT=VIRT3
//EX4  DD  DSNAME=&&MYDS,UNIT=VIO,SPACE=(360,(5,30)),
//      DISP=(,PASS),DCB=(RECFM=FB,LRECL=80,BLKSIZE=360)  

In these examples, the system assigned during system initialization the group names VIO, SYSDA, and VIRT3 as eligible for VIO processing.

Example 2:
//EXSMS DD  DSNAME=&&TEMP,STORCLAS=SCLASVIO  

In the example, EXSMS defines an SMS-managed VIO data set because the storage administrator has defined storage class SCLASVIO with support for VIO.