STAGE1
, in the jcl/stage1.jcl
file, is the job
that builds the jobs that build the OS. It's deceptively simple: the input is
a series of assembler macros that describe the hardware of the target system,
and the software that will be run on it. It also configures the operating
system itself. The macros generates a JCL deck on the dataset described by
the SYSPUNCH
DD statement. The supplied STAGE1
JCL
directs this output directly to the virtual card punch at address 00D. This
is fine in an environment like this, where nobody else is waiting to use the
punch; in a real shop, it would probably be directed to
SYSOUT
.
The first five macros configure the OS itself. They describe an OS/360
MVT system, built to run on a 370/158 CPU, with all of the available
features specified, most notably including TSO, RJE, the machine check
handler, and service aids like IMASPZAP
. Volumes are mounted at
IPL time by means of AVR (Automatic Volume Recognition). MCS (Multiple
Console Support) is included, with two normal consoles, the master at
address 0C0, and an alternate at 01F. No RDR, WTR, or INIT tasks will be
automatically started; HASP will perform those functions. Other parameters
specify the size of system queues, and timers, and other configuration
parameters.
The next set of macros, from DATAMGT
through
UCS
, specify the contents of the system libraries, and their
location. All of the access methods that apply to any of the devices
Hercules will emulate are included. The two UCS macros define the AN, PN,
and TN character sets for the 1403 printer, and the A11 and T11 character
sets for the 3211.
The next section of code specifies the compilers to be included in the system. The included compilers are ALGOL, COBOL E, ANS COBOL, FORTRAN G, FORTRAN H, PL/I F, and RPG; the F-level assembler is included; and the TSO FORTRAN and PL/1 syntax checkers are included. The language libraries are all included. Similarly, the F-level linkage editor is included, as the 128K version.
The CHANNEL
, IOCONTRL
, and
IODEVICE
macros describe the system's hardware configuration.
The target system as described here has 4 I/O channels, a byte multiplexor
channel at channel 0, and three block multiplexor channels at channels 1-3.
A 3505 card reader is defined at address 00C; a 3525 card punch at 00D;
a 1403-N1 printer at 00E; and a 3211 printer at 010. A total of 32 2314 disk
drives are defined, at 130-137 and 330-337. 32 3330 disk drives at 150-157,
160-167, 350-357, and 360-367 are defined, as well. Six 3420 tape drives are
defined, at 280-285. A 3215 printer-keyboard console is defined at 01F.
Finally, eight 3277 CRTs are defined at 0C0-0C7. The block multiplexer
channel at channel 7, and the I/O devices defined on that channel, are not
real devices, but rather virtual devices for communication between
OS/360 and HASP.
The UNITNAME
macros identify which devices are associated
with the SYSDA
, SYSSQ
, and TAPE
unit
names; SYSDA
points to all of the 2314s and 3330s,
SYSSQ
points to the 2314s, 3330s, and 3420s, and
TAPE
points to the 3420s. Like the devices on channel
7, the R
, A
, B
, and
INTRDR
unit names are for communication with HASP.
The last two macros, OUTPUT
and GENTSO
, control
the generation of the stage 2 jobstream. The OUTPUT
macro sets
all of the generated jobs to send their printed output to
SYSOUT
class A. The GENTSO
macro specifies the
name and location of the target system's datasets, and is the one that does
the actual generation of the stage 2 JCL. The PRINT NOGEN
statement tells the assembler not to print the card images generated by
GENTSO
on the printed output as well.
The STAGE1 job is run in the same way as the other jobs so far: point the
reader at jcl/stage1.jcl
, and let the RDR
task slurp
it in. It will take a couple of minutes to run, in comparison to the
previous jobs that all fiinished prettymuch instantaneously. If all goes
well, it should finish up normally. Look over the printed output to see that
it has no MNOTEs of severity greater than 0, and then go on to stage 2.
Up to table of contents Previous: Getting ready for stage 1 Next: Running the stage 2 sysgen
Last updated 10 February 2003