Program States When instructions in the Control Program are being executed, the real
computer is in the supervisor state; at all other times, when running
virtual machines, the real computer is in the problem state. Therefore,
privileged instructions cannot be executed by the virtual machine. Programs running on a virtual machine can issue Frivileged 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 machine assist feature or VK/370 Extended
Control-program Support is enabled and supports that instruction. CP examines the operating status of the virtual machine PSi. If the
virtual machine indicates that it is functioning in supervisor mode, the
privileged instruction is simulated according to its type. II the virtual machine is in problem mode, the privileged interrupt is
reflected to the virtual machine. Only the Control Program may operate in the supervisor state on the
real machine. All programs other than CP operate in the problem state
on the real machine. All user interrupts, including those caused by
attempted privileged operations, are handled by either the control
program or the processor (if the virtual machine assist feature or VK/370 Extended Control-program Support is available). Only those
interrupts that the user program would expect from a real machine are
reflected to it. A problem program executes on the virtual machine in a manner identical to its execution on a real System/370 processor
l as
long as the problem program does not violate the CP restrictions. CP restrictions are documented in the Part 2. Control Program (CP) 83
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 from either queue, 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 fer
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 from Q1 when they complete their time 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 Q1.
Queue 2 Virtual machines in Queue 2 (Q2) 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 FIFO basis within user priority (normally defined in the user
record in the VM/370 directory, but may be altered by the system
usually, a virtual machine is selected to enter Q2 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
machine is calculated and saved each time a user is dropped from Q2 and
is based on the number of virtual pages referred to by the virtual
machine during its stay in Q2, and the number of its virtual pages that
are resident in real storage at the time it is dropped from the queue. 84 IBM VM/37C System ProgrammeL's Guide
Previous Page Next Page