Re: Documentation for reading JES2
Gerhard Postpischil <[email protected]>
| Newsgroups | gmane.comp.emulators.turnkey-mvs |
|---|---|
| Message-ID | <[email protected]> |
On 3/12/2010 3:32 PM, scott wrote: > I have looked at the Q source code. Was wondering if there was some > document that talks about it to give some insight as to why and when > somethings were done. I haven't looked at Q, or JES2/HASP internals for a few decades, but the basic spool organization is based on disk block addressing by MTTR. M ranges from 0 to (max spool packs + checkpoint number), TT is the absolute track number on the volume (not as usual the track number in data set extents), and R the conventional record number. The checkpoint data set contain an image of the job queue (chain of $JQE elements, one per job, arranged by JES2 queue type), and the $JOT with $JOEs (job output elements, one per combination of print/punch characteristics [e.g., STD. form, PN, 6 LPI, Class). An individual job has a $JCT (or two during execution - one input, one output), then $IOTs containing $PDDBs (print/punch/input data sets; one or more per JES controlled DD). I/O is done with EXCP (Q may use BSAM, I don't remember). There are a few other blocks, but those are the basic ones. Additional ones reside in user address spaces and are not accessible to you (e.g., $SDB). In MVT, the fundamental control block is the $HCT, readable by all running tasks; it has the pointers to the various queues, counters, and other goodies. In MVS, the $HCT is in the JES2 address space, and not readable unless you schedule an SRB to extract information; links to the $HCT, etc. are in a new $SVT block. As far as I know, there is no available documentation on JES2 internals; I'm not even aware of anything for HASP, but I never looked for any. Your best bet is to assemble the modules in SYS1.HASPSRC (doubles as a macro library), start with HASPINIT, then HASPRDR, then HASPPRPU. Those should show you the basics of how job information is created and used. Gerhard Postpischil Bradford, VT