is, the wait bit is on in the virtual PSi}. 1 real timer does not run
if the virtualmachine is in a CP pseudo wait state (for example, page
wait orI/O wait) or if the virtual machine can be run but is not being
dispatched because of other user interaction. Real timers provide
accurate interrupts to programs that depend on measurement of elapsed
processor and/or wait time. They do not accuratelymeasure wall time -
theTOD clock must be used for this function. In BC mode virtual machine with the real timer option has both a real
interval timer and a real processor timer. Real timer requests for
waiting machines are maintained in the clock comparator stack.
processor timer requests are added toTOD clock value at the time that
they are issued. Intervaltimer requests must have their units
converted. In addition, if the virtual processor timer contains a large
negative value, thena real timer request is scheduled to occur when the
virtual machine becomes positive, so that the pending timer interruption
can be unflaaaed. Comparator reauests for real timer interruPtions are
inserted into-thestack whenever-a virtual machine enters a self-imposed
wait. They are removed either when the virtual machineresumes execution or when it is forced (or places itself) into a pseudo wait. I/O Management I/O SUPERVISOR The module, DMKIOS, handles the I/O requirements of all system devices
except the following terminals:1052, 3210, 3215, 2150, 2741, 3270 remote equipment, and compatible teletypewriter devices. Scheduling and
interruption handling for these devices is essentially a synchronous
process and does not require the queuing and restart services ofD!KIOS. This is handled by the module DMKCNS. For handling the I/O requirements
of3270 remote equipment, refer to "Programming for 3270 Remote Terminals -an Introduction" in this section.
REALI/O CONTROL BLOCKS To schedule I/O requests and control the activity of the I/O devices of
the system,I/O control uses several types of control blocks. These
blocks are separated into two basic types.• Static blocks that describe the components of the I/O system. • The dynamic blocks that represent active and pending requests for I/O operations.
TheI/O devices of the real system are described by one control block
for each channel, control unit, and device available to the control
program.Units present but not represented by control blocks are not
available for either user-initiated or CP-initiated operations.
Because all virtualmachines are run in the problem state, any attempt to issue a SID instruction results in a program interruption
that indicates a privileged operation exception. This interruption is
handled by CP's first levelprogram interrupt handler, DMKPRGII. It
determines if the virtualmachine was in virtual supervisor state
(problem state bit in the virtualPSi is zero). If so, the instruction
causing the interruption is saved in theVMBLOK for the virtual machine and control is transferred to the privileged instruction simulator, DMKPRVLG, via a GOTO. CP Introduction 1-83
if the virtual
wait or
dispatched because of other user interaction. Real timers provide
accurate interrupts to programs that depend on measurement of elapsed
processor and/or wait time. They do not accurately
the
interval timer and a real processor timer. Real timer requests for
waiting machines are maintained in the clock comparator stack.
processor timer requests are added to
they are issued. Interval
converted. In addition, if the virtual processor timer contains a large
negative value, then
virtual machine becomes positive, so that the pending timer interruption
can be unflaaaed. Comparator reauests for real timer interruPtions are
inserted into-the
wait. They are removed either when the virtual machine
except the following terminals:
interruption handling for these devices is essentially a synchronous
process and does not require the queuing and restart services of
of
REAL
the system,
blocks are separated into two basic types.
The
for each channel, control unit, and device available to the control
program.
available for either user-initiated or CP-initiated operations.
Because all virtual
that indicates a privileged operation exception. This interruption is
handled by CP's first level
determines if the virtual
(problem state bit in the virtual
causing the interruption is saved in the