z/VSE option to access virtual storage
Ingolf24 120000DRN3 Visits (1101)
Today I want to talk about the z/VSE options you have to access virtual storage.
From a one address space system with up to 16 MB (megabyte) virtual storage, VSE grew to an environment with multiple address spaces of up to 16 MB each. In 1990 each partition had it's own address space. In 1993 we extended the address spaces to 2 GB (31 bit addressing). At the same time we introduced data spaces, which provide additional spaces of up to 2 GB. Since 2011 - with z/VSE 5.1 - programs may access virtual storage larger than 2 GB (gigabyte).
Old programs and at least the program called with the JCL EXEC card still depend on 24 bit virtual storage (below the 16 MB line). Programs may be loaded in or switch into 31 bit mode (AMODE 31) to access storage of up to 2 GB. You may use system services (GETMAIN, GETVIS, STORAGE) to allocate additional virtual storage in address spaces or system services (DSPSERV / ALESERV) to allocate additional data spaces and use access registers to identify a data space. E.g. CICS data tables may be allocated in data spaces. With data spaces you may separate programs from data or they provide better sharing between partitions.
Within an address space you may allocate chunks of 64 bit virtual storage (private memory objects - via IARV64 services) for data above 2 GB (above the bar). You may also allocate shared memory objects above the bar for sharing data between partitions. If the memory object is allocated, you just need to switch into 64 bit addressing mode (AMODE 64) to access the data.
That is z/VSE has lots of options to exploit virtual storage and keep data in memory, which avoids or reduces I/O and therefore may give a better CPU exploitation and improved elapse times.
More information on virtual storage is in the z/VSE Extend Addressability book. You can download it from our documentation page.