virtual Storage
... ;:1..:1 _____ _ auuJ.'C;::';::''C,;:) ABSOLUTE PAGE 0 4K Virtual Page 1 128K-l OK 4K-1 VIRTUAL=REAL AREA
SIZE = 128K BYTES (Minimum size is 32K bytes.) Virtual page 0 REMAINDER OF CP NUCLEUS DYNAMIC PAGING AREA
and
FREE STORAGE PSA FOR THE ATTACHED PROCESSOR PSA FOR THE MAIN PROCESSOR Figure 23. Storage in a Virtual=Real Machine I/O HANDLING
Real Storage Addresses OK 4K
128K
132K (DMKSLC) {
End of CP Nucleus (Dl!KCPE) < 1- Dl!KPSl <
512K End of
real storage
In an attached processor environment, only the main processor is capable
of handling I/O. If a command being executed on the attached processor
requires I/O processing, it is dispatched to the main processor via the SWITCH macro. This is not apparent to the user as it is handled
internally by CP. When the control program is executing, the I/O configuration tables
are protected only by the global system lock. Because the first-level
interrupt handler (FLIH) executes without the lock in some cases, there is the possibility of both processors modifying an I/O table. To
eliminate this situation, critical references to the I/O table are
preceded by forcing the system onto the main processor via a SWITCH macro. Since the unlocked I/O FLIH never executes on the attached
processor, the critical I/O code is serialized on the main processor. Part 2. Control Prograa (CP) 179
SIGNALING
During certain critical periods, the locking mechanism alone is not
enough. In these situations one processor must signal the other to
request a specific action. As part of initialization, the main processor issues a SIGP to activate the attached processor. Some critical functions, such as machine check handling or extending free
storage, require that one processor be quiesced for a time and then
reactivated. This is done with the SIGNAL macro. LOCKING To provide system integrity, VM/370 attached processor support is
designed around one global system lock, a VMBLOK local lock, and several
system local locks for specifically identified queues or modules.
All of CP runs under the global system lock except for specifically
identified paths. If the lock cannot be obtained, the function will be
deferred by storing the necessary information in the VMBLOK appendage
and stacking that VMBLOK for later processing. ihat processor will then
take a special unlocked path through the dispatcher to dispatch a new virtual machine.
In some situations, the processor cannot defer the requested function
and will spin on the lock until it becomes available.
To ensure system integrity along the special unlocked paths, various
local locks have been defined. These locks are tasically spin locks and
are held for short periods of time.
The VMBLOK lock is obtained by the dispatcher before dispatching a
virtual machine in problem program state or before performing any system
service for that virtual machine. This lock will prevent a virtual
aachine from being serviced by CP while it is running in problem program
state. !gte: This lock is not a spin lock.
The free storage lock is a spin lock obtained by for all FREE and
FRET requests for free storage.
There are several other locks used by CP in situations where the
global system lock is not held. All of the locks used by CP are
described in detail in 1Qgl£ 180 IBM VM/310 System Programmer's Guide
Previous Page Next Page