Among the primary responsibilities of a VSE systems programmer or technician is managing and allocating virtual storage. In doing this, we’re improving resource usage, enabling new or expanded applications, and maintaining or improving performance. As we add or enhance VSE applications, the VSE technician often must re-adjust virtual storage to accommodate those changes.
Areas to deal with are VSE partitions (static and dynamic), supervisor storage, 24-bit shared storage, and 31-bit shared storage. Using the VSE/ESA system (Release 2.6) as delivered to the user, let’s understand what we have as a starting point and how we can manipulate virtual storage to advantage.
Storage Displays and Maps
The storage maps were put together using the VSE MAP (see Figure 1) and FAQS MAP SYSTEM (see Figure 2) commands. Using information in the commands to assemble a visual map of storage helps locate items referenced in the IPL/JCL procedures and visualize some important boundaries.
Boundary 1 in Figure 3 is the beginning of the 24-bit partition address space at 500000 hex. Items below this line are typically VSE OS-related and common to all address spaces. The options we’ve selected in the VSE supervisor, the $IPL procedure and $0JCL procedure, determine the size of this 24-bit shared area and much of what it contains. The addresses of this area are 0 through 4FFFFF.
Boundary 2 in Figure 4 is the end of 31-bit partition address space at 36FFFFF. Items above this line are VSE OS-related and common to all address spaces. Options we’ve selected in the VSE supervisor, the $IPL procedure and $0JCL procedure, determine the end of partition address space and the beginning of this 31-bit shared area and much of what it contains. The addresses are 3700000 through 44FFFFF.
By definition, what’s between these areas — address 500000 through 36FFFFF — can be allocated to partitions and used by them. So the largest partition that can exist in this system is 3200000 (hex) or 50M (decimal). That’s what was specified in the $IPL procedure for PASIZE (Figure 7, SYS command).
Boundary 3 is the 16-megabyte line (see Figures 3 and 4). This line is at the maximum storage address a 24-bit (3-byte) program can access, 0 through FFFFFF. In this system, there are 11 megabytes of 24-bit partition storage per address space, 500000 through FFFFFF. Addressing addresses above FFFFFF requires programs with 31-bit support (i.e., 4-byte, FFFFFFFF).
Partition storage is considered as unshared storage, so each partition has its own unique area. This system also has been defined with each partition having its own unique address space, which is typical and recommended, although not required. So the addresses in all the partitions will be the same, starting at 500000 and ending not higher than 36FFFFF. Since each partition has its own address space, we have partition address integrity.