VMMLOD(3) VERSION 1.0 VMMLOD(3)
NAME
VMMLOD- load one or more slices into memory.
USAGE
ier = vmmlod(inlkey,nkey)
integer vmmlod
integer nkey, ier
integer inlkey(nkey)
DESCRIPTION
VMMLOD is an integer function of the VMM (Virtual Memory Manager)
package used for loading one or more slices into memory. The list of slices
to be loaded is contained in the inlkey array.
The performance of VMMLOD is drastically reduced when one or more of
the slices already resident in memory are locked (i.e. have been rendered
unmovable by the user through a call to either VMMLCK or VMMGET) since VMMLOD
will then load the new slices one at a time. Best performance is achieved
when there are no locked slices in memory. It is then possible for VMMLOD to
load all the slices contained in inlkey in one pass. The function VMMDIAG may
be used at the end of a program's execution, in order to find out how many
calls to VMMLOD have been done when there were locked slices in memory.
The number of slices that can be present in memory at any one time is
of course dependent on the total amount of memory that has been allocated
through the VMMALLC function. However, memory that has been rendered unusable
for loading (via VMMHPA) and the presence of locked slices may also hinder
VMMLOD's capacity to load slices into memory. Should not enough memory be
available for loading all desired slices, the following solutions may be
considered: first, whenever feasible, all the calls to VMMLOD should be done
before any calls to VMMGET, VMMLCK and VMMHPA. This insures that an optimum
amount of memory is available for loading and that resident slices can be
moved around in an attempt to maximize that usable memory. Should this first
solution prove unfruitful, the amount of memory requested through VMMALLC may
be increased. The VMMDIAG function may prove to be useful when trying to
determine the appropriate amount of memory that is required by a given
program.
ARGUMENTS
inlkey -(input) list of keys pointing to the slices to be loaded
nkey -(input) number of keys in inlkey
EXAMPLE
integer inlkey(3)
integer key1
key1=vmmcre('VAR_1',10,5,'SAVE=Y,CLASS=1,WEIGHT=5')
* load 3 of the slices of VAR_1
inlkey(1)=key1
inlkey(2)=key1+2
inlkey(3)=key1+3
ier = vmmlod(inlkey,3)
AUTHORS
J.Caveen, M. Lepine, M. Roch - RPN
NOTES
Errors that will cause a premature end of program execution
-No previous call to VMMALLC
-Password is set ( System is locked)
-Trying to load more that 1000 slices at a time
-Not enough memory to load all requested slices
-Invalid key found in the inlkey array
Latest revision, november 1993
See also vmmallc(3), vmmatt(3), vmmcks(3), vmmcpk(3), vmmcre(3),
vmmdbg(3), vmmdiag(3), vmmdmp(3), vmm_example(1), vmmfgt(3), vmmget(3),
vmmhpa(3), vmmhpd(3), vmmint(3), vmmintro(1), vmmlck(3), vmmlse(3), vmmpak(3),
vmmpwd(3), vmmrls(3), vmmrnm(3), vmmsav(3), vmmuld(3), vmmulk(3), vmmuln(3).