System start-up in more detail
Front panel of an IBM S/360 mainframe, from ookaboo.com. License: CC BY 2.0
This post is a more detailed look at what happens at system start-up in MTS - it’s useful to know what job is printing what messages in case something goes wrong, and also as a step towards further customisation of your MTS system.
Most of this was put together by reading the job programs and config files referenced by the Operator’s manual: if I’ve omitted or misunderstood anything please let me know in the comments and I’ll update this post.
IPL
When you start the IPL process by typing ipl 260 on the Hercules console, the system will load IPLBOOT from a special area on the disk drive on device 260, which will in turn load UMLOAD and then IPLREAD.
IPLREAD will give the familiar prompt
Do you wish to run the current system? (YES or NO).
Typing yes at this point will cause the system to load the file *IPL.0 and then execute it.
Typing no will drop you into the command line for IPLREAD: here you can examine or change memory, or choose a different system to load. RAMROD keeps the last 3 versions of the system in *IPL.1, *IPL.2 etc, so if there was something wrong with your last change to the system you could boot the previous version with the commands
LOAD NAME=*IPL.1
START
INIT
The system will then configure itself and start the INIT job, which will print:
Time and date have been set to ...
and will start the OPER and DMGR jobs which manage the operator’s console and disk respectively.
MTS INIT
The system will then run a MTS task as user INIT, running commands from the file INIT:INITCMD. This will print the system name and prompt for the reason for rebooting, which will be written to file INIT:REASON; history of all reboots can be found in INIT:RELOADLOG.
It will then start the PDP (Paging Drum Processor) and a number of operator jobs:
*CHKto display a list of offline devices for the operator to check (the distribution comes with a number of disk devices defined, but you only need one on Hercules, so this can be ignored by pressingPA2).*S2Lto load shared components into memory, eg the editor; this will invoke the Named Address Loader*NAL. I think this also prints the PEEK initialization messages.*CLNto clean out old system check files*CMDto start writing command statistics to buffers.*FSMwhich sets things up for file backup jobs*STIto check the statistics file
It will also clean out any temporary files left after an unexpected reboot and start the system status display at the top of the operator’s console.
Basic start-up is now complete.
HASP
Next, the operator would start up the spooler by running HASP, and the HASP initialisation jobs MTS *HSP. The latter reads commands from STRT:HSP which defines which devices should be started:
O $START MORE RDR1
O $START PCH1
O $START TN PTR2
LAS
The penultimate step is to ’let out the lines’ by running MTS *LAS. This reads commands from STRT:LAS. It will start MTS on each of the configured terminal devices with MTS DS02 … MTS DS05. It will then run the following operator jobs:
*CLKto start the job scheduling program*TPRwhich I believe is part of the tape cataloguing system*MGRwhich manages email*TCMand*FTP SERVwhich refer to network services we don’t have on Hercules.
Finally, start batch job processing again with the HASP command $release ex.
Further information
The Operator’s manual has further information on the start up process and many of the operator jobs.
On the distribution tapes, Component 816 has documentation on Clockwatcher.