1. A persistent memory for a computer system, comprising: a linear address space having a plurality of consecutively numbered memory locations; a plurality of memory blocks allocated within said linear address space, wherein each block consists of at least one memory location, wherein each block has one associated location addressable by pointers, and wherein a plurality of said blocks contain pointers to other memory blocks; and a persistent root located in said linear address space, wherein said persistent root can contain a pointer to one of said allocated memory blocks, and wherein all allocated memory blocks which are in a transitive closure of said persistent root are not subject to reclamation by the computer system; wherein the computer system can access said memory blocks only through pointers pointing at the associated addressable location, and can access a selected memory location only by calculating an offset from an addressable location associated with one of said memory blocks.