VM/VS Handshaking
The V8/VS Handshaking feature provides a communication path between CP and virtual machine operating systems that makes each system control
program aware of certain capabilities or requirements of the other.
The following is a discussion of VM/VS Handshaking as it relates to OS/VS1. Functions of VM/VS Handshaking incorporated in the V8/370 control program are available and applicable to any operating system that can be system generated to use this V8/370 enhancement. VM/VS Handshaking for OS/VSl performs the following functions: Closes CP spool files when the VS1 job output from its DSO, terminator, and output writer is complete Processes VSl pseudo page faults Provides an optional nonpaging mode for VS1 when it is run in the VK/310 environment
When a VS1 virtual machine with the handshaking feature is loaded
(via IPL), its initialization routines determine whether the handshaking
feature should be enabled. First, VS1 determines if it is running under
the control of V8/370 by issuing a STIDP (Store Processor ID)
instruction. STIDP returns a version code; a version code of X'FF' indicates VS1 is running with VM/310. If VS1 finds a version code of X'FF', it then issues a DIAGNOSE (X'OO') instruction to store the V8/370 extended-identification code. If an extended-identification code is
returned to VS1, VS1 knows that VM/370 supports handshaking; if nothing
is returned to VS1, V8/370 does not support handshaking. At this time
or any time after IPL, the operator of the VS1 virtual machine can issue
the CP SET PAGEX ON command to enable the pseudo page fault handling
portion of handshaking. If the VS1 virtual machine is in the nonpaging mode and, if the pseudo page fault handling is active, full handshaking
support is available.
Because the VS1 system does no paging, any ISAM programs run under VS1 are treated by V8/310 as though they are running in an ADDRSPC=REAL partition. the IS!8 option is required for the VS1 .achine
to successfully execute the 151M program.
If the handshaking feature is active, VS1 closes the CP spool files when
its job output fro. the DSO, terminator, and output writer is complete. Once the spool files are closed, V8/370 processes thea and they are sent
to the real printer or punch. During its job termination processing, VSl issues a DIIGNOSE (1
1
08')
instruction to pass the CP CLOSE command
to V8/370 for each CP spool file. A page fault is program interruption that occurs when a page aarked "not in storage" J.S referred to by an instruction with an active page.
The virtual machine referring to the page is placed in a wait state
while the page is brought into real storage. Without the handshaking
feature, the entire VS1 virtual machine is placed in page wait by V8/370 until the needed page is available. CP Introduction 1-43
However, with the handshaking feature, a multiprogramming (or multitasking) VS1 virtual machine can dispatch one task while waiting
for a page request to be answered for another task. VM/370 passes a
pseudo page fault (program interrupt X'14') to VS1. When VS1 recognizes
the pseudo page fault, it places only the task waiting for the page in
page wait and can dispatch another tasks. When a page fault occurs for a VS1 virtual machine, VM/370 checks
that the pseudo page fault portion of handshaking is active and that the VS1 virtual machine is in EC mode and enabled for I/O interruptions.
Then, V!/370 reflects the page fault to VS1 by: Storing the virtual machine address that caused the page fault at
locatioD X'90' (the translation exception address) Indicating a program interruption (interrupt code X'14') to VS1 Removing the VS1 virtual machine from page wait and execution wait When VS1 recoqnizes program interruption code X'14', it places the
associated task in wait state. VS1 can then dispatch other tasks. When the requested page becomes available in real storage, V6/370 indicates the same program interruption to VS1, except that the leftmost bit in the translation exception address field is set on to indicate completion. VS1 removes the task from page wait; the task is then
eligible to be dispatched. When VS1 runs under the control of V"/370, it executes in nonpaging mode if: Its virtual storage size is equal to the size of the VM/370 virtual machine Its virtual 4096K bytes. machine size is at least 1024K bytes and no more than For VS1 Release 6, the maximum size is 16,370K bytes. The VM/VS Handshaking feature is available. When VS1 executes in nonpaging mode, it uses fewer privileged
instructions and avoids duplicate paging. The VS1 Nucleus Initialization Program fixes all V51 pages to avoid the duplicate
paging. lote: The working set size may be larger for a V51 virtual machine in
nonpaging mode than for one in paging mode. 1-44 IBM VM/370 System Logic and Problem Deter.ination--Volume 1
Previous Page Next Page