OS/360 on Hercules: Running the stage 1 sysgen


6. Running the stage 1 sysgen

6.1 A guided tour of STAGE1

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.

6.2 Running STAGE1

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


Jay Maynard, jmaynard@www.conmicro.cx

Last updated 10 February 2003