DMKPSA, Exit to dispatcher, if there is no logged-on operator, or the
operator is disconnected, or there is no active terminal. If the
operator was logged on and the external interruption key was pressed,
disconnect the operator's terminal.
DKKQCNCL
Clear all console requests. DMKSCNRD ----If-the device is a terminal or graphic device, issue HIO to the real
device. DMKDSPCH the dispatcher. QKKPSA, For 3704/3705, convert resource identifier for the NCP terminal for
the indexable entry into the NICBLOK for the associated VMBLOK, then
DMKRNHND ---aeset all BTUs. DMKDSPCH - Exit-to the dispatcher. !2MKPSA, Upon location X'80' timer interruption, indicate the user end of the time slice by storing flag in the VMBLOK's VKOSTAT. If the system lock is held or is available, exit to the main entry of
the dispatcher, DMKDSPCH. Otherwise, exit to DKKDSPRU. Upon processor timer interruption, VMTLEVEL in VKBLOK as a real
processor timer interruption. DMKTKRVT ---Simulate the interruption. If the system lock is held or is available, exit to the .ain entry of
the dispatcher, DMKDSPCH. Otherwise, exit to DMKDSPRU. DMKPSA, EXTCKC ---Upon clock-comparator interruption reflection Use the printer to unchain the active TRQBLOK. Call DMKSTKIO. DMKSTKIO ---Stack the block. DMKDSPCH, DMKDSPRU system-lock is held or is available, exit to the main entry of
the dispatcher, DMKDSPCH. Otherwise, exit to DMKDSPRU. MONITOR INTERRUPTION PROCESSING DMKKOR VM Monitor data collection component uses both sample and trace
techniques. Selected system counters are sampled by routines entered
periodically via TRQBLOK •. Selected events are traced upon execution
via monitor call instructions embedded at strategic points in the
control program. DMKMORTI ---riQBLOK gives control here every 60 seconds (unless specified
otherwise with the MONITOR INTERVAL command), and a new TRQBLOK is immediately stacked via call to DMKSCHST, to request a return to the same entry point 60 seconds later. Control register 8 monitor mask is used to determine which of the three sampled data classes (PERFORM, USER, DASTAP) are enabled. Appropriate counters are
sa.pled using special subroutines for each class and the data is
stored in the monitor buffers. Upon completion, goes to dispatcher. CP Method of Operation and Program Organization 1-185
1
4 0 6 0,1 DMKENTTI Data Items Collected Softvare--ana--hardware utilization, contention,
activity counters
Corresponding items for APU VMBLOK user resource consumption and status DASD and tape activity counters
and
-- Entered via TRQBLOK every two seconds (unless specified otherwise
with the MONITOR INTERVAL command). A new TRQBLOK is i.mediately
stacked via a call to DMKSCHST to specify return of control to the
same entry point two seconds later. This subroutine is a high
frequency (relative to the PERFORM, USER, DASTAP sa.pler) I/O status
sampler. All channels are tested for a busy condition with a TCH instruction. All control units and devices are tested for a busy
condition by examining the appropriate CP control blocks. The data
obtained is accumulated for later sampling by the DASTAP class of
data collection in a class 6 (DASTAP) code 2 (I/O status) record.
The subroutine DMKENT62 performs this collection after the standard
class 6 (DASTAP) code 1 record has been collected by MONCOD61 in DMKMONTI. DMKMONMI from DMKPRG after a monitor call in a class currently enabled
(as defined in CR 8 mask) has been executed by CP in supervisor
state. The .onitor call instruction number and code number stored by
the hardware in the PSA are used to index branch tables to reach the
appropriate data collection routines. As necessary, the data is
stored in the monitor I/O buffers before output. Upon completion, control returns to instruction after monitor call.
Class ---1- 0 1
2
3
2 2
3
4
5 0 7 0 8 0 DMKMONPR Begin console read
Console output
End console read
Console sleep User dropped from queue User added to queue User added to eligible list
privileged instruction being simulated SIO for DASD SEEK
Add queue, drop queue more detailed
consuaption data
resource collection subroutines use a common buffer management subroutine to obtain sufficient space in the monitor buffers. When not enough space is available, a switch is made to the next buffer in
the chain and the full buffer is scheduled for output via a CPEXBLOK. I/O is handled by DMKIOSQR if tape is in use, or by DftKftIliO if a
spool file is in use. If data collection gets ahead of buffer output
and all the monitor buffers are filled, a temporary suspension
occurs. DMKMONIO -- Handles normal and abnormal completion of buffer output to disk or
tape. For normal completion, the buffer used for I/O is made available for further data collection; if the next buffer is already
full, its output is immediately scheduled. If a suspension was in
effect, data collection is immediately resumed using the freed
buffer. (RQte: Suspensions should be eliminated by increasing the
buffer allocation, using the MONITOR co.mand or the SYSMON macro.) Special tape conditions that can be handled include end of tape and
permanent error.
1-186 IBM VM/370 System Logic and Problem 1
Previous Page Next Page