Program States When instructions in the Control Progra. are being executed, the real
coaputer is in the supervisor state; at all other ti.es, vhen running
virtual machines, the real co.puter is in the proble. state. Therefore, privileged instructions cannot be executed by the virtual .achine.
programs running on a virtual machine can issue privileged instructions;
but such an instruction either (1) causes an interruption that is
handled by the Control program, or (2) is intercepted and handled by the
processor, if the virtual .achine assist feature or V8/310 Extended Control-program Support is enabled and supports that instruction. CP examines the operating status of the virtual machine PSW. If the
virtual machine indicates that it is functioning in supervisor mode, the
privileged instruction is simulated according to its type. If the
virtual machine is in problem mode, the privileged interrupt is
reflected to the virtual machine. Only the Control Program .ay operate in the supervisor state on the
real machine. 111 programs other than CP operate in the proble. state
on the real .achine. 111 user interrupts, including those caused by atte.pted privileged operations, are handled by either the control program or the processor (if the virtual .achine assist feature or VM/310 Extended Control-Program Support is available). Only those
interrupts that the user progra. vould expect fro. a real machine are
reflected to it. 1 problem progra. viII execute on the virtual .achine
in a .anner identical to its execution on a real Syste./310 processor,
as long as it does not violate the CP restrictions. See V8/310 Syste. for a list of the restrictions. 1-10 IB! VM/370 System Logic and Problem Deteraination--Volu.e 1
Using Processor Resources CP allocates the processor resource to virtual machines according to
their operating characteristics, priority, and the system resources
available. Virtual machines are dynamically categorized at the end of each time slice as interactive or noninteractive, depending upon the frequency of
operations to or from either the virtual system console or a terminal
controlled by the virtual machine. Virtual machines are dispatched from one of two queues, called Queue
1 and Queue 2. In order to be dispatched fro. either a virtual machine must be considered executable (that is, not waiting for some activity or for some other system resource). Virtual machines are not
considered dispatchable if the virtual machine: Enters a virtual wait state after an I/O operation has begun. Is waiting for a page frame of real storage. Is waiting for an I/O operation to be translated by CP and started. Is waiting for CP to simulate its privileged instructions. Is waiting for a CP console function to be performed. Queue 1 Virtual machines in Queue 1 (Q1) are considered conversational or
interactive users, and enter this queue when an interrupt from a
terminal is reflected to the virtual machine. Users are considered for
dispatching from this queue on a first-in-first-out (FIFO) basis. When a virtual machine uses more than a certain amount of processor time without entering a virtual wait state, that user is placed in Queue 2. Virtual machines are dropped fro. Q1 when they complete their ti.e slice of processor usage, and are placed in an "eligible list". Virtual machines entering CP command mode are also dropped from Q1. When the
virtual machine becomes executable again (returns to execution mode) it
is placed at the bottom of 01. Queue 2 Virtual machines in Queue 2 (02) are considered noninteractive users. Users are selected to enter Q2 from a list of eligible virtual machines (the "eligible list"). The list of eligible virtual machines is sorted
on a lIFO basis within user priority (normally defined in the user
record in the V8/310 directory, but may be altered by the system operator). Usually, a virtual aachine is selected to enter 02 only if its
"working set" is not greater than the number of real page frames available for allocation at the time. The working set of a virtual
aachine is calculated and saved each time a user is dropped froa 02 and
is based on the number of virtual pages referred to by the virtual
aachine during its stay in Q2, and the nuaber of its virtual pages that
are resident in real storage at the time it is dropped froa the queue.
CP Introduction 1-11
Previous Page Next Page