Virtual IBM Device 3210, 3215, 1052, 3066, 3270 2314. 3330. 3340 3350 2314, 3330, 3340 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 2314, 2319, 3330, 3340, 3350 1403, 3203, 3211
1443 2540, 2501, 3505 2540, 3525
2415, 2420, 3410, 3420 Virtual I Symbolic Address11 Name
ccu 190 191 2
ccu
ccu
192
ccu
ccu
ccu
19E cell OOE OOC 000 181-4 CON1 DSKO DSK1 DSK2 DSK3 DSK4 DSK5 DSK6 DSK7 DSK8 DSK9 PRNl RDRl PCHl TAP1-TAP4
Device Type
system console System disk (read-only) Primary disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Disk (user files)
Line printer
Card reader
Card punch
Tape drives
lThe device addresses shown are those that are preasseabled into the CMS resident device table. These need only be modified and a new
device table made resident to change the addresses.
2The virtual device address (ccu) of a disk for user files can be
any valid System/370 device address, and can be specified by the eMS user when he activates a disk. If the user does not activate
a disk immediately after loading CMS, CftS automatically activates
the primary disk at virtual address 191.
Figure 2. Devices supported by a eMS Virtual Machine Transient 12 Since it is not essential to keep all nucleus functions resident in storage all the
time, some of them are made "transient." This means that when they
are needed, they are loaded from the disk into the transient prograa
area. Such programs may not be longer than two pages, because that
is the size of the transient area. (A page is 4096 bytes of virtual
storage.) All transient routines must be serially reusable since
they are not read in each time they are needed. 12 Segment 1 of storage contains
the reentrant code for the CMS Nucleus routines. In shared eftS systems, this is the "protected segment," which must consist only of
reentrant code, and aay not be modified under any circumstances.
Thus, such functions as DEBUG breakpoints or CP address stops cannot
be placed in Segment 1 when it is a protected segment in a saved
system. CMS Introduction 2-13
User programs are
loaded into this area by the LOAD command. Storage allocated by means of the GET"AIN macro instruction is taken from this area,
starting from the high address of the user program. In addition,
this storage area can be allocated from the top down by DftSFREE, if
there is not enough storage available in the low DftSFREE storage
area. Thus, the usable size of the user program area is reduced by the amount of free storage that has been allocated from it by DftSFREE. The top of storage is occupied by the loader tables, which are required by the CMS loader. These
tables indicate which modules are currently loaded in the user
program area (and the transient program area after a LOAD command) The size of the loader tables can be varied by the SET LDRTBLS
command. However, to successfully change the size of the loader
tables, the SET LDRTBLS co.mand must be issued immediately after 1PL.
Free Storage Management
Free storage can be allocated by issuing the GETft!II or DftSFREE macros. Storage allocated by the GETft!IN macro is taken from the user program area, beginning after the high address of the user program. Storage allocated by the DftSFREE macro can be taken from several
areas.
If possible, DftSFREE requests are allocated from the low address free
storage area. Otherwise, DMSFREE requests are satisfied from the
storage above the user program area.
There are two types of DftSFREE requests for free storage: requests
for USER storage and BUCLEUS storage. Because these two types of
storage are kept in separate 4K pages, it is possible for storage of one
type to be available in low storage, while no storage of the other type
is available. GETftAIN FREE STORAGE ftANAGEftENT All GET"AIN storage is allocated in the user program area, starting
after the end of the user's actual program. Allocation begins at the
location pointed to by the BUCON pointer ftAINSTRT. The location ftA1NHIGB in NUCON is the "high extend" pointer for GET!AIN storage.
Before issuing any GETft!IN macros, user programs must use the STRIIIT macro to set up user free storage pointers. The STRIIIT macro is issued
only once, preceding the initial GETftAII request. The format of the
STRINIT macro is: I r r,'
[label] STRIIIT I ITYPC!LL=ISVC II I ILL .I.J
2-14 IBft VM/370 System Logic and Program Determination--Volume 2
1 I I I I
Previous Page Next Page