买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于操作系统的内存管理方法、装置及设备_浙江省北大信息技术高等研究院;北京大学_202011058358.1 

申请/专利权人:浙江省北大信息技术高等研究院;北京大学

申请日:2020-09-30

公开(公告)日:2024-04-02

公开(公告)号:CN111984425B

主分类号:G06F9/50

分类号:G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2022.11.08#专利申请权的转移;2020.12.11#实质审查的生效;2020.11.24#公开

摘要:本申请提供一种用于操作系统的内存管理方法、装置及物联网设备。方法包括:在操作系统启动阶段,将所述操作系统所需的物理内存划分为静态内存区域和动态内存区域;当接收到用户的内存分配请求时,根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间;当接收到用户的内存释放请求时,根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间。本申请具有如下优点:通过静态内存管理和动态内存管理相结合,保证分配和释放内存的实时性,提高内存的使用率,有效地规避了内存碎片问题,同时增加了内存检索的速度。

主权项:1.一种用于操作系统的内存管理方法,其特征在于,包括:在操作系统启动阶段,将所述操作系统所需的物理内存划分为静态内存区域和动态内存区域;当接收到用户的内存分配请求时,根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间,时间复杂度为O1;当接收到用户的内存释放请求时,根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间,时间复杂度为O1;其中,所述静态内存区域包括多个内存池,每个所述内存池包括指定数量和指定大小的内存块,每个内存池对应一个静态链表头,每个静态链表头都记录有静态内存块大小、静态内存块的总个数、空闲内存块的总个数和该静态链表头对应的链表是否空闲这四个属性;所述动态内存区域包括已分配内存段和多个内存空间大小不同的空闲内存段,所述多个空闲内存段组织为多级链表,每一级链表记录了内存空间大小在指定范围内的空闲内存段;所述根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间,包括:若用户请求分配的内存空间大小小于等于预设的静态内存阈值,且所述静态内存区域有相应空闲的内存块,则确定从所述静态内存区域为用户分配相应大小的内存空间;若用户请求分配的内存空间大小大于预设的静态内存阈值,或者所述静态内存区域没有空闲的内存块,则确定从所述动态内存区域为用户分配相应大小的内存空间;所述确定从所述动态内存区域为用户分配相应大小的内存空间,包括:根据用户请求分配的内存空间大小所属的范围,从所述动态内存区域获取对应的链表;采取最优匹配的方式,从所述链表中找到一块空闲内存段,分割所述空闲内存段为用户所需的内存空间大小和剩余内存段,并将用户所需的内存空间大小分配给用户,释放所述剩余内存段;所述根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间,包括:若用户请求释放的内存地址是不合法的,则拒绝用户请求;所述内存地址不合法是指内存地址不在所述操作系统的物理内存区域或内存地址位于空闲动态内存区域;若用户请求释放的内存地址是合法的,则解析所述内存地址所在的内存区域;若所述内存地址在静态内存区域,则根据用户请求释放的内存地址,释放相应内存块到静态内存区域;若所述内存地址在动态内存区域,则判断与要释放的内存段相邻的内存段是否是空闲的,如果相邻内存段是空闲的,则更新内存段大小为合并之后的内存段,获取所述更新内存段所属的链表,将所述更新内存段添加到该链表中,实现内存段的释放操作。

全文数据:

权利要求:

百度查询: 浙江省北大信息技术高等研究院;北京大学 用于操作系统的内存管理方法、装置及设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。