发明名称 基于链式堆叠的内存管理方法与系统
摘要 本发明提供一种用于实时内核的内存管理方法,包括:为内存堆内每一块被分配的动态内存前面插入一个结构体形成一个动态内存块,以存储该动态内存块的信息;响应于上层应用的有效的内存申请分配动态内存时,尽可能在靠近内存堆堆头的位置分配新的动态内存,即向内存堆头部堆叠,形成动态内存块;将所有动态内存块的首地址都链接在一条单链表上,并且在该单链表中,所有元素以动态内存块的首地址的升序进行排列;以及响应于上层应用的有效的内存释放指针,执行内存回收操作,释放相应动态内存块的内存空间。本发明采用链式堆叠策略,使得已分配内存块向内存堆的头部“堆积”,从而减少内存碎片的产生,同时提高实时内核运行时动态内存的使用效率。
申请公布号 CN104850505A 申请公布日期 2015.08.19
申请号 CN201510275497.2 申请日期 2015.05.26
申请人 左应鹏 发明人 左应鹏
分类号 G06F12/02(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 江苏致邦律师事务所 32230 代理人 徐蓓
主权项 一种用于实时内核的内存管理方法,其特征在于,包括:为内存堆内每一块被分配的动态内存前面插入一个结构体(head)形成一个动态内存块,使得每个动态内存块包括该结构体和数据内存区;每个动态内存块的首地址都链接在一条单链表上,其中所述的结构体包括动态内存块的整体尺寸(size)与指向单链表中下一个元素的指针(next);在前述单链表中,所有元素以动态内存块的首地址的升序进行排列;响应于上层应用的有效的内存申请分配动态内存时,尽可能在靠近内存堆堆头的位置分配新的动态内存,即向内存堆头部堆叠,以形成动态内存块;响应于上层应用的有效的内存释放指针,执行内存回收操作,释放相应动态内存块的内存空间。
地址 211100 江苏省南京市江宁区天景山路荣华苑9栋3单元308室