CN107329836A - 多系统的内存管理方法、管理装置以及移动终端 - Google Patents

多系统的内存管理方法、管理装置以及移动终端 Download PDF

Info

Publication number
CN107329836A
CN107329836A CN201710570737.0A CN201710570737A CN107329836A CN 107329836 A CN107329836 A CN 107329836A CN 201710570737 A CN201710570737 A CN 201710570737A CN 107329836 A CN107329836 A CN 107329836A
Authority
CN
China
Prior art keywords
page
storage allocation
storage
data storage
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710570737.0A
Other languages
English (en)
Other versions
CN107329836B (zh
Inventor
李立帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201710570737.0A priority Critical patent/CN107329836B/zh
Publication of CN107329836A publication Critical patent/CN107329836A/zh
Application granted granted Critical
Publication of CN107329836B publication Critical patent/CN107329836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了多系统的内存管理方法、管理装置以及移动终端,该方法包括:当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;基于扫描到的所述已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;若存在存储有相同存储数据的已分配内存页面,则合并所述存储有相同存储数据的已分配内存页面。应用本发明的技术方案,释放多余的内存空间,以供其他应用程序顺利地运行,提高内存资源的使用效率;同时不会影响正在运行的应用程序对当前内存资源的占用,也不会给用户造成不良体验。

Description

多系统的内存管理方法、管理装置以及移动终端
技术领域
本发明涉及终端领域,具体而言,本发明涉及一种多系统的内存管理方法、一种多系统的内存管理装置以及一种移动终端。
背景技术
随着移动互联网时代的发展,移动终端也从传统的数字移动终端发展到了智能移动终端。由于智能移动终端不但实现了传统的数字移动终端的所有功能,还通过智能移动操作系统来运行各种应用程序,以满足用户的各种需求。
随着智能移动操作系统的发展,各式各样的移动操作系统也应运而生,由于每个移动操作系统都有自己的优点和缺点,为了使用户能够充分利用移动操作系统的优点并尽量克服移动操作系统的缺点,避免用户由于使用单个移动操作系统带来的不良体验,会在一个移动终端中安装多个移动操作系统,以供用户使用。
在现有技术中,通过对移动操作系统进行虚拟化来实现在一个移动终端中安装多个移动操作系统;而随着对移动操作系统安全要求的提高,现有技术通常使用以下两种方式进行移动操作系统的虚拟化,第一种移动操作系统的虚拟化方式是通过KVM虚拟机进行虚拟化,该方式的缺点是虚拟化的移动操作系统占用的资源大。第二种移动操作系统的虚拟化方式是基于Linux容器技术进行虚拟化,该方式的优点是虚拟化的移动操作系统占用的资源属于轻量级;然而,对于一个有限存储空间的移动终端来说,运行多个移动操作系统势必会占用大量的存储空间,从而导致影响其他应用程序的运行;所以无论是哪一种对移动操作系统虚拟化方式,都涉及到存储空间的内存资源管理问题,而如何提高内存资源的使用率是解决上述问题的关键。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的一个实施例提出了一种多系统的内存管理方法,包括:当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
优选地,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,包括:确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面;将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;基于对比结果,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
优选地,确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面的步骤,包括基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;若原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;若原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
优选地,该方法还包括:将已合并的已分配内存页面存储至预置存储区域;其中,当在预置存储区域中扫描到已合并的已分配内存页面时,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,还包括:将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比;基于对比结果,判断是否存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;若不存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
优选地,该方法还包括:当检测到任一操作系统的任一进程对已合并的已分配内存页面的存储数据进行修改时,为任一进程创建该已合并的已分配内存页面的新内存页面实例。
本发明的另一个实施例提出了一种多系统的内存管理装置,包括:第一扫描模块,用于当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;判断模块,用于基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;合并模块,用于若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
优选地,判断模块包括:选取单元,用于确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面;第一对比单元,用于将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;第一判断单元,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
优选地,选取单元包括:第一确定单元,用于基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;第二确定单元,用于针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;第一执行单元,用于若原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;第二执行单元,用于若原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
优选地,该装置还包括:存储模块,用于将已合并的已分配内存页面存储至预置存储区域;第二扫描模块,用于在预置存储区域中扫描已合并的已分配内存页面;其中,当第二扫描模块在预置存储区域中扫描到已合并的已分配内存页面时,判断模块还包括:第二对比单元,用于将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比;第二判断单元,用于基于对比结果,判断是否存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;第三对比单元,用于若不存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
优选地,该装置还包括:创建模块,用于当检测到任一操作系统的任一进程对已合并的已分配内存页面的存储数据进行修改时,为任一进程创建该已合并的已分配内存页面的新内存页面实例。
本发明的又一个实施例提出了一种移动终端,包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序;处理器执行计算机程序时实现多系统的内存管理方法技术方案中的任意一个技术方案。
本发明的技术方案中,当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面;从而释放多余的内存空间,以供其他应用程序顺利地运行,提高内存资源的使用效率;同时不会影响正在运行的应用程序对当前内存资源的占用,也不会给用户造成不良体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的多系统的内存管理方法的流程示意图;
图2为本发明中的一个优选实施例的判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤的流程示意图;
图3为本发明中的另一个优选实施例的选取各个操作系统中待合并的已分配内存页面的步骤的流程示意图;
图4为本发明中的另一个实施例的多系统的内存管理装置的结构框架示意图;
图5为本发明中的一个优选实施例的判断模块的结构框架示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图1为本发明一个实施例的多系统的内存管理方法的流程示意图。
需要说明的是,本实施例的执行主体是至少两个移动操作系统共用内核。
步骤S101:当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;步骤S102:基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;步骤S103:若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
本发明的技术方案中,当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面;从而释放多余的内存空间,以供其他应用程序顺利地运行,提高内存资源的使用效率;同时不会影响正在运行的应用程序对当前内存资源的占用,也不会给用户造成不良体验。
以下针对各个步骤的具体实现做进一步的说明:
步骤S101:当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描。
其中,内存页面中的存储数据包括但不限于:存放在内存页面中数据结构堆区中的对象和数组、存放在内存页面中数据结构栈区中的局部变量值和函数参数值、存放在内存页面中数据结构数据区的静态变量和字符串常量、存放在内存页面中数据结构代码区的应用程序的代码数据;每个内存页面的大小为4kb或4Mb。
具体地,当操作系统内核,检测到当前移动终端共有两个操作系统,如OS1和OS2,运行时,在该操作系统内核中运行守护进程,且该守护进程分别对当前运行的各个操作系统中已分配内存页面中的内存数据进行扫描。
步骤S102:基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面。
具体地,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,包括:如图2所示,步骤S201:确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面;步骤S202:将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;步骤S203:基于对比结果,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
具体地,确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面的步骤,包括:如图3所示,步骤S301:基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;步骤S302:针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;步骤S303:若原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;步骤S304:若原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
其中,预置算法包括但不限于:哈希算法。
例如,当守护进程第一次扫描内存页面时,基于哈希算法,对当前正在运行的两个操作系统中的一个操作系统,如OS1,中的已分配内存页面的存储数据进行计算,将计算结果确定为该已分配内存页面的存储数据的原始标识信息;如,计算OS1中A进程的一个虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据的原始哈希值为“DXXXXXXXXXXX7”,并记录该已分配内存页面与该已分配内存页面的存储数据的原始标识信息即通过计算得到的原始哈希值;针对OS1中同一进程A,基于哈希算法,以预置周期,如5分钟,再次计算相同内存页面虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”,并将新计算的哈希值确定为该已分配内存页面的存储数据的标识信息,由于记录的原始标识信息“DXXXXXXXXXXX7”与再次确定的标识信息“DXXXXXXXXXXX7”相同,则选取该标识信息所属的虚拟地址信息为“004XX7b8”已分配内存页面作为待合并的已分配内存页面;若基于5分钟预置周期,再次针对OS1中进程A的虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据计算的哈希值,为“DXXXXXXXXXXX8”,则由于记录的原始标识信息“DXXXXXXXXXXX7”与再次确定的标识信息“DXXXXXXXXXXX8”不同;直到扫描结束前,重复执行:针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
当守护进程将选取到的任一操作系统中待合并的已分配内存页面与该待合并的已分配内存页面的存储数据的哈希值,如,OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面与该待合并的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”,与一颗二叉搜索树数据结构中存储的其他操作系统,如OS2,中待合并的已分配内存页面进行比较;将该二叉搜索树命名为临时二叉搜索树,若判断该临时二叉搜索树中存在被存储的其他操作系统,如OS2,中待合并的已分配内存页面,则将OS1中进程A的该虚拟地址信息为“004XX7b8”的待合并的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”与OS2中待合并的已分配内存页面的存储数据的哈希值进行对比,基于待合并的已分配内存页面的存储数据的哈希值的对比结果,判断在该临时二叉搜索树中是否存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面;当哈希值对比结果为相同时,则判断在该临时二叉搜索树中存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面;当哈希值对比结果为不同时,则判断在该临时二叉搜索树中不存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面。
需要说明的是,上述实施例中的任一操作系统中一个待合并的已分配内存页面是针对运行在该任一操作系统中的进程的待合并的已分配内存页面;而其他操作系统中待合并的已分配内存页面则是针对运行在该其他一个操作系统中的进程的待合并的已分配内存页面。
步骤S103:若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
具体地,当守护进程基于哈希值对比结果,判断出在临时二叉搜索树中存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面,则将这两个存储有相同存储数据的内存页面进行合并,释放出多余的内存页面空间,同时将该已合并的已分配内存页面存储至另一个二叉搜索树数据结构中,将该另一个二叉搜索树命名为合并二叉搜索树。
当守护进程基于哈希值对比结果,判断出在临时二叉搜索树中不存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面,则将该OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面和该待合并的已分配内存页面的存储数据的哈希值,如“DXXXXXXXXXXX7”,存储到该临时二叉搜索树中新建立的节点处。
具体地,该方法还包括:将已合并的已分配内存页面存储至预置存储区域;其中,当在预置存储区域中扫描到已合并的已分配内存页面时,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,还包括:将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比;基于对比结果,判断是否存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;若不存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
例如,守护进程将已合并的已分配内存页面存储至合并二叉搜索树中后,当守护进程对后续任一操作系统中已分配内存页面进行扫描时,需先在合并二叉搜索树中扫描保存的已合并的已分配内存页面,并通过memcmp函数将选取到的将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比,如,将选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面的存储数据,与已合并的已分配内存页面的存储数据的进行对比,若memcmp函数返回值为“0”,则该对比结果为OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面与合并二叉搜索树中已合并的已分配内存页面是具有相同存储数据的内存页面,则直接释放该选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面;若memcmp函数返回值大于“0”或小于“0”,则对比结果为OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面与合并二叉搜索树中已合并的已分配内存页面是不具有相同存储数据的内存页面,则基于哈希算法,计算选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面的存储数据的哈希值,基于该确定的哈希值,根据上述步骤S301-步骤S303判断是否选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面作为待合并的已分配内存页面;当判断该选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面可作为待合并的已分配内存页面,则继续上述步骤S202和步骤S203来判断在临时二叉搜索树中是否存在与该OS1中进程B的虚拟地址信息为“054XXXb8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,的待合并的已分配内存页面。
需要说明的是,存储在合并二叉搜索树中的已合并的已分配内存页面已经被至少两个操作系统占用;由于上述步骤S301-步骤S304、步骤S202和步骤S203均已经在上述实施例中具体阐述过,此处就不再赘述;在上述实施例中,若根据上述步骤S301-步骤303,判断为该选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面不可作为待合并的已分配内存页面,当判断在与合并二叉搜索树中已合并的已分配内存页面是不具有相同存储数据的内存页面时,则执行步骤S304。
具体地,该方法还包括:当检测到任一操作系统的任一进程对已合并的已分配内存页面的存储数据进行修改时,为任一进程创建该已合并的已分配内存页面的新内存页面实例。
例如,当操作系统内核检测到OS1的一个进程C对合并二叉搜索树中的已合并的已分配内存页面的存储数据进行修改时,则为该进程C创建该已合并的已分配内存页面的新内存页面实例,以供该进程C使用。
需要说明的是,当守护进程扫描完成后,删除临时二叉搜索树,同时保留合并二叉搜索树,等待下次扫描时重新建立临时二叉搜索树。
图4为本发明中的另一个实施例的多系统的内存管理装置的结构框架示意图。
第一扫描模块401,当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;判断模块402,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;合并模块403,若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
以下针对各个模块的具体实现做进一步的说明:
第一扫描模块401,当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描。
其中,内存页面中的存储数据包括但不限于:存放在内存页面中数据结构堆区中的对象和数组、存放在内存页面中数据结构栈区中的局部变量值和函数参数值、存放在内存页面中数据结构数据区的静态变量和字符串常量、存放在内存页面中数据结构代码区的应用程序的代码数据;每个内存页面的大小为4kb或4Mb。
具体地,当操作系统内核的第一扫描模块401,检测到当前移动终端共有两个操作系统,如OS1和OS2,运行时,在该操作系统内核中运行守护进程,且该守护进程分别对当前运行的各个操作系统中已分配内存页面中的内存数据进行扫描。
判断模块402,基于扫描到的已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面。
具体地,判断模块402,如图5所示,包括:选取单元501,确定存储数据的标识信息,并基于标识信息,选取各个操作系统中待合并的已分配内存页面;第一对比单元502,将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;第一判断单元503,基于对比结果,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
具体地,选取单元包括501:第一确定单元,基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;第二确定单元,针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;第一执行单元,若原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;第二执行单元,若原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
其中,预置算法包括但不限于:哈希算法。
例如,当守护进程第一次扫描内存页面时,选取单元501中的第一确定单元,基于哈希算法,对当前正在运行的两个操作系统中的一个操作系统,如OS1,中的已分配内存页面的存储数据进行计算,将计算结果确定为该已分配内存页面的存储数据的原始标识信息;如,计算OS1中A进程的一个虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据的原始哈希值为“DXXXXXXXXXXX7”,并记录该已分配内存页面与该已分配内存页面的存储数据的原始标识信息即通过计算得到的原始哈希值;选取单元501中的第二确定单元针对OS1中同一进程A,基于哈希算法,以预置周期,如5分钟,再次计算相同内存页面虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”,并将新计算的哈希值确定为该已分配内存页面的存储数据的标识信息,由于记录的原始标识信息“DXXXXXXXXXXX7”与再次确定的标识信息“DXXXXXXXXXXX7”相同,则选取单元501中的第一执行单元选取该标识信息所属的虚拟地址信息为“004XX7b8”已分配内存页面作为待合并的已分配内存页面;若基于5分钟预置周期,再次针对OS1中进程A的虚拟地址信息为“004XX7b8”的已分配内存页面的存储数据计算的哈希值,为“DXXXXXXXXXXX8”,则由于记录的原始标识信息“DXXXXXXXXXXX7”与再次确定的标识信息“DXXXXXXXXXXX8”不同;直到扫描结束前,选取单元501中的第二执行单元重复执行:针对同一进程,基于预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
当第一对比单元502将选取到的任一操作系统中待合并的已分配内存页面与该待合并的已分配内存页面的存储数据的哈希值,如,OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面与该待合并的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”,与一颗二叉搜索树数据结构中存储的其他操作系统,如OS2,中待合并的已分配内存页面进行比较;将该二叉搜索树命名为临时二叉搜索树,若判断该临时二叉搜索树中存在被存储的其他操作系统,如OS2,中待合并的已分配内存页面,则将OS1中进程A的该虚拟地址信息为“004XX7b8”的待合并的已分配内存页面的存储数据的哈希值“DXXXXXXXXXXX7”与OS2中待合并的已分配内存页面的存储数据的哈希值进行对比,第一判断单元503基于待合并的已分配内存页面的存储数据的哈希值的对比结果,判断在该临时二叉搜索树中是否存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面;当哈希值对比结果为相同时,则判断在该临时二叉搜索树中存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面;当哈希值对比结果为不同时,则判断在该临时二叉搜索树中不存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面。
需要说明的是,上述实施例中的任一操作系统中一个待合并的已分配内存页面是针对运行在该任一操作系统中的进程的待合并的已分配内存页面;而其他操作系统中待合并的已分配内存页面则是针对运行在该其他一个操作系统中的进程的待合并的已分配内存页面。
合并模块403,若存在存储有相同存储数据的已分配内存页面,则合并存储有相同存储数据的已分配内存页面。
具体地,当守护进程基于哈希值对比结果,判断出在临时二叉搜索树中存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面,则合并模块403将这两个存储有相同存储数据的内存页面进行合并,释放出多余的内存页面空间,同时将该已合并的已分配内存页面存储至另一个二叉搜索树数据结构中,将该另一个二叉搜索树命名为合并二叉搜索树。
当守护进程基于哈希值对比结果,判断出在临时二叉搜索树中不存在与OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,中待合并的已分配内存页面,则合并模块403将该OS1中进程A的虚拟地址信息为“004XX7b8”的待合并的已分配内存页面和该待合并的已分配内存页面的存储数据的哈希值,如“DXXXXXXXXXXX7”,存储到该临时二叉搜索树中新建立的节点处。
具体地,该装置还包括:存储模块,将已合并的已分配内存页面存储至预置存储区域;第二扫描模块,在预置存储区域中扫描已合并的已分配内存页面;其中,当第二扫描模块在预置存储区域中扫描到已合并的已分配内存页面时,判断模块还包括:第二对比单元,将任一操作系统中一个已分配内存页面的存储数据与合并后的已分配内存页面的存储数据进行对比;第二判断单元,基于对比结果,判断是否存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;第三对比单元,若不存在与任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
例如,存储模块将已合并的已分配内存页面存储至合并二叉搜索树中后,当守护进程对后续任一操作系统中已分配内存页面进行扫描时,需先由第二扫描模块在合并二叉搜索树中扫描保存的已合并的已分配内存页面,并通过判断模块中的第二对比单元的memcmp函数将选取到的将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比,如,将选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面的存储数据,与已合并的已分配内存页面的存储数据的进行对比,若memcmp函数返回值为“0”,则判断模块中的第二判断单元判断该对比结果为OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面与合并二叉搜索树中已合并的已分配内存页面是具有相同存储数据的内存页面,则直接释放该选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面;若memcmp函数返回值大于“0”或小于“0”,则判断模块中的第二判断单元判断对比结果为OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面与合并二叉搜索树中已合并的已分配内存页面是不具有相同存储数据的内存页面,则判断模块中的第三对比单元基于哈希算法,计算选取到的OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面的存储数据的哈希值,基于该确定的哈希值,根据上述步骤S301-步骤S303判断是否选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面作为待合并的已分配内存页面;当判断该选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面可作为待合并的已分配内存页面,则继续上述步骤S202和步骤S203来判断在临时二叉搜索树中是否存在与该OS1中进程B的虚拟地址信息为“054XXXb8”的待合并的已分配内存页面存储有相同存储数据的其他操作系统,如OS2,的待合并的已分配内存页面。
需要说明的是,存储在合并二叉搜索树中的已合并的已分配内存页面已经被至少两个操作系统占用;由于上述第一确定单元、第二确定单元、第一执行单元、第二执行单元、第一对比单元502、第一判断单元503均已经在上述实施例中具体阐述过,此处就不再赘述;在上述实施例中,若根据上述第一确定单元、第二确定单元、第一执行单元,判断为该选取该OS1中进程B的虚拟地址信息为“054XXXb8”的已分配内存页面不可作为待合并的已分配内存页面,当判断在与合并二叉搜索树中已合并的已分配内存页面是不具有相同存储数据的内存页面时,则执行第二执行单元。
具体地,该装置还包括:创建模块,用于当检测到任一操作系统的任一进程对已合并的已分配内存页面的存储数据进行修改时,为任一进程创建该已合并的已分配内存页面的新内存页面实例。
例如,当操作系统内核检测到OS1的一个进程C对合并二叉搜索树中的已合并的已分配内存页面的存储数据进行修改时,则创建模块为该进程C创建该已合并的已分配内存页面的新内存页面实例,以供该进程C使用。
需要说明的是,当守护进程扫描完成后,通过该装置还包括的删除模块删除临时二叉搜索树,同时保留合并二叉搜索树,等待下次扫描时重新建立临时二叉搜索树。
本发明的又一个实施例提出了一种移动终端,包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序;处理器执行计算机程序时实现多系统的内存管理方法技术方案中的任意一个技术方案,由于这些技术方案已在上述实施例中清楚地阐述过了,在此就不再赘述。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种多系统的内存管理方法,其特征在于,包括:
当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;
基于扫描到的所述已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;
若存在存储有相同存储数据的已分配内存页面,则合并所述存储有相同存储数据的已分配内存页面。
2.根据权利要求1所述的方法,其中,基于扫描到的所述已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,包括:
确定所述存储数据的标识信息,并基于所述标识信息,选取各个操作系统中待合并的已分配内存页面;
将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;
基于对比结果,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
3.根据权利要求2所述的方法,其中,确定所述存储数据的标识信息,并基于所述标识信息,选取各个操作系统中待合并的已分配内存页面的步骤,包括
基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;
针对同一进程,基于所述预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;
若所述原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;
若所述原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于所述预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
4.根据权利要求1或2所述的方法,其中,所述方法还包括:
将已合并的已分配内存页面存储至预置存储区域;
其中,当在所述预置存储区域中扫描到所述已合并的已分配内存页面时,所述基于扫描到的所述已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面的步骤,还包括:
将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比;
基于对比结果,判断是否存在与所述任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;
若不存在与所述任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的所述任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取所述任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
5.根据权利要求1所述的方法,其中,所述方法还包括:
当检测到任一操作系统的任一进程对已合并的已分配内存页面的存储数据进行修改时,为所述任一进程创建该已合并的已分配内存页面的新内存页面实例。
6.一种多系统的内存管理装置,其特征在于,包括:
第一扫描模块,用于当检测到至少两个操作系统运行时,对各个操作系统中已分配内存页面中的存储数据进行扫描;
判断模块,用于基于扫描到的所述已分配内存页面中的存储数据,判断在不同操作系统中是否存在存储有相同存储数据的已分配内存页面;
合并模块,用于若存在存储有相同存储数据的已分配内存页面,则合并所述存储有相同存储数据的已分配内存页面。
7.根据权利要求6所述的装置,其中,所述判断模块包括:
选取单元,用于确定所述存储数据的标识信息,并基于所述标识信息,选取各个操作系统中待合并的已分配内存页面;
第一对比单元,用于将任一操作系统中一个待合并的已分配内存页面的存储数据的标识信息与其他操作系统中待合并的已分配内存页面的存储数据的标识信息进行对比;
第一判断单元,用于基于对比结果,判断在其他操作系统中是否存在待合并的已分配内存页面,该待合并的已分配内存页面与所述任一操作系统中一个待合并的已分配内存页面存储有相同的存储数据。
8.根据权利要求7所述的装置,其中,所述选取单元包括:
第一确定单元,用于基于预置算法,确定任一操作系统中已分配内存页面的存储数据的原始标识信息;
第二确定单元,用于针对同一进程,基于所述预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息;
第一执行单元,用于若所述原始标识信息与再次确定的标识信息相同时,则选取该标识信息所属的已分配内存页面作为待合并的已分配内存页面;
第二执行单元,用于若所述原始标识信息与再次确定的标识信息不同时,则重复执行针对同一进程,基于所述预置算法,以预置周期再次确定相同内存页面地址的已分配内存页面的存储数据的标识信息的步骤,直至再次确定的标识信息与上一次确定的标识信息相同,并将该已分配内存页面作为待合并的已分配内存页面。
9.根据权利要求6或7所述的装置,其中,所述装置还包括:
存储模块,用于将已合并的已分配内存页面存储至预置存储区域;
第二扫描模块,用于在所述预置存储区域中扫描所述已合并的已分配内存页面;
其中,当第二扫描模块在所述预置存储区域中扫描到所述已合并的已分配内存页面时,所述判断模块还包括:
第二对比单元,用于将任一操作系统中一个已分配内存页面的存储数据与已合并的已分配内存页面的存储数据进行对比;
第二判断单元,用于基于对比结果,判断是否存在与所述任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面;
第三对比单元,用于若不存在与所述任一操作系统中一个已分配内存页面存储有相同存储数据的已合并的已分配内存页面,则基于确定的所述任一操作系统中一个已分配内存页面的存储数据的标识信息,判断是否选取所述任一操作系统中一个已分配内存页面作为待合并的已分配内存页面。
10.一种移动终端,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一项所述的多系统的内存管理方法。
CN201710570737.0A 2017-07-13 2017-07-13 多系统的内存管理方法、管理装置以及移动终端 Active CN107329836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710570737.0A CN107329836B (zh) 2017-07-13 2017-07-13 多系统的内存管理方法、管理装置以及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710570737.0A CN107329836B (zh) 2017-07-13 2017-07-13 多系统的内存管理方法、管理装置以及移动终端

Publications (2)

Publication Number Publication Date
CN107329836A true CN107329836A (zh) 2017-11-07
CN107329836B CN107329836B (zh) 2021-01-22

Family

ID=60226929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710570737.0A Active CN107329836B (zh) 2017-07-13 2017-07-13 多系统的内存管理方法、管理装置以及移动终端

Country Status (1)

Country Link
CN (1) CN107329836B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117274A (zh) * 2018-08-28 2019-01-01 Oppo广东移动通信有限公司 应用于浏览器的内存管理方法、装置、终端及存储介质
CN109918204A (zh) * 2018-03-22 2019-06-21 南京地平线机器人技术有限公司 数据处理系统及方法
CN111211993A (zh) * 2018-11-21 2020-05-29 百度在线网络技术(北京)有限公司 流式计算的增量持久化方法及其装置
WO2022247821A1 (zh) * 2021-05-26 2022-12-01 华为技术有限公司 一种内存页处理方法及其相关设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761623A (zh) * 2012-07-26 2012-10-31 北京奇虎科技有限公司 资源自适配下载方法、系统、数据存储服务器、以及通信系统
CN103019884A (zh) * 2012-11-21 2013-04-03 北京航空航天大学 基于虚拟机快照的内存页去重方法及装置
CN103034591A (zh) * 2012-11-21 2013-04-10 北京航空航天大学 虚拟机内存共享方法及装置
CN103995863A (zh) * 2014-05-19 2014-08-20 华为技术有限公司 一种重复数据删除的方法及装置
CN104133888A (zh) * 2014-07-30 2014-11-05 宇龙计算机通信科技(深圳)有限公司 一种多系统数据处理方法、装置及终端
US20160239321A1 (en) * 2014-09-18 2016-08-18 Intel Corporation Supporting multiple operating system environments in computing device without contents conversion
CN106155933A (zh) * 2016-07-06 2016-11-23 乾云众创(北京)信息科技研究院有限公司 一种基于KSM及Pass‑through相结合的虚拟机内存共享方法
CN106569745A (zh) * 2016-10-25 2017-04-19 暨南大学 一种内存过载下面向重复数据删除的内存优化系统
CN106796536A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 用于多操作系统的内存访问方法、装置和电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761623A (zh) * 2012-07-26 2012-10-31 北京奇虎科技有限公司 资源自适配下载方法、系统、数据存储服务器、以及通信系统
CN103019884A (zh) * 2012-11-21 2013-04-03 北京航空航天大学 基于虚拟机快照的内存页去重方法及装置
CN103034591A (zh) * 2012-11-21 2013-04-10 北京航空航天大学 虚拟机内存共享方法及装置
CN103995863A (zh) * 2014-05-19 2014-08-20 华为技术有限公司 一种重复数据删除的方法及装置
CN104133888A (zh) * 2014-07-30 2014-11-05 宇龙计算机通信科技(深圳)有限公司 一种多系统数据处理方法、装置及终端
US20160239321A1 (en) * 2014-09-18 2016-08-18 Intel Corporation Supporting multiple operating system environments in computing device without contents conversion
CN106155933A (zh) * 2016-07-06 2016-11-23 乾云众创(北京)信息科技研究院有限公司 一种基于KSM及Pass‑through相结合的虚拟机内存共享方法
CN106569745A (zh) * 2016-10-25 2017-04-19 暨南大学 一种内存过载下面向重复数据删除的内存优化系统
CN106796536A (zh) * 2016-12-27 2017-05-31 深圳前海达闼云端智能科技有限公司 用于多操作系统的内存访问方法、装置和电子设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918204A (zh) * 2018-03-22 2019-06-21 南京地平线机器人技术有限公司 数据处理系统及方法
CN109918204B (zh) * 2018-03-22 2021-04-23 南京地平线机器人技术有限公司 数据处理系统及方法
CN109117274A (zh) * 2018-08-28 2019-01-01 Oppo广东移动通信有限公司 应用于浏览器的内存管理方法、装置、终端及存储介质
CN111211993A (zh) * 2018-11-21 2020-05-29 百度在线网络技术(北京)有限公司 流式计算的增量持久化方法及其装置
CN111211993B (zh) * 2018-11-21 2023-08-11 百度在线网络技术(北京)有限公司 流式计算的增量持久化方法、装置及存储介质
WO2022247821A1 (zh) * 2021-05-26 2022-12-01 华为技术有限公司 一种内存页处理方法及其相关设备

Also Published As

Publication number Publication date
CN107329836B (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN103955399B (zh) 一种虚拟机迁移方法和装置及物理主机
CN107329836A (zh) 多系统的内存管理方法、管理装置以及移动终端
CN106201659B (zh) 一种虚拟机热迁移的方法及宿主机
CN108062202A (zh) 一种文件分块存储方法及系统
CN103677878B (zh) 一种打补丁的方法和装置
CN104252419B (zh) 一种内存分配的方法及装置
CN107608757A (zh) 一种基于容器的隔离处理方法及相关设备
CN109445861A (zh) 系统启动方法、装置、计算机装置及存储介质
CN103942292A (zh) 虚拟机镜像文件处理方法、装置及系统
CN108153594B (zh) 一种人工智能云平台的资源碎片整理方法及电子设备
CN101960442B (zh) 使用虚拟技术输入/输出数据的方法和设备
CN106980537B (zh) 云计算环境中删除云主机的方法和系统
CN104717182B (zh) 网络防火墙的安全策略部署方法和装置
CN106776113A (zh) 一种虚拟机备份方法及装置
CN103034591A (zh) 虚拟机内存共享方法及装置
CN111399988B (zh) 一种云平台的内存安全检测系统及方法
CN107092491A (zh) 一种配置加载方法和系统
CN108874683A (zh) 固态存储设备的垃圾回收的方法以及计算机设备
CN107832446A (zh) 一种配置项信息的搜索方法及计算设备
CN108718307B (zh) 一种IaaS云环境下面向内部威胁的行为追溯检测方法
CN107329806A (zh) 一种开发环境构建方法及装置
CN114138402A (zh) 一种容器集群部署平台
CN106845215A (zh) 基于虚拟化环境下的安全防护方法及装置
CN102662799A (zh) 数据备份的方法、服务器及热备份系统
US8176286B2 (en) Memory recycling in computer systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zou Shihong

Inventor after: Huang Haodong

Inventor after: Li Lishuai

Inventor after: Xu Guoai

Inventor before: Li Lishuai

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230512

Address after: Room 401, Floor 4, No. 2, Haidian East Third Street, Haidian District, Beijing 100080

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: YUANXIN TECHNOLOGY