System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算器软件,具体提供一种记忆体扩充与计算机持久记忆体机制及计算机可读介质。
技术介绍
1、linux中的交换空间在实体记忆体(ram)已满时使用。如果系统需要更多记忆体资源且记忆体已满,记忆体中的非活动页面将移至交换空间。计算机交换空间的目的只是为了缓解系统记忆体空间压力。它并不是为了扩展有效记忆体容量而设计的。
2、linux/posix mmap(2)memory-mapped file-i/o:
3、linux实作了posix标准mmap()系统调用,用于将档案对应到记忆体。mmap()是一个系统调用,用户进程可以使用它来要求操作系统核心将档案映像到该进程的记忆体(即地址空间)。
4、这是mmap()的函数原型:
5、void*mmap(void addr,size_t length,int prot,int flags,
6、int fd,off_t offset);
7、addr-此参数提示操作系统核心使用此地址,虚拟映像应在进程的虚拟记忆体(即虚拟地址空间)中开始。该值可以指定为null,以指示核心可以将虚拟映像放置在它认为合适的任何位置。如果不为null,则addr应该是页面大小的倍数。
8、length-此参数将长度指定为映像的字节数。该长度应该是页面大小的倍数。
9、prot-对映射记忆体的保护。prot的值是以下各单位值的位或:
10、prot_read-使映像记忆体的内容可供进程读取。<
...【技术保护点】
1.一种记忆体扩充与计算机持久记忆体机制,其特征在于,基于mmap和C/C++程序语言,具有如下步骤:
2.根据权利要求1所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤S1中,使用名为mmap_mem.cfg的配置文件,所述配置文件包含mmap档案路径、档案大小和映像地址。
3.根据权利要求2所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤S2中,自制客订记忆体分配器用于管理映射记忆体的分配和释放记忆体分配器,为标准记忆体分配器运用于指定的记忆体区域,或客制化自定义设计的记忆体分配器。
4.根据权利要求3所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤S3中,用C/C++实作的记忆体分配器开关,第2行的use_mmap_mem是一个全局变量,用作使用系统默认记忆体分配器和自定义mmap记忆体分配器之间的切换;
5.根据权利要求3所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤S4中,C/C++宏MMAP_MALLOC(statement)用于开启记忆体分配器开关,执行一个或多
6.一种记忆体扩充与计算机持久记忆体机制运行系统,其特征在于,基于mmap和C/C++程序语言,首先,建立mmap区域和映像的文件档案,自制客订记忆体分配器,配置忆体分配器的程序开关,创建辅助宏。
7.根据权利要求6所述的一种记忆体扩充与计算机持久记忆体机制运行系统,其特征在于,建立mmap区域和映像的文件档案,使用名为mmap_mem.cfg的配置文件,所述配置文件包含mmap档案路径、档案大小和映像地址。
8.根据权利要求7所述的一种记忆体扩充与计算机持久记忆体机制运行系统,其特征在于,自制客订记忆体分配器用于管理映射记忆体的分配和释放记忆体分配器,为标准记忆体分配器运用于指定的记忆体区域,或客制化自定义设计的记忆体分配器。
9.根据权利要求8所述的一种记忆体扩充与计算机持久记忆体机制运行系统,其特征在于,用C/C++实作的记忆体分配器开关,第2行的use_mmap_mem是一个全局变量,用作使用系统默认记忆体分配器和自定义mmap记忆体分配器之间的切换;
10.根据权利要求9所述的一种记忆体扩充与计算机持久记忆体机制运行系统,其特征在于,C/C++宏MMAP_MALLOC(statement)用于开启记忆体分配器开关,执行一个或多个C/C++语句,然后关闭开关。
...【技术特征摘要】
1.一种记忆体扩充与计算机持久记忆体机制,其特征在于,基于mmap和c/c++程序语言,具有如下步骤:
2.根据权利要求1所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤s1中,使用名为mmap_mem.cfg的配置文件,所述配置文件包含mmap档案路径、档案大小和映像地址。
3.根据权利要求2所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤s2中,自制客订记忆体分配器用于管理映射记忆体的分配和释放记忆体分配器,为标准记忆体分配器运用于指定的记忆体区域,或客制化自定义设计的记忆体分配器。
4.根据权利要求3所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤s3中,用c/c++实作的记忆体分配器开关,第2行的use_mmap_mem是一个全局变量,用作使用系统默认记忆体分配器和自定义mmap记忆体分配器之间的切换;
5.根据权利要求3所述的一种记忆体扩充与计算机持久记忆体机制,其特征在于,在步骤s4中,c/c++宏mmap_malloc(statement)用于开启记忆体分配器开关,执行一个或多个c/c++语句,然后关闭开关。
6.一种记忆体扩充与计算机持久记忆体机制运行系...
【专利技术属性】
技术研发人员:徐胜康,蒋清春,
申请(专利权)人:山东浪潮数据库技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。