【技术实现步骤摘要】
内存管理方法、装置和计算机设备
[0001]本申请涉及数据存储领域,尤其涉及一种内存管理方法、装置和计算机设备。
技术介绍
[0002]近年来,随着处理器运算能力的增强以及数据规模的增大,较长的数据存取时间逐渐成为制约应用运行速度加快的主要因素。
[0003]一个应用在运行过程中,需要将存储器的数据先读取到内存中,再使用内存的数据执行计算,并将计算结果写入内存,最后存储在存储器中以便长时间保存。通常,系统一般会在内存中划分出一块存储空间作为缓存区(Cache),以加快存储器和应用之间数据读写的速度。当应用写入数据时,不直接写入内存,而是会先写入到缓存区中。由于缓存区的读写速度很快,应用可以较快的完成数据写入,之后,应用便可释放资源用于执行其他任务。而暂存在缓存区里的数据可等待系统空闲时再慢慢写入存储器。当应用读取数据时,若缓存区中有应用所需的数据便可以直接快速读入。由于内存的读写速度较执行应用的处理器的速度较慢。为了减小短期内突发大量读写操作对处理器的影响,系统可以在内存中划分出一块存储空间作为缓冲区(Buffer) ...
【技术保护点】
【技术特征摘要】
1.一种内存管理方法,其特征在于,所述方法包括:接收缓冲区分配指令,所述缓冲区分配指令用于为应用在内存中分配缓冲区,所述缓冲区用于存储的数据达到一定数量后,一次性将所述缓冲区中的数据发送给所述应用;在所述内存的缓存区中,为所述应用分配缓冲区。2.根据权利要求1所述的方法,其特征在于,所述缓冲区分配指令中包括所述缓冲区的大小,所述在所述内存的缓存区中,为所述应用分配缓冲区,包括:在所述内存的缓存区中,为所述应用分配所述大小的缓冲区,所述大小小于所述缓存区的大小。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:接收内存释放指令,所述内存释放指令用于请求释放所述应用的缓冲区,所述内存释放指令中包括所述缓冲区在所述内存中的地址;释放所述缓冲区。4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:接收数据读取指令,所述数据读取指令用于请求向所述应用传送待读取数据;当所述待读取数据位于所述缓存区之外时,将所述待读取数据从存储器读取到所述缓冲区中;将所述缓冲区中的数据传送至所述应用。5.根据权利要求4中所述的方法,其特征在于,所述将所述缓冲区中的数据传送至所述应用,具体包括:为所述应用分配的缓冲区中存储的数据的数量大于第一预设阈值时,将所述缓冲区中的数据传送至所述应用;或者,所述应用需要的待读取数据均已经被读取到所述缓冲区中时,将所述缓冲区中的数据传送至所述应用;或者,执行所述应用的处理器处于空闲状态时,将所述缓冲区中的数据传送至所述应用。6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:接收数据写入指令,所述数据写入指令用于请求存储所述应用的待写入数据;将所述待写入数据存储至所述缓冲区中;将所述待写入数据从所述缓冲区存储至存储器中。7.根据权利要求6中所述的方法,其特征在于,所述将所述待写入数据从所述缓冲区存储至存储器中,具体包括:所述缓冲区中存储的数据的数量大于第二预设阈值时,将所述待写入数据从所述缓冲区存储至存储器中;或者,所述应用需要的待写入数据均已经存储在了缓冲区时,将所述待写入数据从所述缓冲区存储至存储器中;或者,接收写入完成指令时,将所述待写入数据从所述缓冲区存储至存储器中;或者,接收写入暂停指令时,将所述待写入数据从所述缓冲区存储至存储器中。8.一种内存管理装置,其特征在于,所述装置包括:第一接收模块,用于接收来自应用的缓冲区分配指令,所述缓冲区分配指令用于请求为所述应用在内存中分配缓冲区,所述缓冲区用于存储的数据达到一定数量后,所述应用
一次性获取所述缓冲区中的数据;分配模块,用于在所述内存的缓存区中,为所述应用分配缓冲区。9.根据权利要求8所述的装置,其特征在于,所述缓冲区分配指令中包括所述缓冲区的大小,所述分配模块还用于:在所述内存的缓存区中,为所述应用分配所述大小的缓冲区,所述大小小于所述缓存区的大小。10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:第二接收模块,用于接收来自所述应用的内存释放指令,所述内存释放指令用于请求释放所述应用的缓冲区,所述内存释放指令中包括所述缓冲区在所述内存中的地址;释放模块,用于释放所述缓冲区。11.根据权利要求8至10中任意一项所述的装置,其特征在于,所述装置还包括:第三接收模块,用于接收数据读取指令,所述数据读取指令用于请求向所述应用传送待读取数据;读取模块,用于当所述待读取数据位于所述缓存区之外时,将所述待读取数据从存储器读取到所述缓冲区中;传送模块...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。