发明授权
US5561786A Computer method and system for allocating and freeing memory utilizing segmenting and free block lists 失效
使用分段和空闲块列表分配和释放内存的计算机方法和系统

  • 专利标题: Computer method and system for allocating and freeing memory utilizing segmenting and free block lists
  • 专利标题(中): 使用分段和空闲块列表分配和释放内存的计算机方法和系统
  • 申请号: US372131
    申请日: 1994-08-24
  • 公开(公告)号: US5561786A
    公开(公告)日: 1996-10-01
  • 发明人: Peter L. Morse
  • 申请人: Peter L. Morse
  • 申请人地址: WA Redmond
  • 专利权人: Microsoft Corporation
  • 当前专利权人: Microsoft Corporation
  • 当前专利权人地址: WA Redmond
  • 主分类号: G06F12/02
  • IPC分类号: G06F12/02 G06F15/40 G06F9/44
Computer method and system for allocating and freeing memory utilizing
segmenting and free block lists
摘要:
A method and system for allocating and freeing memory is provided. A requesting program running on a computer system allocates a logically contiguous block of memory (a "heap") for the temporary storage of data structures. A Heap Manager, provided by the present invention, manages the heap in response to requests from the requesting program. The Heap Manager logically divides the heap into segments and maintains a free list for each segment. The free list is a list of the free blocks contained in a segment. The heap has an associated free block array and an associated size tree. The free block array contains entries, each entry pointing to a free list. Each leaf node of the size tree corresponds to entries in the free block array. A value contained in each leaf node indicates the size of the largest free block in the segments corresponding to the entries. The Heap Manager selects a free block for allocation to the requesting program by searching to size tree and the free block array and selecting segment that contains a free block that will satisfy the request, and then searching the free list corresponding to the selected segment to locate the smallest free block that satisfies the request.
公开/授权文献
信息查询
0/0