4. Issues the STACK macro to define the terminal as the primary source
of input. Most of the simulated supervisory as control blocks are contained in the
following two CMS control blocks: CMSCVT simulates the communication vector table (CVT). Location 16
contains the address of the CVT control section. CMSCB allocated fro. system free whenever a FILEDEF command or
an OPEN (SVC 19) is issued for a data set. The CMS control block
consists of the CMS file Control block (FCB) for the data file management under CMS, and simulation of the job file control
block (JFCB), input/output block (lOB), and data extent block
(DEB). The name of the data set is contained in the FCB, and is
obtained from the FILEDEF argument list, or from a predetermined
file name supplied by the processing problem program. CMS also utilizes portions of the supplied data control block (DCB) and
the data event control block (DECB). The TSO control blocks utilized
are the command program parameters list (CPPL), user profile table (UPT), protected step control block (PSCB), and environment control
table (ECT). CMS provides a nu.ber of routines to simulate certain operating system functions used by programs such as the Assembler and the FORTRAN and
PL/I compilers. Some of the SVC simulation routines are located in the
disk resident transient module DMSSVT. Whenever one of the SVC routines
in DMSSVT or is invoked, that routine is loaded into the transient area.
The following paragraphs describe how these simulation routines work. Writes and reads the source code spill file, SISUT1, during
language compilation for PL/I Optimizer and ANS COBOL Compilers. WAIT-SVC 1: Causes the active task to wait until one of more event control-blocks (BCBs) have been posted. For each specified BCB that has
been posted one is subtracted from the number of events specified in the WAIT macro. If the number of events is zero by the time the last ECB is control is returned to the user. If the number of events is not
zero after the last ECB is checked and the number of events is not
greater than the number of ECBs, the active task is put into a wait
state until enough ECBs are posted to set the number of events at zero. When the event count reaches zero the wait bits are turn off in any ECEs that have not been posted and control is returned to the user. If the number of events specified is greater than the number of ECBs the system abnormally terminates with an error message. All options of WAIT are
supported. Causes the specified event control block (ECB) to be set to
indicate the occurrence of an event. This event satisfies the
requirements of a WAIT macro instruction. All options of POST are
supported. The bits in the ECB are set as follows: !!,!! o 0 1 1
2-7 Value of specified completion code
2-124 IBM VM/370 System Logic and program Determination--Volume 2
EXIT-SVC 3: This SiC is for CMS internal use only. It is used by the CMS--routIne DMSSLN to acquire an SVC SAVEAREA on return fron an
executing program that had been given control by LINK (SVC 6), XTCL (SVC 7) or ATTACH (SiC 42). Control is passed to the GETMAIN entry point in the storage resident routine. The mode is determined: VU, VC, EC. A call is made to GETBLK to obtain the block of storage. Control blocks
of two fullwcrds precede each section of available storage: (1) the
address of the next block, (2) the size of this block. The head of the
pointer string is located at the words MAINSTRt.- initial free block,
and MAINLIST - address of first link in chain cf free block pointers.
All options of GETMAIN are supported. Releases a block of free storage. If the block is part
of segmented storage, a control bl?ck of two full words is placed at the
beginning of the released area. Adjustment is made to include this
block in the chain of available areas. All options of FREE MAIN are
supported. Program transfer is controlled by the nucleus routine, DMSSLN. The LINK macro causes program contrel to be passed to a
designated phase. If the COMPSWT bit within the byte OSSFLAGS is on,
loading is done by calling LOADMOD to bring a CMS MODULE file into storagee If this flag is off, dynamic loading is initiated by calling LOAD. A GETMAIN is issued to obtain enough storage so that the loader (DMSLDR) may relocate the phase. in storage. A chain of link request
blocks is built to record the old SiC PSi, and the location and size of
the phase storage area. If the routine is already in storage,
determined by scanning the load request chain, no LOAD or LOADMOD is
done. Control is passed directly to the routine. CMS ignores the DCB and HIARCHY options; all other options of LINK are supported. XCTL first deletes the current phase from storage.
Processing then continues as for LINK-SVC 6, as previously described. CMS ignores The DCB and HIARCHY options; all other options of XCTL are
supported. LOAD-SVC 8: Control is passed to DMSSLN8 located in DMSSLN when a LOAD macro-is-issued. If the requested phase is not in storage, a LOAD or LOADMOD is issued to brLng it in. Control is then returned to the
caller. eMS the DCB and HIARCHY options; all other options of LOAD are supported. Control is passed to located in DMSSLN when a
DELETE macro is issued. Upon entry, DELETE checks to see whether the
.odule specified was loaded using LOADMOD or dynamically loaded by LOAD or INCLUDE. If it was loaded by LOADMOD control is returned to the
user. If it was dynamically loaded, the responsibility count is
decremented by one and if it reaches zero, the storage is released using PREEMAIN, and centrol is returned to the All options of DELETE
are supported. Code 4 is returned in register 15 if the phase is not
found. Control is passed to the SVC 10 entry point in DMSSMN. Storage management is analogous to SVC 4 and 5, respectively.
All options of GETMAIN and FREEMAIN are supported. Subpool specifications are ignored. CMS Method of Operation and program Organization 2-125
Previous Page Next Page