Label
READ
READCARD
REREAD
RET1 SCANACCO SCANALLO SCAN CARD SCANCONS SCANCTCA SCAN DEDI SCAN DIRE SCANIPL SCANLINK SCANMDIS SCANNAME SCANOPTI SCAN SPEC SCANSPOO SCAN USER SCAN1 SCAN2311 SCAN2540 SCAN2701 SCAN2702 SCAN2703 STARTIO STATE STOREADD TERM TESTBUFF TESTUDEY UPDATE UPDATECT WRITE Diagram
4-1
4-2
4-2
4-5
4-4
4-4
4-3
4-4
4-4
4-4
4-2
4-2
4-4
4-2
4-4
4-3
4-2
4-2
4-4
4-4
4-4
4-1
4-1
4-1
4-1 Description Reads control statements and branches to appropriate processing
routine.
Reads control statements. Sets up pointer to control statement read buffer. Scans control statements. ACCOUNT statement processing routine.
Builds allocation record. Scans the control statement for the next operand. CONSOLE statement processing routine. Updates the UDEYBLOK and chains the control unit to the UDEYELOK for channel-to-channel adapters.
DEDICATE statement processing routine. DIRECTORY statement processing routine. IPL statement processing routine.
LINK statement processing routine. MDISK statement processing routine. Scans the name table until a match is found. Register 4 points
to the name table. If the name field is a constant,
it is put in the UDEYBLOK. If the name field is an address,
control is passed to that address. OPTION statement processing routine. SPECIAL statement processing routine. SPOOL statement processing routine. USER statement processing routine. Points register 4 to TAEL!1, then branches and links to SCANNAME routine to determine the appropriate control statement
processing routine. Updates the UDEYBLOK for 2311 disks. Updates the UDEVBLOK for 2540 devices. Updates the UDEVBLOK for 2701 devices. Updates the UDEVBLOK for 2102 devices. Updates the UDEYBLOK for 2103 devices.
Reads the input control statements if the directory program is
not running under CMS. Checks that control statement file exists. Sets the DIRFLAG to X'20' to indicate edit, if EDIT is specified
when the Directory program is run standalone.
At end of processing, returns control to CMS if running under YM/370. Tests to see if UDEYBLOK was used.
Gets D1SD address of UMACELOK. Points to next UDEVBLOK. Updates device count in UMACBLOK. writes the directory on I!SD. Figure 4-2. The Directory Program Label Directory (Part 2 of 2) 90 IBM VM/370 Service Routines Program Logic
,
Data Areas
The directory exists on disk as 4K (page
size) records. The VOL1 label (cylinder 0 track 0 record 3), on the volume containing
the directory, points to the directory. The
directory starts with the first available
record.
The first UDIRBLOK is a dummy UDIRBLOK. Its UDIRDISP field points to the last UDIRBLOK in that record. The UDIRDASD field
peints to the next UDIR record, or, if it
is the last record, it contains zeros. The second UDIRBLOK in the first record points
to the UMACBLOK for that user, located in
the second record. In turn, the UMACBLOK points to the first UDEVBLOK for that user.
It is the second block in the second
record. The last UDEVBLOK for this user has
a pointer of all zeros. The directory entry for the second user
consists of a UDIRBLOK in the first record
and associated UMACBLOK, and UDEVBLOKs in
the second record. When a record becomes full, the chain continues into the next available record. When the directory is created, all UDIRBLOKs are grouped 169 blocks per
record. The UMACBLOK and UDEVBLOKs are
sequentially chained into a separate
record. If the record becomes full before
the end of the chain, the chain overflows
into the next available record.
The formula to find the number of records is: NO «BU+RM) X2) +ND + --------------
= NR
169 170 NU is the number of user records. NM is the number of MDISK describing a v irtual disk
T-!isk) cards
(net ND is the total number of MDISK (describing T-Disk sFace), SPOOL, LINK, SPECIAL, CCNSCLE, and DEDICATE
cards ;;; DR is the total number of records used.
To find the number of cylinders, divide
the total number of records by 32 for 2314/2319 devices, by 57 for 3330 series devices, or by 24 for 3340 and 2305 series
devices. To ensure that a new directory
will not overlap an existing directory,
allow space for two directories or allocate
a new directory each tile the directory is created.
The following data areas are used by the
directory program: The UD!VBLOK (user device block), built
in the UDEVBLOK or UeACELCK buffer. The urIRBLOK (user directory block),
built in the DIRBLOK buffer. The UMACBLOK (user machine block), built
in the UMACBLCK buffer.
These data areas, as well as a figure
showing the user directery fermat and
relationship of the above blocks,
described in the ltV37.Q ]!!! £2!tt;Q! ck§ ic Chapter q. tMKDIR--The Directcry program the are !l!.Q n1 J ,
Previous Page Next Page