【技术实现步骤摘要】
用于操作系统的内存管理方法、装置及设备
本申请涉及物联网
,具体涉及一种用于操作系统的内存管理方法、装置及物联网设备。
技术介绍
工业物联网(IndustrialInternetofthings,简称IIoT)是指物联网在工业领域的应用,是互联网与新一代信息技术与工业系统深度融合所形成的产业和应用生态。内存管理是存储系统中的一项重要组成部分,在程序运行时提供内存资源的分配和释放服务。内存管理利用一系列的数据结构管理系统的物理内存,通过一系列的算法维护物理内存的分配和释放。随着技术的进步,工业物联网逐渐成为工业的核心基础,在数据的全方位感知、快速处理和智能控制等方面有着巨大应用前景。同时,工业物联网对内存资源使用的要求也越来越高,所以高效的内存管理方法在其中扮演着越来越重要的角色。在工业物联网中,当程序运行过程中,如果不能快速响应系统内存请求,那么会影响实时数据的准确性,增加数据流的计算时间,影响最终决策结果,造成企业较大的损失。通常情况下,系统的内存资源是有限的,较多的内存碎片也会造成系统无内存 ...
【技术保护点】
1.一种用于操作系统的内存管理方法,其特征在于,包括:/n在操作系统启动阶段,将所述操作系统所需的物理内存划分为静态内存区域和动态内存区域;/n当接收到用户的内存分配请求时,根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间;/n当接收到用户的内存释放请求时,根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间。/n
【技术特征摘要】
1.一种用于操作系统的内存管理方法,其特征在于,包括:
在操作系统启动阶段,将所述操作系统所需的物理内存划分为静态内存区域和动态内存区域;
当接收到用户的内存分配请求时,根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间;
当接收到用户的内存释放请求时,根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间。
2.根据权利要求1所述的方法,其特征在于,所述静态内存区域包括多个内存池,每个所述内存池包括指定数量和指定大小的内存块;所述动态内存区域包括已分配内存段和多个内存空间大小不同的空闲内存段,所述多个空闲内存段组织为多级链表,每一级链表记录了内存空间大小在指定范围内的空闲内存段。
3.根据权利要求2所述的方法,其特征在于,所述根据用户请求分配的内存空间大小,确定从所述静态内存区域或所述动态内存区域为用户分配相应大小的内存空间,包括:
若用户请求分配的内存空间大小小于等于预设的静态内存阈值,且所述静态内存区域有相应空闲的内存块,则确定从所述静态内存区域为用户分配相应大小的内存空间;
若用户请求分配的内存空间大小大于预设的静态内存阈值,或者所述静态内存区域没有空闲的内存块,则确定从所述动态内存区域为用户分配相应大小的内存空间。
4.根据权利要求3所述的方法,其特征在于,所述确定从所述动态内存区域为用户分配相应大小的内存空间,包括:
根据用户请求分配的内存空间大小所属的范围,从所述动态内存区域获取对应的链表;
采取最优匹配的方式,从所述链表中找到一块空闲内存段,分割所述空闲内存段为用户所需的内存空间大小和剩余内存段,并将用户所需的内存空间大小分配给用户,释放所述剩余内存段。
5.根据权利要求2所述的方法,其特征在于,所述根据用户请求释放的内存地址,确定从所述静态内存区域或动态内存区域释放相应的内存空间,包括:
若用户请求释放的内存地址是不合法的,则拒绝用户请求;所述内存地址不合法是指内存地址不在所述操作系统的物理内存区域或内存地址位于空闲动态内存区域;
若用户请求释放的内存地址是合法的,则解析所述内存地址所在的内存区域;
若所述内存地址在静态内存区域,则根据用户请求释放的内存地址,释放相应内存块到静态内存区域;
若所述内存地址在动态内存区域,则判断与要释放的内存段相邻的内存段是否是空闲的,如果相邻内存段是空闲的,则更新内存段大小为合并之后的内存段,获取所述更新内存段所属的链表,将所述更新内存段添加到该链表中,实现内存段的释放操作。
6.一种用于操作系统的内存管理装置,其特征在于,包括:...
【专利技术属性】
技术研发人员:薛栋梁,曹东刚,麻志毅,李克勤,陈曦,晏艳,梅宏,
申请(专利权)人:杭州未名信科科技有限公司,浙江省北大信息技术高等研究院,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。