OS/360 (PCP, MFT, MVT), the predecessors to MVS, and OS/390, specified Job Control Language but when JCL was needed for BOS and TOS, a much smaller implementation was required. Different JCL philosophies developed from this background.

4.1.1 VSE/ESAs Job Control Language Philosophy

Within the VSE/ESA philosophy for Job Control Language, several concepts are required:

A Job Stream describes the concept of a single job or a sequence of jobs which must follow each other in sequence. These will run in a single address space or partition of the VSE/ESA system. They are delimited by ²Job Entry Control Language², or JECL, which is interpreted by the VSE job spooling subsystem, POWER.

Generally, sequencing of job streams is performed by the operator or by a job scheduling subsystem.

A Job describes the concept of one or more job steps which relate the sequence of programs to be executed, together with the files and other system resources those job steps require for their successful execution. A job can be composed of one or more steps.

Each job will have a known system initial state in terms of system resources, and at the end of the job, those resource assignments will be reset to their initial conditions. Thus, well-formed jobs can run independently with the exception of any input or output data files that they use.

Execution of job steps is generally sequential, but the VSE conditional JCL facilities permit status checking and conditional or absolute GOTO capabilities, thus a given job will be able to modify its own processing sequence depending on results from earlier steps in that job.

A Job Step is the smallest unit of job control from a scheduling perspective. Job steps receive the state as established by their predecessor steps, in terms of system resource assignment. Job steps are, for practical purposes, an instance of the execution of a single program, and specify the system resources needed by that program. They can affect resource assignment and state variables such as condition codes and parameter values for successor job steps, as well.

VSE Job Control is processed as job steps are executed. That is, no VSE system functions preprocess job control statements for syntax or resource availability checking before the actual execution of the statements. In addition, VSE provides for standard resource assignments and file definitions through the concepts implemented as ²Permanent ASSGNs² and ²Standard Labels², which can be used by any job or step without any specific inclusion in the JCL defining that job or step. These capabilities make VSE JCL less complex to code, but more complex to understand, as it is interpreted at step execution time in the context of the permanent ASSGN and standard label environment in place at that time.

4.1.2 OS/390s Job Control Philosophy

The concept of a job stream, that is a collection of related jobs, does not exist in OS/390 and JES2. If a group of jobs is to flow in a particular sequence, you can create a single new job with the same sequence of job steps. You can also use a job scheduling product such as OPC which can control the flow and sequencing of multiple jobs.

70VSE to OS/390 Migration Workbook

Page 94
Image 94
IBM manual 1 VSE/ESA′s Job Control Language Philosophy, 2 OS/390′s Job Control Philosophy

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.