Asynchronous Garbage Collection
Posted by Peter on April 10, 2006
I apologize for my short, and still ongoing, hiatus from doing meaningful work, but I have been, and still am, a bit sick. Hopefully I will be able to begin work on an asynchronous copying garbage collector soon. This will be the first step in implementing my own version of Scheme so that I can test my ideas about language alterations instead of just talking about them. For example, I want to try out a type system. Although it would be easy to make a stop-start garbage collector or an asynchronous non-copying collector (which I have done already), I want to eliminate the need for the program to pause for garbage collection while at the same time compacting the memory used as much as possible to help the operating system. I also have some ideas about manually paging unused memory to disk in order to reduce the burden of paging (which is aggravated by garbage collection). I will discuss these issues more fully in the future, with hopefully an implantation to back me up. Until then if you are interested about garbage collection in general I suggest you read “Garbage Collection: Algorithms for Automatic Dynamic Memory Management” by Richard Jones and Rafael Lins, which despite its name is an excellent book, well written, informative, comprehensive, and compact.