一种内核内存镜像设计方法、装置、电子设备及存储介质制造方法及图纸

技术编号:21199638 阅读:20 留言:0更新日期:2019-05-25 01:11
本发明专利技术提供一种内核内存镜像设计方法、装置、电子设备及存储介质,包括如下步骤:内存管理区初始化过程中解析内存区域的属性并创建可移除区域;判断当前内存区域是否具备镜像属性并将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;在normal域里设置mirror镜像并对内核内存镜像区域进行处理。

A Design Method, Device, Electronic Equipment and Storage Media for Kernel Memory Mirror

The present invention provides a design method, device, electronic equipment and storage medium for kernel memory mirroring, including the following steps: parsing the properties of memory area during initialization of memory management area and creating removable areas; judging whether the current memory area has mirror attributes and classifying the memory area with mirror attributes into normal, and classifying the area without mirror attributes into normal. For the mobile domain; mirror image is set in the normal domain and processed in the kernel memory mirror area.

【技术实现步骤摘要】
一种内核内存镜像设计方法、装置、电子设备及存储介质
本专利技术涉及内存
,具体涉及一种内核内存镜像设计方法、装置、电子设备及存储介质。
技术介绍
内存(Memory)也被称为内存储器是计算机中的重要部件,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,计算机中的所有程序的运行都是在内存中进行的,内存故障会导致计算机数据永久丢失或系统宕机,从而给个人或企业带来无法估计的灾难,内存的性能直接关系到整个系统是否可以稳定运行,因此,所有计算机需要保证内存的可靠性。目前常用的提高内核内存可靠性能的方法是采用内存镜像的方式,即在系统中同时存在两块或多块内存模块,内存镜像是将主数据和与主数据对应的冗余数据,分别放在不同的内存模组内,主数据存储的内存模组可以称为主内存,冗余数据存储的内存模组可以称为镜像内存,由处理器控制内存模块的读写操作,在读操作时采用某种纠错机制来选择正确的数据,一旦其中某个内存模块发生故障或者出现数据错误的情况,此时控制器就会将数据转移到内存镜像上,从这些内存镜像中选择正确的数据,有效防止了由于内存通道故障导致的数据丢失避免服务中断,提高系统的可靠性,保证计算机的稳定运行。但是,现有技术方案在实现内存镜像时,需要程序运行前提是需要BIOS提供EFI内存镜像属性描述;并且需要镜像区域占整个节点系统内存容量的10%以上。
技术实现思路
针对现有的设计系统镜像时,需要程序运行前提是需要BIOS提供EFI内存镜像属性描述并且需要镜像区域占整个节点系统内存容量的10%以上否则会影响系统性能的问题,本专利技术提供一种内存镜像设计方法及装置。第一方面,本专利技术提供一种内核内存镜像设计方法,包括如下步骤:内存管理区初始化过程中解析内存区域的属性并创建可移除区域;判断当前内存区域是否具备镜像属性并将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;在normal域里设置mirror镜像并对内核内存镜像区域进行处理。进一步的,内存管理区初始化过程中解析内存区域的属性之前,包括:为了不影响系统的性能,配置内核启动项kernelcore=mirror。进一步的,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,解析内存区域的属性,包括:判断是否配置内核启动项kernelcore=mirror,若是,设置全局变量mirrored_kernelcore=ture,具备镜像属性的内存区域划归在normal域;若否,将不具备镜像属性的区域划归为movable域。进一步的,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,创建可移除区域是通过扫描内存区域确定是否将非镜像区域的页框首地址记录在movable域中,具体流程包括:S21:判断mirrored_kernelcore是否为真,若是,执行步骤S22,若否,执行步骤S27;S22:遍历所有内存区域是否设置镜像属性,若是,执行步骤S23,若否,执步骤行S25;S23:判断当前区域页框号是否小于设定阈值,若是,执行步骤S24,若否,执行步骤S25;S24:设置设定阈值以下没有内核镜像标志;S25:将当前的页框号赋值给zone_movable_pfn;S26:根据扫描结果确定是否在日志中提示当前设定阈值内存配置镜像属性;S27:结束。进一步的,内核内存镜像区域进行处理,具体包括:S31:逐个扫描当前域中的页框;S32:判断mirrored_kernelcore是否配置并且判断当前区域是否为movable域,若是,执行步骤S33,若否执行步骤S36;S33:遍历所有内存区域定位区域结束页框号大于当前页框的区域;S34:判断当前页框是否比区域起始页框小并且当前区域为镜像区域,若是,执行步骤S35,若否,执行步骤S36;S35:将区域结束页框号设置成当前页框号;S36:判断扫描是否结束,若是,执行步骤S37,若否执行步骤S1;S37:结束。第二方面,本专利技术提供一种内核内存镜像设计装置,包括初始化模块、解析模块、创建模块、判断模块、区域划分模块和处理模块;初始化模块,用于对内存管理区进行初始化;解析模块,用于在内存管理区初始化过程中解析内存区域的属性;创建模块,用于在内存管理区初始化过程中内核创建可移除区域;判断模块,用于判断当前内存区域是否具备镜像属性;区域划分模块,用于根据判断模块输出的结果将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;处理模块,用于在normal域里设置mirror镜像并对内核内存镜像区域进行处理。进一步的,该装置还包括配置模块,所述的配置模块,用于配置内核启动项kernelcore=mirror。第三方面,本专利技术提供一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面所述的内核内存镜像设计方法。第四方面,本专利技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现第一方面所述一种内核内存镜像设计方法。其中,第一方面所述的一种内核内存镜像设计方法,包括如下步骤:内存管理区初始化过程中解析内存区域的属性并创建可移除区域;判断当前内存区域是否具备镜像属性并将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;在normal域里设置mirror镜像并对内核内存镜像区域进行处理。进一步的,内存管理区初始化过程中解析内存区域的属性之前,包括:为了不影响系统的性能,配置内核启动项kernelcore=mirror。进一步的,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,解析内存区域的属性,包括:判断是否配置内核启动项kernelcore=mirror,若是,设置全局变量mirrored_kernelcore=ture,具备镜像属性的内存区域划归在normal域;若否,将不具备镜像属性的区域划归为movable域。进一步的,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,创建可移除区域是通过扫描内存区域确定是否将非镜像区域的页框首地址记录在movable域中,具体流程包括:S21:判断mirrored_kernelcore是否为真,若是,执行步骤S22,若否,执行步骤S27;S22:遍历所有内存区域是否设置镜像属性,若是,执行步骤S23,若否,执步骤行S25;S23:判断当前区域页框号是否小于设定阈值,若是,执行步骤S24,若否,执行步骤S25;S24:设置设定阈值以下没有内核镜像标志;S25:将当前的页框号赋值给zone_movable_pfn;S26:根据扫描结果确定是否在日志中提示当前设定阈值内存配置镜像属性;S27:结束。进一步的,内核内存镜像区域进行处理,具体包括:S31:逐个扫描当前域中的页框;S32:判断mirrored_kernelcore是否配置并且判断当前区域是否为movable域,若是,执行步骤S33,若否执行步骤S36;S33:遍历所有内存区域定位区域结束页框号大于当前页框的区域;S34:判断当前页框本文档来自技高网...

【技术保护点】
1.一种内核内存镜像设计方法,其特征在于,包括如下步骤:内存管理区初始化过程中解析内存区域的属性并创建可移除区域;判断当前内存区域是否具备镜像属性并将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;在normal域里设置mirror镜像并对内核内存镜像区域进行处理。

【技术特征摘要】
1.一种内核内存镜像设计方法,其特征在于,包括如下步骤:内存管理区初始化过程中解析内存区域的属性并创建可移除区域;判断当前内存区域是否具备镜像属性并将具备镜像属性的内存区域划归在normal,对于不具备镜像属性的区域划归为movable域;在normal域里设置mirror镜像并对内核内存镜像区域进行处理。2.根据权利要求1所述的一种内核内存镜像设计方法,其特征在于,内存管理区初始化过程中解析内存区域的属性之前,包括:配置内核启动项kernelcore=mirror。3.根据权利要求2所述的一种内核内存镜像设计方法,其特征在于,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,解析内存区域的属性,包括:判断是否配置内核启动项kernelcore=mirror,若是,设置全局变量mirrored_kernelcore=ture,具备镜像属性的内存区域划归在normal域;若否,将不具备镜像属性的区域划归为movable域。4.根据权利要求3所述的一种内核内存镜像设计方法,其特征在于,内存管理区初始化过程中解析内存区域的属性并创建可移除区域中,创建可移除区域是通过扫描内存区域确定是否将非镜像区域的页框首地址记录在movable域中,具体流程包括:S21:判断mirrored_kernelcore是否为真,若是,执行步骤S22,若否,执行步骤S27;S22:遍历所有内存区域是否设置镜像属性,若是,执行步骤S23,若否,执步骤行S25;S23:判断当前区域页框号是否小于设定阈值,若是,执行步骤S24,若否,执行步骤S25;S24:设置设定阈值以下没有内核镜像标志;S25:将当前的页框号赋值给zone_movable_pfn;S26:根据扫描结果确定是否在日志中提示当前设定阈值内存配置镜像属性;S27:结束。5.根据权利要求4所述的一种内核内存镜像设计方...

【专利技术属性】
技术研发人员:杨振林
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1