A computer system provides an object-based environment and includes
storage. At least a portion of the storage is logically divided into two
or more heaps in which objects can be stored. Each heap is subdivided into
slices of memory. The system includes a two-level lookup structure for
determining whether a given storage address corresponds to a particular
heap. The lookup substructure involves a first level having one or more
lookup substructures, each corresponding to a unit of memory representing
a predetermined number of slices. The substructure indicates for each of
these slices the particular heap, if any, that the slice belongs to. The
two-level lookup structure further involves a second level for determining
for a given memory address the first level lookup substructure that
includes the slice containing that address.
Um sistema computatorizado fornece um ambiente objeto-baseado e inclui o armazenamento. Ao menos uma parcela do armazenamento é dividida logicamente em dois ou mais heaps em que os objetos podem ser armazenados. Cada heap é subdividido em fatias da memória. O sistema inclui uma estrutura two-level do lookup para determinar se um endereço dado do armazenamento corresponde a um heap particular. A subestrutura do lookup envolve um primeiro nível que tem um ou mais subestrutura do lookup, cada uma que corresponde a uma unidade de memória que representa um número predeterminado das fatias. A subestrutura indica para cada uma destas fatias o heap particular, se existerem, que a fatia pertence a. A estrutura two-level do lookup mais adicional envolve um segundo nível para determinar para um endereço de memória dado a primeira subestrutura do lookup do nível que inclui a fatia que contem esse endereço.