All computers need to be booted. For Windows and *NIX systems, booting a system is as simple as turning on the power in the computer. The system boots up and it starts tasks and other startup programs defined.
MVS also needs to be booted. The process for booting a MVS system is called Initial Program Load or IPL.
When you start up your Windows or *NIX systems, you specify which drive you want to boot from. For Windows or Linux systems, you normally specify this on the BIOS. Since mainframes can have literally hundreds of DASD volumes, you need to specify the boot volume when you do the IPL process.
During IPL, MVS can preload frequently used programs to memory so that these can be executed quickly when needed. These programs are loaded to an area called the Link Pack Area (LPA). This is done so that the programs will be readily available and do not need to be read and loaded to memory every time these are needed.
A master JCL is started during the IPL process.
In MVS, you can also define something similar to default PATH in *NIX and Windows. This is called the link list. In MVS, you specify where the program for the step is located in the STEPLIB DDName. The link list contains a list of partitioned data sets (PDS) that MVS will search if the program is not found in the STEPLIB.
Master Console
MVS systems require a master console. Operators use the master console to IPL the system. Operators can use the master console to override default IPL parameters.
MVS was designed to allow for multiprocessing. There can be hundreds of jobs or system tasks running at any one time. Resources need to be managed efficiently. This requires a centralized place to monitor all processes within the system.
Messages within the system are displayed on a console. Examples of messages include jobs that are starting and ending; system tasks started and ending; tape mount requests; paper form mount requests; events within the system. All these messages are logged to a file called a SYSLOG in MVS. This is similar to the syslog in *NIX systems. Operators monitor the console and respond to requests displayed on the console.
Events like tape mounts, requests from jobs, printer requests and any manual interventions or error messages are displayed on system consoles. Started tasks are also started through a console.
Started Tasks
MVS has started tasks. Like batch jobs, started tasks require JCL. However, unlike batch jobs, started tasks are not submitted by a user. Operators start a system task through the console. System tasks execute immediately when they are started from the console.
Examples of system tasks are database systems like DB2; online transaction processing systems like IMS and CICS. The Job Entry Subsystem (JES2) is also a started task.
Job Entry Subsystem (JES)
As mentioned in my previous article (Mainframe Batch Processing: What is Job Control Language), the Job Entry Subsystem for z/OS is called JES2. JES2 is responsible for reading JCL from jobs, putting these jobs on input queues, scheduling and initiating these and spooling their printouts to the output queue.
Jobs in MVS are given classes and priorities. JES2 uses these classes to schedule the execution of the jobs through initiators. Initiators are needed for jobs to execute. Initiators are assigned classes that they can process. There can be several initiators in a system. Once an initiator is available, it checks the input queue for jobs within the classes that it processes and sorts them by priority. Jobs with higher priorities are initiated ahead of those with lower priorities.
Once the initiator has initiated the job, it prepares the execution of the steps within the job. The Initiator prepares the datasets used by the program within the job. Basically, it connects the data set specified in the JCL to the DDName. The initiator is responsible for requesting tape mounts or searching the catalog to find where the file resides. Once the files had been allocated, control is passed to the program.
In MVS, files can also be instreamed in the JCL. The records of these files are 80 bytes in length.
Since there are normally more than one job running at one time, printouts cannot be sent directly to printers. Requests to print are sent to JES2 which spools these outputs. Once a printer is available, JES2 will read the output from the spool and print the report.
Further Reading
If you want to learn more about MVS initialization, please read the MVS Initialization and Tuning Guide from IBM. If you are feeling adventurous, you can try installing MVS Turnkey on your PC or Linux installation to get a feel of how MVS works. MVS Turnkey is an actual MVS 3.8 system. With it, you can actually IPL an MVS system on your PC or Linux system.
The pictures in this article are taken from MVS Turnkey. It shows the screen at IPL. The second screen shows an example of the console. It shows events within MVS. The third screen shows the DASD that are online (available) at that time.
Join the Conversation