本申请公开了一种对多核系统的内存管理方法及多核系统、设备、介质,涉及内存管理技术领域。方法包括:主核单元将主核单元和各个从核单元的初始的内存管理优先级均标识为第二等级;内存管理优先级还包括:高于第二等级的第一等级、低于第二等级的第三等级;判断系统运行情况;根据系统运行情况和第二等级,更新确定主核单元和各个从核单元的当前的内存管理优先级;内存管理器根据申请者发送的内存调度分配请求、系统运行情况、申请者的类型、申请者的当前的内存管理优先级进行内存调度分配处理,为申请者分配空闲的内存单元,以使申请者执行任务队列中的任务;申请者为主核单元或从核单元。能提高系统内存利用率且确保多核系统高效正确地运行。
背景技术
在多核或者多任务系统架构中,通常存在一块较大的公共的系统内存资源,用于存储大量的交互数据。多核操作系统中还存在内存管理机制,负责公共的系统内存资源的申请和释放。所有核共享该块系统内存资源。但由每个核的程序相互独立运行,当某个核需要处理较大量数据时,可能会占用全部的公共系统内存,使得其他核无法使用。如果多核间存在操作依赖,可能造成系统运行异常或者死锁。
相关技术中,将公共系统内存划分为多个内存分区,给每个核各分配一小块私有内存分区,然后多个核公用剩下的一块较大的公共内存分区,使得任意一个核都无法占用全部内存,当内存紧张时,依然能够申请到内存使用。当这样的方式无法充分利用公共系统内存,且内存紧张时,由于每个核的私有内存分区较小,也会导致系统运行效率降低。
实现思路