Discontiguous Saved Segments CP checks to see whether a virtual machine has altered any shared
segments before it dispatches the next virtual machine.When a shared
segment is found to have been modified as a result of aCP STORE, ADSTOP, or TRACE command, CP issues a message to indicate that the
shared copy has been replaced by a nonshared copy. Execution continues
in the virtual machine with the nonshared copy. However, if a protected
shared segment is found to be altered by any other means and segment
protection is on,CP sends a message to the current virtual machine to
identify the altered page. The altered page is made inaccessible and the
virtual machine's execution is stopped by placing it into console
function mode.Saved systems must be named and may be shared. The discontiguous
saved segment support is similar to saved system support. Therefore,
you should understand saved systems before you read this section; see
theVMLJ70 Guide for a description of saved systems.
A discontiguous saved segment is a segment that:• Has a name associated with it • Was previously loaded and saved • Mayor may not be shared by multiple virtual machines • Can be loaded by a particular virtual machine in nonshared mode for
testing and debugging
A discontiguous saved segment can be logically attached to a virtual
machine when it is needed and detached when it is not needed. The
attaching and detaching is done by the name associated with the segment.
The virtual machine attaching and detaching discontiguous saved segments
must issueCP DIAGNOSE instructions to perform the proper linkage.
Discontiguous saved segments are loaded at the same address at which
they were saved: this address must be higher than the highest address of
the virtual machine that is attaching it. A discontiguous saved segment
cannot be attached by a virtual machine executing in the virtual=real
area.
An example of a discontiguous saved segment is the segment ofCMS that supports DOS program development and testing under CMS. This
segment is reentrant and is namedCMSDOS. The starter system includes
anEXEC procedure, DOSGEN, that helps you load and then save this
segment.CMS contains all the necessary linkage to load the CKSDOS segment when it is needed.
The main advantage of placing theCMS support for DOS in a
discontiguous saved segment is that it conserves real storage. Not allCMS users need the DOS support, and those who do need it probably do not
need it all the time.CP keeps the segment tables in real nonpageable
storage. These segment tables have an entry for each segment (whether
it is saved or nonsaved) of virtual storage available to each active
virtual machine. By putting theDOS support in a discontiguous saved
segment (calledCKSDOS), real nonpageable storage is conserved. Your segment table has entries for the CMSDOS segment (and all segments up to
it) only when theCKSDOS segment is attached to your virtual machine.
Using DiscontiguousSaved Segments
To use discontiguous saved segments you must:• Allocate permanent space on a CP-owned volume to contain the saved
segment.
82IBM VM/370 Planning and System Generation Guide
segments before it dispatches the next virtual machine.
segment is found to have been modified as a result of a
shared copy has been replaced by a nonshared copy. Execution continues
in the virtual machine with the nonshared copy. However, if a protected
shared segment is found to be altered by any other means and segment
protection is on,
identify the altered page. The altered page is made inaccessible and the
virtual machine's execution is stopped by placing it into console
function mode.
saved segment support is similar to saved system support. Therefore,
you should understand saved systems before you read this section; see
the
A discontiguous saved segment is a segment that:
testing and debugging
A discontiguous saved segment can be logically attached to a virtual
machine when it is needed and detached when it is not needed. The
attaching and detaching is done by the name associated with the segment.
The virtual machine attaching and detaching discontiguous saved segments
must issue
Discontiguous saved segments are loaded at the same address at which
they were saved: this address must be higher than the highest address of
the virtual machine that is attaching it. A discontiguous saved segment
cannot be attached by a virtual machine executing in the virtual=real
area.
An example of a discontiguous saved segment is the segment of
segment is reentrant and is named
an
segment.
The main advantage of placing the
discontiguous saved segment is that it conserves real storage. Not all
need it all the time.
storage. These segment tables have an entry for each segment (whether
it is saved or nonsaved) of virtual storage available to each active
virtual machine. By putting the
segment (called
it) only when the
Using Discontiguous
To use discontiguous saved segments you must:
segment.
82