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:
*CHK
to 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
).*S2L
to 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.*CLN
to clean out old system check files*CMD
to start writing command statistics to buffers.*FSM
which sets things up for file backup jobs*STI
to 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:
*CLK
to start the job scheduling program*TPR
which I believe is part of the tape cataloguing system*MGR
which manages email*TCM
and*FTP SERV
which 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.