Sharing data in virtual storage (IARVSERV macro)

With the shared pages function, which is available through the IARVSERV macro, you can define virtual storage areas through which data can be shared by programs within or between address spaces or data spaces. Also, the type of storage access can be changed.

Sharing reduces the amount of processor storage required and the I/O necessary to support data applications that require access to the same data. For example, IARVSERV provides a way for a program running below 16 megabytes, in 24-bit addressing mode, to access data above 16 megabytes that it shares with 31-bit mode programs. IARVSERV allows the sharing of data without the central storage constraints and processor overhead of other existing methods of sharing data.

The sharing of data benefits many types of applications, because data is available to all sharing applications with no increase in storage usage. This function is useful for applications in either a sysplex environment or a single-system environment. Additionally, IARVSERV allows you to control whether a sharing program:
  • Has read access only
  • Has both read and write access and receives updates immediately
  • Can modify the data without modifying the original, and without allowing the sharing programs to view the updates
  • Can modify the original while sharing programs see the change, but without allowing the sharing programs to change the data
  • Can change the current storage access

An additional macro, IARR2V, is provided as an aid to converting central storage addresses to virtual storage addresses. See Converting a central to virtual storage address (IARR2V macro) for information on the IARR2V macro.

The IARVSERV topics described in this information are:
  • Understanding the concepts of sharing data with IARVSERV
  • Storage you can use with IARVSERV
  • Obtaining storage for the source and target
  • Defining storage for sharing data and access
  • Changing storage access
  • How to share and unshare data
  • Accessing data in a sharing group
  • Example of sharing storage with IARVSERV
  • Use with data-in-virtual (DIV macro)
  • Use with Page Services (PGSER macro)
  • Diagnosing problems with shared data

For coding information about the IARVSERV and IARR2V macros, see z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG.