-
公开(公告)号:US5784699A
公开(公告)日:1998-07-21
申请号:US653221
申请日:1996-05-24
CPC分类号: G06F12/023 , G06F12/0261 , G06F12/08
摘要: A dynamic memory allocator in a computer assigns portions of memory into a large number of slots that include zero or more memory blocks of equal size. Free lists identify memory blocks, corresponding to a slot size, not currently in use in the computer. Software programs generate requests, including a size, for a memory block. The size of the requests are rounded up to the nearest slot size. To allocate a memory block, the free lists are searched, using a bit map index or a hierarchical bit map index, to identify an available memory block to accommodate the memory block requested. The dynamic memory allocator handles large block allocations different from small block allocations. A virtual memory allocator stores a plurality of pointers to identify one or more virtual pages of memory for allocation to the dynamic memory allocator.
摘要翻译: 计算机中的动态存储器分配器将存储器的一部分分配给包括零个或多个相同大小的存储器块的大量时隙。 免费列表标识对应于计算机当前未使用的插槽大小的内存块。 软件程序生成内存块的请求,包括大小。 请求的大小向上取整到最接近的插槽大小。 为了分配存储器块,使用位图索引或分层位图索引来搜索空闲列表,以识别可用的存储器块以容纳所请求的存储器块。 动态内存分配器处理与小块分配不同的大块分配。 虚拟存储器分配器存储多个指针以识别用于分配给动态存储器分配器的存储器的一个或多个虚拟页面。