A hierarchical bitmap-based memory manager maintains a hierarchical bitmap
having an entry for each memory block in a memory heap. Each bitmap entry
contains a multi-bit value that represents an allocation state of the
corresponding memory block. The memory manager manages allocation,
deallocation, and reallocation of the memory blocks, and tracks the
changes in allocation state via the hierarchical bitmap. Using a-two-bit
value, the bitmap can represent at most four different allocation states
of the corresponding memory block, including a "free" state, a
"sub-allocated" state in which the corresponding memory block is itself an
allocated set of smaller memory blocks, a "continue" state in which the
corresponding memory block is allocated and part of, but not last in, a
larger allocation of plural blocks, and a "last" state in which the
corresponding memory block is allocated and last in an allocation of one
or more memory blocks.
Un directeur carte-basé hiérarchique de mémoire maintient une carte binaire hiérarchique ayant une entrée pour chaque bloc de mémoire dans un tas de mémoire. Chaque entrée à mémoire d'image contient une valeur de multi-peu qui représente un état d'attribution du bloc correspondant de mémoire. Le directeur de mémoire contrôle l'attribution, la désaffectation, et la redistribution des blocs de mémoire, et dépiste les changements de l'état d'attribution par l'intermédiaire de la carte binaire hiérarchique. En utilisant la valeur d'un-deux-peu, la carte binaire peut représenter tout au plus quatre états différents d'attribution du bloc correspondant de mémoire, y compris un état "libre", d'un état "secondaire-assigné" dans lesquels le bloc correspondant de mémoire est lui-même un ensemble assigné de plus petits blocs de mémoire, "continuent" l'état dans du lequel le bloc correspondant de mémoire est assigné et une partie, mais pas pour la dernière fois dedans, une plus grande attribution des blocs pluriels, et un "dernier" état dans lequel le bloc correspondant de mémoire est assigné et dernier dans une attribution d'un ou plusieurs blocs de mémoire.