with a chapter on Distributed Garbage Collection by Rafael Lins
John Wiley & Sons, Ltd, ISBN 0-471-94148-4
403 pages, hardback
The memory storage requirements of complex programs are extremely difficult
to manage correctly by hand. A single error may lead to indeterminate and
inexplicable program crashes. Worse still, failures are often unrepeatable
and may surface only long after the program has been delivered to the
customer. The eradication of memory errors typically consumes a
substantial amount of development time. And yet the answer is relatively
easy - garbage collection - removing the clutter of memory management from
module interfaces which then frees the programmer to concentrate on the
problem at hand rather than low-level book-keeping details.
For this reason, most modern object-oriented languages such as Smalltalk,
Eiffel, Java and Dylan, are supported by garbage collection. Garbage
collecting libraries are even available for such uncooperative languages as
C and C++. This book considers how dynamic memory can be recycled
automatically to reduce the risk of memory management errors. There is an
abundant but disparate literature on the subject, largely confined to
research papers. This book sets out to pool this experience in a single
accessible and unified framework.
Each of the most important algorithms is explained in detail, often with
illustrations of its characteristic features and animations of its use.
Techniques are described and compared for declarative and imperative
programming styles, for sequential, concurrent and distributed architectures.
For professionals developing programs from simple software tools to complex
systems, as well as for researchers and students working in compiler
construction, functional, logic and object-oriented programming and design,
this book will provide not only a clear introduction but also a convenient
reference source for modern garbage collection techniques.
Copyright ©1996, Richard Jones