发明名称 Demand-based memory-block splitting
摘要 A computer system (10) implements a memory allocator that employs a data structure (FIG. 3) to maintain an inventory of dynamically allocated memory available to receive new data. It receives from one or more programs requests that it allocate memory from a dynamically allocable memory "heap." It responds to such requests by performing the requested allocation and removing the thus-allocated memory block from the inventory. Conversely, it adds to the inventory memory blocks that the supported program or programs request be freed. In the process, it monitors the frequencies with which memory blocks of various sizes are allocated, and it projects from those frequencies future demand for memory blocks of those sizes. To split a relatively large block in order to meet an actual or expected request for a smaller block, it bases its selection of the larger block to be split on whether the supply of free blocks of the larger block's size is great enough to meet the expected demand for such blocks. Splitting occurs both preemptively, i.e., before a request for the result of the splitting, and reactively, i.e., in response to a previously made request for a block that will result from the splitting operation.
申请公布号 US6801990(B2) 申请公布日期 2004.10.05
申请号 US20010055168 申请日期 2001.10.29
申请人 SUN MICROSYSTEMS, INC. 发明人 KNIPPEL ROSS C.;HELLER STEVEN K.;DETLEFS DAVID L.
分类号 G06F12/02;(IPC1-7):G06F12/00 主分类号 G06F12/02
代理机构 代理人
主权项
地址