发明授权
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
摘要:
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.
公开/授权文献
- US4925185A Exercise method 公开/授权日:1990-05-15
信息查询