Paul Gilmartin wrote:

<begin snippet>
Conceptually, any user who has done a BLDL and saved the TTR has a
connection to the member.  PDSE merely formalized the process.
</end snippet>

and this point is an important one.  One of the crucial differences
between a traditional PDS and a PDSE is that, while  the gas in a PDS
is removable only by reorganizing it, the gas in a PDSE is largely
eliminated dynamically, by reusing the space occupied by deleted
members.

This laudable effort of course gives rise to another instance of an
old and very familiar class of problems.  If, say, I LOAD a copy of
the reentrant module MCGUFFIN and you then LOAD a copy of MCGUFFIN,
your LOAD is converted into a virtual one: a usage count is
incremented and you are provided with the address of the same copy of
MCGUFFIN that I am using.  My DELETE then decrements the usage counter
and iff doing so reduces that count to zero is the strorage occupied
by MCGUFFIN freed/recovered.

Now PDSE management makes available all of the usage-count facilities
needed to ensure that DELETE operations are virtual or real as
appropriate if they are used.  If they go unused the space in a PDSE
will be exhausted.

Still, there is a significant net gain.  PDSEs can be managed
correctly, while PDSs cannot; and this brings me to my single
criticism of Paul Gilmartin's language.  The weasel word 'merely' in
"PDSE merely formalizes the process" is inappropriate.  This change
was a large step forward in an imperfect world.  Clots will still be
able to botch things up---How not?---but the tools are available for
those who wish to use them.

Here, as always with this class of problems, if you increment a usage
count you must also decrement it.

John Gilmore, Ashland, MA 01721 - USA

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to