For each of these chains of unallocated elements, there is a control block consisting
of four words, with the following format:
I I IPOINTER -- pointer to the first 0(0) free element in the chain, or zero, if the chain is empty. ----------I 1 1----------- NUM -- the number of elements on
4(4) the chain.8(8) 12(C)
where:
--------I1 1---------
MAX --a value equal to or
greater than the size of the
largest element.----------I 1 1--------- FLAGS Flag
byte-I SKEY - ITCODE- 1 Unused IStorage /FREETAB/
/ keyI code / 1-- ___ -11 1 1 ____ ---' POINTER points to the first element on this chain of free elements. If there are no
elements on this free chain, then thePOINTER field contains all zeros. NUM MAX
contains the number of elements on this chain of free elements. If there
are no elements on this free chain, then this field contains all zeros.
is used to avoid searches that will fail. It contains a number not exceed
ing the size, in bytes, of the largest element on the free chain. Thus, a
search for an element of a given size is not made if that size exceeds the
MAX field. However, this number may actually be larger than the size
of the largest free element on the chain.
FLAGS The following flags are used:
SKEY
FLCLN(X'80') -- Clean-up flag. This flag is set if the chain must be
updated. This is necessary in the following circumstances:
If one of he two high storage chains contains a 4K page to whichFREELOWE points, then that page can be removed from the
chain, and FREELOWE can be increased. • All completely unallocated 4K pages are kept on the user chain, by
convention. Thus, if one of the nucleus chains (low storage or high
storage) contains a full page, then this page must be transferred to
the corresponding user chain.
FLCLB(X'40') -- Destroyed flag. Set if the chain has been destroyed.
FLHC(X'20') -- High storage chain. Set for both the nucleus and user
high storage chains.
FLUN (X' 10') -- Nucleus chain. Set for both the low storage and high
storage chains.
FLPA(X'08') -- Page available. This flag is set if there is a fu1l4K
page available on the chain. This flag may be set even if there is no
such page available.
contains the one-byte storage key assigned to storage on this chain.
Functional Information 327
of four words, with the following format:
I I I
4(4) the chain.
where:
--------I
MAX --
greater than the size of the
largest element.
byte
/ key
elements on this free chain, then the
contains the number of elements on this chain of free elements. If there
are no elements on this free chain, then this field contains all zeros.
is used to avoid searches that will fail. It contains a number not exceed
ing the size, in bytes, of the largest element on the free chain. Thus, a
search for an element of a given size is not made if that size exceeds the
MAX field. However, this number may actually be larger than the size
of the largest free element on the chain.
FLAGS The following flags are used:
SKEY
FLCLN
updated. This is necessary in the following circumstances:
If one of he two high storage chains contains a 4K page to which
chain, and FREEL
convention. Thus, if one of the nucleus chains (low storage or high
storage) contains a full page, then this page must be transferred to
the corresponding user chain.
FLCLB
FLHC
high storage chains.
FLUN (X' 1
storage chains.
FLPA
page available on the chain. This flag may be set even if there is no
such page available.
contains the one-byte storage key assigned to storage on this chain.
Functional Information 327