What is a cell? What does it mean to be live?
What is a root?
registeres, stack locations, global/static variables
What is garbage?
a block of heap memory that cannot be accessed by the program (not live and nothing points to it, we can’t access it)
What is garbage collection?

When do you want to call garbage collection?
It needs to know which objects are still in use and which are no longer in use
What is a buffer?
Is a block of “generic” memory, that can be used to store any kind of object. It is up to the programmer to cast the buffer to the required type
What are the generic memory management routines and what do they do?
What is reference counting and why is it a bad garbage collecting technique?

What is the mark-sweep algorithm and in gerneral, how does it work?
Two phases
