is an explicit request. If a separate module is requested, then the additional virtual storage requirement is implicit in that request.

The MVS GETMAIN macro is an explicit request for additional virtual storage. You can use GETMAIN to obtain a single block or multiple blocks of virtual storage. You can specify either a fixed or variable amount of virtual storage. At execution time, the macro provides information to indicate whether the virtual storage is obtained, and also to pass the address of the beginning of the block and its size (where variable block sizes are specified). Further points should be mentioned relating to explicit virtual storage requests.

1.Under MVS, you cannot take available virtual storage within an address space. MVS must allocate the virtual storage through the GETMAIN macro to the load module, even though the unused virtual storage is within the boundaries of the address space. The task will abnormally terminate if you attempt to reference unallocated virtual storage.

2.Although the allocation of blocks of virtual storage must be from within the address space, they are not necessarily contiguous.

To dynamically call modules into available virtual storage (make an implicit request), you should use the set of macros associated with dynamic program structure. When you use these macros, MVS automatically examines available virtual storage and loads the module into an open area.

13.2.1.4 Communications Region Simulation

A COMRG macro can be written to build an area similar to the VSE communication region and return the address of this area in register 1.

If your program is not going to use this information immediately, you should load the address from register 1 into another register (2-12), or store the address into a fullword in your program. This macro can obtain variable data to simulate the communications region layout in some of the following ways:

MVS data can be communicated to a program by means of the PARM field of the EXEC statement. When control passes to your program from MVS, register 1 contains the address of a fullword on a fullword boundary in your area of virtual storage. The high order bit (bit 0) of this word is set to one. The low-order three bytes of the fullword contain the address of a two-byte length field on a halfword boundary. The length field contains a binary count of the number of bytes in the PARM field, which immediately follows the length field. If you omitted the PARM field in the EXEC statement, the count is set to zero.

Note that if you specify numbers in the PARM parameter, they are translated into decimal digits. If you specify PARM=101, the PARM field is xF1F0F1′.

Data supplied in this manner is available for the duration of a single job step. If multiple job steps within a job require the data, the PARM field must be specified in each EXEC card or propagated through all EXEC cards in a job through procedure variables.

A routine is needed to return a bit string to the byte associated with the external name UPSI. If an assembler program uses the COMRG macro and references only date, UPSI and job name as data, then no logic changes are required with this approach.

If you use the COND parameter of the EXEC card (instead of UPSI switches) to control job flow, then the UPSI tests can be simply removed from your

276VSE to OS/390 Migration Workbook

Page 300
Image 300
IBM OS/390 manual Communications Region Simulation

OS/390 specifications

IBM OS/390, a versatile operating system, was a cornerstone in enterprise environments and played a pivotal role in mainframe computing. Released in the mid-1990s, OS/390 combined the strengths of IBM's MVS (Multiple Virtual Storage) with new features and enhancements, targeting scalability, reliability, and performance in demanding business applications.

One of the key features of OS/390 was its robust support for multiple users and processes. The system allowed thousands of concurrent users to access applications and data, ensuring high availability and minimizing downtime—a critical requirement for many large organizations. This scalability was supported through various enhancements in memory management and processor scheduling, enabling optimal resource allocation across diverse workloads.

OS/390 was known for its superior workload management capabilities. The Workload Manager (WLM) component allowed administrators to define service policies, specifying how system resources would be allocated according to the priority of tasks. This ensured that critical business processes received the necessary resources while less critical tasks were managed more flexibly.

Another significant characteristic of OS/390 was its commitment to security. The operating system provided comprehensive security features, including user authentication, data encryption, and auditing capabilities. This focus on security was vital for organizations handling sensitive data, ensuring compliance with regulations and safeguarding against unauthorized access.

OS/390 also supported advanced technologies that facilitated integration and development. The system included features like the IBM CICS (Customer Information Control System) for transaction processing and IMS (Information Management System) for database management. These technologies allowed organizations to build robust, high-performance applications tailored to specific business needs.

The ease of network integration was another strength of OS/390. With the advent of the Internet and global connectivity, OS/390 systems could easily interface with various network protocols, enabling businesses to operate in a connected world. This inclusion paved the way for many organizations to expand their capabilities and offer new services, driving digital transformation.

In conclusion, IBM OS/390 represented a significant advancement in mainframe technology, combining scalability, security, and robust workload management. Its rich feature set and support for critical enterprise applications solidified its role as a vital component of many organizations' IT infrastructures, ensuring they could meet their operational challenges head-on while supporting future growth. As technology continues to evolve, the legacy of OS/390 remains influential in the realm of computing.