thorized storing or fetching by the program. Storage is protected from improper
storing or from both improper storing and fetching, but not from improper fetching
alone.
When protection applies to a storage access, the key in storage is compared with
the protection key associated with the request for storage access. A store or fetch
is permitted only when the key in storage matches the protection key.
When a store access is prohibited because of protection, the contents of the pro­
tected location remain unchanged. On fetching, the protected information is not
loaded into an addressable register, moved to another storage location, or provided
to an I/O device.
When a processor access is prohibited because of protection, the operation is sup­
pressed or terminated, and a program interruption for a protection exception takes
place. When a channel access is prohibited, a protection-check condition is indi­
cated in the channel status word (CSW) stored as a result of the operation.
When the access to storage is inhibited by the processor, and protection applies, the
protection key of the processor occupies bit positions 8-11 of the PSW. When the
reference is made by a channel, and protection applies, the protection key associ­
ated with the I/O operation is used as the comparand. The protection key for an I/O operation is specified in bit positions 0-3 of the channel-address word (CAW)
and is recorded in bit positions 0-3 of the channel status word (CSW) stored as a
result of the I/O operation.
To use fetch protection, a virtual machine must execute the Set Storage Key (SSK)
instruction referring to the data areas to be protected, with the fetch protect bit set
on in the key. VM/SP subsequently:
1. Checks for a fetch protect violation in handling privileged and nonprivileged
instructions.
2. Saves and restores the fetch protect bit (in the virtual storage key) when writ­
ing and recovering virtual machine pages from the paging device.
3. Checks for a fetch protection violation on a write CCW (except for spooling or
console devices).
The CMS nucleus resides in a shared segment. This presents a special case for
storage protection since the nucleus must be protected and still shared among many
CMS users. In order to protect the CMS nucleus in the shared segment, user pro­
grams and disk-resident CMS commands run with a different key than the nucleus
code.
VM/SP 5
Real Storage Storage Key
2K 2K 2K
Key
3
Key -4-bit protect key
2K 2K
Addressable Storage Storage and Processor Utilization
6 VM/SP System Programmer's Guide
Figure 2. 2K Storage Protection Key
The system operator may assign the reserved page frames option to a single virtual
machine. This option, specified by the SET RESERVE command, assigns a specif­
ic amount of the storage of the real machine to the virtual machine. CP dynam­
ically builds up a set of reserved real storage page frames for this virtual machine
during its execution until the maximum number "reserved" is reached. Since the
pages of other virtual machines are not allocated from this reserved set, the effect is
that most of the active pages of the selected virtual machine remain 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 time the virtual machine logs on (if it has the
VIRT=REAL option in its directory entry). All pages except page zero are allo­
cated to the corresponding real storage locations. In order to control the real com­
puting system, real page zero must be controlled by CP. Consequently, the real
storage size must be large enough to accommodate the CP nucleus, the entire virtu­
al=real virtual machine, and the remaining pageable storage requirements of CP
and the other virtual machines.
The virtual=real option improves performance in the selected virtual machine since
it removes the need for CP paging operations for the selected virtual machine. The
virtual=real option is necessary whenever pJ;ograms that contain dynamically modi­
fied channel programs (excepting those of OS ISAM and OS/VS TCAM LevelS)
are to execute under control of CP.
Previous Page Next Page