VIRTUAL BACBINE TIBE BANAGEftENT The real processor simulates multiple virtual processors. Virtual aachines that are executing in a conversational manner are given access
to the real processor more frequently than those that are not; these
conversational machines are assigned the saaller of two possible tiae slices. CP deteraines execution characteristics of a virtual machine at
the of each tiae slice on the basis of the recent frequency of its
console requests or terainal interrupts. The virtual machine is queued
for subsequent processor utilization according to whether it is a
conversational or nonconversational user of system resources. A virtual aachine can gain control of the processor only if it is not
waiting for soae activity or resource. The virtual aachine itself aay enter a virtual wait state after an input/output operation has begun.
The virtual machine cannot gain control of the real processor if it is
waiting for a page of storage, if it is waiting for an input/output
operation to be translated and started, or if it is waiting for a CP com.and to finish execution. A virtual aachine can be assigned a priority of execution. priority
is a parameter affecting the execution of a particular virtual aachine as co.pared with other virtual aachines that have the saae general
execution characteristics. Priority is a paraaeter in the virtual
aachine's VB/370 directory entry. The system operator can reset the
value with the privilege class A SET comaand. VIRTUAL BACBINE STORAGE BANAGEBENT The noraal and aaxiaua storage sizes of a virtual aachine are defined as
part of the virtual aachine configuration in the VB/370 directory. You aay redefine virtual storage size to any value that is a multiple of 4K
and not greater than the maxiaua defined value. VB/370 iapleaents this
storage as virtual storage. The storage aay appear as paged or unpaged
to the virtual aachine, depending upon whether or not the extended
control aode option was specified for that virtual aachine. This option
is required if operating systems that control virtual storage, such as OS/VS1 or YB/370, are run in the virtual aachine.
Storage in the virtual aachine is logically divided into 4096-byte areas called pages. A coaplete set of segment and page tables is used
to describe the storage of each virtual aachine. These tables are
updated by CP and reflect the allocation of virtual storage pages to
blocks of real storage. These page and segaent tables allow virtual
storage addressing in a system/370 aachine. Storage in the real aachine is logically and physically divided into 4096-byte areas called page fraaes. Only referenced virtual storage pages are kept in real storage, thus optimizing real storage utilization. Further, a page can be brought into any available page fraae; the necessary relocation is done during program execution by a coabination of VB/370 and dynaaic address
translation on the Systea/370. The active pages froa all logged on
virtual aachines and from the pageable routines of CP compete for
available page frames. When the number of page fraaes available for
allocation falls below a threshold value, CP determines which virtual
storage pages currently allocated to real storage are relatively inactive and initiates suitable page-out operations for them. Inactive pages
inactive page has
are kept on a direct access storage device.
been changed at some tiae during virtual
1-4 IB! V8/370 System Logic and Problem Determination--Voluae 1
If an aachine
execution, CP assigns it to a paging device, selecting the fastest such
device with available space. If the page has not changed, it remains
allocated in its original direct access location and is paged into real
storage from there the next time the virtual machine references that
page. A virtual machine program can use the DIAGNOSE instruction to
tell CP that the information from specific pages of virtual storage is
no longer needed; CP then releases the areas of the paging devices which
were assigned to hold the specified pages.
Paging is done on demand by CP. This means that a page of virtual
storage is not read (paged) fro. the paging device to a real storage
block until it is actually needed for virtual machine execution. Cp makes no attempt to anticipate what pages might be required by a virtual machine. While a paging operation is performed for one virtual machine,
another virtual machine can be executing. Any paging operation
initiated by CP is transparent to the virtual-machine. --
If the v1rtual maCh1ne is executing in extenaea control .ode with
translate on, then two additional sets of segment and page tables are
kept. The virtual machine operating system is responsible for mapping the virtual storage created by it to the storage of the virtual machine. CP uses this set of tables in conjunction with the page and segment tables created for the virtual aachine at logon time to build shadow
page tables for the virtual machine. These shadow tables map the
virtual storage created by the virtual machine operating system to the
storage of the real computing system. The tables created by the virtual machine operating system may describe any page and segment size
permissible in the IB! System/370. The system operator may assign the reserved page frames option to a
single virtual aachine. This option, specified by the SET RESERVE command, assigns a specific a.ount of the storage of the real machine to
the virtual machine. CP will dynamically build up a set of reserved
real storage page frames for this virtual machine during its execution
until the maximua number "reserved" is reached. Since the pages of
other virtual machines are not allocated from this reserved set, the
effect is that .ost of the active pages of the selected virtual machine reaain in real storage.
During CP system generation, the installation may specify an option
called virtual=real. With this option, the virtual machine's storage is
allocated directly from real storage at the tiae the virtual machine logs on (if it has the VIRT=RE1L option in its directory) • 111 pages
except page zero are allocated to the corresponding real storage
locations. In order to control the real coaputing system, real page
zero must be controlled by CP. Consequently, the real storage size must be large enough to accomaodate the CP nucleus, the entire virtual=real
virtual aachine, and the reaaining pageable storage requirements of CP and the other virtual aachines.
The virtual=real option improves performance in the selected virtual aachine since it reaoves the need for CP paging operations for the
selected virtual .achine. The virtual=real option is necessary whenever prograas that contain dynaaically aodified channel programs (excepting
those of OS IS1! and OS/VS TC1! Level 5) are to execute under control of CP. Por additional infor.ation on running systems with dynamically .odified channel programs, see "Dynaaically Modified Channel Programs" in Y!L170 Prog!AY!!!..!.§ §.yide. CP Introduction 1-5
Previous Page Next Page