【技术实现步骤摘要】
一种内存动态调控方法、装置、设备及介质
[0001]本公开涉及内存分配
,尤其涉及一种内存动态调控方法、装置、设备及介质。
技术介绍
[0002]随着自动驾驶和智能网联技术的飞速发展,针对面向服务的架构开发以及使用高性能的处理器,Adaptive AUTOSAR(自适应汽车开放系统)有着不可比拟的优势。众所周知,随着系统复杂性的提高,软件的失效风险也会随之提升。现有的Adaptive AUTOSAR平台的软件架构,用户程序以及平台服务均使用的是系统提供的接口进行内存的动态申请和释放。当前Adaptive AUTOSAR的实现使用的是C++语言,C++没有内存的管理回收机制。规范中也没有涉及内存管理功能,因此会存在内存泄漏、内存碎片化等问题。
技术实现思路
[0003]第一方面,本公开提供一种内存动态调控方法,所述方法应用于自适应汽车开放系统,所述自适应汽车开放系统运行有至少一个应用程序,所述方法包括:
[0004]在所述应用程序的进程启动时,在内存分配链上创建与所述进程对应的节点;
[0 ...
【技术保护点】
【技术特征摘要】
1.一种内存动态调控方法,其特征在于,所述方法应用于自适应汽车开放系统,所述自适应汽车开放系统运行有至少一个应用程序,所述方法包括:在所述应用程序的进程启动时,在内存分配链上创建与所述进程对应的节点;基于所述进程对应的所需配置文件向所述自适应汽车开放系统申请第一内存空间,并由所述节点存储所述进程运行时使用所述第一内存空间的第一使用信息;在所述进程中的各个任务执行时,在所述第一内存空间中申请与所述任务对应的第一子内存空间,使得所述任务在所述第一子内存空间中运行;在所述任务执行完成时,将所述任务对应的子内存空间释放给所述第一内存空间;在所述进程结束时,将所述第一内存空间释放给自适应汽车开放系统。2.根据权利要求1所述内存动态调控方法,其特征在于,所述第一使用信息包括各个任务运行时使用所述第一子内存空间的第二使用信息;所述在所述进程中的各个任务执行时,在所述第一内存空间中申请与所述任务对应的第一子内存空间,使得所述任务在所述第一子内存空间中运行,包括:在所述进程中的各个任务执行时,在所述节点上创建与所述任务对应的子节点;在所述第一内存空间中申请与所述任务对应的第一子内存空间,使得所述任务在所述第一子内存空间中运行;在所述任务在所述第一子内存空间中运行时,由所述子节点存储所述任务运行时使用所述第一子内存空间的第二使用信息。3.根据权利要求1所述内存动态调控方法,其特征在于,所述在所述第一内存空间中申请与所述任务对应的第一子内存空间,包括:获取所述第一内存空间中当前空闲的子内存空间以及所述当前空闲的子内存空间对应的容量;在所述第一内存空间中当前空闲的子内存空间的数量为一个,且所述当前空闲的子内存空间无指向下一个子内存空间的指针时,判断所述当前空闲的子内存空间的容量与所述任务需要的内存容量的差值是否大于预设子内存容量阈值;在所述当前空闲的子内存空间的容量与所述任务需要的内存容量的差值大于预设子内存容量阈值时,根据所述任务需要的内存容量将所述当前空闲的子内存空间划分为第一子内存空间和第二子内存空间;对所述第一子内存空间添加表征所述任务执行时占用标签以及用于指向所述第二子内存空间的指针,对所述第二子内存空间添加空闲标签;相应的,所述在所述任务执行完成时,将所述任务对应的子内存空间释放给所述第一内存空间,包括:在所述任务执行完成时,将所述任务对应的第一子内存空间释放给所述第一内存空间,并将所述第一子内存空间的所述占用标签更改为所述空闲标签。4.根据权利要求3所述内存动态调控方法,其特征在于,在获取所述第一内存空间中当前空闲的子内存空间的数量以及所述当前空闲的子内存空间对应的容量的同时,所述方法还包括:获取所述当前空闲的子内存空间的指针;所述在所述第一内存空间中申请与所述任务对应的第一子内存空间,还包括:在所述第一内存空间中当前空闲的子内存空间的数量为至少两个时,判断各个所...
【专利技术属性】
技术研发人员:秦民,朱海林,王腾达,
申请(专利权)人:中汽创智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。