next up previous contents
Next: Unique name Up: STATE REPRESENTATION IN THE Previous: STATE REPRESENTATION IN THE

Storage allocator

A general storage allocator was written which provided arbitrary sized blocks of contiguous space in ECS. If no free block of contiguous storage was large enough to satisfy a request, and the total amount of free space was sufficient, a compactor moved all in use blocks to one end of ECS, and thus combined together all free blocks. The compactor was made possible by two conventions:
i)
For each block in use, there would be exactly one primary pointer which contained its absolute ECS address, and the block itself contained the absolute ECS address of this primary pointer
ii)
Secondary pointers which contained an absolute address could exist, but they would have to be accompanied by:
a)
Sufficient information to recompute the absolute address through a succession of primary pointers,
b)
The count of compactions which had occurred up to the time of computing the absolute address.
Thus, during compaction, the primary pointers could be found and updated. Also, before following a secondary pointer, its associated compaction count was compared with the actual compaction count. If they disagreed, the pointer was recomputed.
next up previous contents
Next: Unique name Up: STATE REPRESENTATION IN THE Previous: STATE REPRESENTATION IN THE
Paul McJones
1998-06-22