Algorithms for Automatic Dynamic Memory Management
sehr empfehlenswert
DAS Standardwerk.
Garbage Collection, lang und schmutzig. Der aktuelle Stand zum Thema in einem Buch zusammengefasst.
Ausnahmsweise gebe ich nicht das komplette Inhaltsverzeichnis wieder, da es einfach zu lang ist :-( Hier sind nur die Hauptkapitel angegeben, Rest s. Links...
Preface 1 Introduction 2 The Classical Algorithms 3 Reference Counting 4 Mark-Sweep Collection 5 Mark-Compact Collection 6 Copying Garbage Collection 7 Generational Garbage Collection 8 Incremental and Concurrent Garbage Collection 9 Garbage Collection for C 10 Garbage Collection for C++ 11 Cache-Conscious Garbage Collection 12 Distributed Garbage Collection Glossary Bibliography Index
Gutes Englisch mit vielen Diagrammen.
Hier möchte ich aus dem Vorwort zitieren: State of the art techniques are described and compared for declarative and imparative programming styles, for sequential, concurrent, and distributed architectures. Each of the most important algorithms is explained in detail, often with illustrations of its characteristic features and animations of its use.Its complexity, performance, and applicability and relationship with other related algorithms is also discussed. -- besser kann man das nicht ausdrücken.
Ein MUSS für jeden, den das Thema interessiert oder sich damit auseinander setzen muss, z.B. bei Java oder C++. Selbst so Exoten wie Bakers Treadmill sind enthalten. Auch die Bibliographie im Anhang über knapp 36 Seiten zeigt, was für eine tolle Leistung die Autoren hier vollbracht haben.
Java ist zwar leider noch nicht berücksichtigt, doch wer sich mit den Java Weakpointern und der Memorymanagement-API beschäftigen darf, findet hier sein Rüstzeug.
Richard Jones, Rafael Lins
1996, John Wiley & Sons LTD., ISBN 0-471-94148-4, 377 Seiten
Amazon: http://www.amazon.de/exec/obidos/ASIN/0471941484
Verlag: http://www.wiley.com/compbooks/
Weitere Links: http://www.cs.ukc.ac.uk/people/staff/rej/gc.html
Im Februar 2007 bin ich über Metronome von IBM gestolpert, ein RT-GC: http://domino.research.ibm.com/comm/research_projects.nsf/pages/metronome.metronomegc.html
Und wie man Interrupts und Signals trotz Allocator geschickt behandeln kann, zeigt dieser Artikel: http://www.method-combination.net/blog/archives/2008/02/01/vm-tricks.html Es nutzt das Virtual Memory, um eine Page ein- und auszublenden, damit die Software in den Faulthandler springt (HW Exception!).
Memory, Reference Counting, Scavenger, Threadmill, Java, C++, Smartpointer
2-Jan-2003