[发明专利]一种基于Linux系统的设备的内存分配方法及装置在审
申请号: | 201711309512.6 | 申请日: | 2017-12-11 |
公开(公告)号: | CN108132841A | 公开(公告)日: | 2018-06-08 |
发明(设计)人: | 楚泽彤 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 内存申请 操作系统 接口函数 内存分配 内存上限 可用 申请 对应软件 软件使用 预先记录 判定 分配 更新 记录 应用 | ||
本申请提供一种基于Linux系统的设备的内存分配方法,其特征在于,设备的操作系统与软件使用不同的接口函数申请内存,所述方法包括:确定操作系统正常运行所需的基础运行内存;根据总内存与基础运行内存的差值,得到软件可用内存上限;在接收到内存申请的情况下,根据该内存申请所使用的接口函数,判断该内存申请的类型;在判定为软件的内存申请的情况下,获得预先记录的软件已用内存;在软件已用内存小于软件可用内存上限的情况下,根据该内存申请为对应软件分配内存、并更新所记录的软件已用内存。应用本申请方案,保障了操作系统的基础运行内存。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于Linux系统的设备的内存分配方法及装置。
背景技术
在基于Linux系统的设备中,随着软件功能的增加,对系统内存的消耗也会增加,但由于成本等因素的限制,设备的硬件可能无法及时更新换代,无法增加系统的总内存。同时,设备运行时,需要为操作系统的运行分配基础运行内存,对于同一型号的设备,系统的基础运行内存是基本固定的,但这种“固定”是动态的,即操作系统在运行时,各个基础进程并非始终使用最初分配到的某块内存,也会释放和申请内存,只是从整个操作系统的角度,对内存的需求量是基本固定的。因此,为了维持操作系统的正常运行,需要保证操作系统对内存的需求能够得到满足,在操作系统运行过程中申请内存时,能够被分配到需要的内存。
除了操作系统,设备中的软件也会向系统申请内存,现有技术中,对内存的管理方式是,操作系统和软件发出内存申请即为其进程分配内存、并在出现内存不足时杀掉占用内存较高的进程来释放内存,但由于为进程分配内存和杀掉进程,系统均无法区分该进程是属于操作系统或软件的,因此,在分配内存时,操作系统运行时临时释放的内存,可能会被分配给软件,导致操作系统申请基础运行内存时,无法分配到足够的内存,使得操作系统无法正常运行,而杀进程时可能会恰好杀掉操作系统的基础进程,导致操作系统瘫痪。
发明内容
有鉴于此,本申请提供一种基于Linux系统的设备的内存分配方法及装置,技术方案如下:
一种基于Linux系统的设备的内存分配方法,其特征在于,设备的操作系统与软件使用不同的接口函数申请内存,该方法包括:
确定操作系统正常运行所需的基础运行内存;
根据总内存与基础运行内存的差值,得到软件可用内存上限;
在接收到内存申请的情况下,根据该内存申请所使用的接口函数,判断该内存申请的类型;
在判定为软件的内存申请的情况下,获得预先记录的软件已用内存;
在软件已用内存小于软件可用内存上限的情况下,根据该内存申请为对应软件分配内存、并更新所记录的软件已用内存。
一种基于Linux系统的设备的内存分配装置,其特征在于,设备的操作系统与软件使用不同的接口函数申请内存,该装置包括:
基础运行内存确定模块,用于确定操作系统正常运行所需的基础运行内存;
软件可用内存上限计算模块,用于根据总内存与基础运行内存的差值,得到软件可用内存上限;
内存申请类型判断模块,用于在接收到内存申请的情况下,根据该内存申请所使用的接口函数,判断该内存申请的类型;
软件已用内存获得模块,用于在判定为软件的内存申请的情况下,获得预先记录的软件已用内存;
软件内存分配模块,用于在软件已用内存小于软件可用内存上限的情况下,根据该内存申请为对应软件分配内存、并更新所记录的软件已用内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711309512.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分布式系统中的资源调度方法及装置
- 下一篇:一种嵌入式软件内存管理系统