CN116107668A - 一种应用程序运行方法及其操作系统 - Google Patents

一种应用程序运行方法及其操作系统 Download PDF

Info

Publication number
CN116107668A
CN116107668A CN202310392249.0A CN202310392249A CN116107668A CN 116107668 A CN116107668 A CN 116107668A CN 202310392249 A CN202310392249 A CN 202310392249A CN 116107668 A CN116107668 A CN 116107668A
Authority
CN
China
Prior art keywords
application program
application
virtual machine
data
domain
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
CN202310392249.0A
Other languages
English (en)
Other versions
CN116107668B (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.)
Ziguang Tongxin Microelectronics Co Ltd
Original Assignee
Ziguang Tongxin Microelectronics Co Ltd
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 Ziguang Tongxin Microelectronics Co Ltd filed Critical Ziguang Tongxin Microelectronics Co Ltd
Priority to CN202310392249.0A priority Critical patent/CN116107668B/zh
Publication of CN116107668A publication Critical patent/CN116107668A/zh
Application granted granted Critical
Publication of CN116107668B publication Critical patent/CN116107668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请所述的一种应用程序运行方法及其操作系统,涉及数据处理技术领域,该方法包括:响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的;响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。如此能够,减少了存储资源的占用和虚拟机运行性能的损耗。

Description

一种应用程序运行方法及其操作系统
技术领域
本申请涉及数据处理技术领域,尤其涉及一种应用程序运行方法及其操作系统。
背景技术
虚拟机解决不同芯片指令架构上相同应用程序的开发成本问题。当前,在不支持多线程的资源受限的设备中,每个应用程序实例化的数据内设置应用程序的唯一信息,并在单线程执行环境中用多个逻辑通道来模拟多线程,使虚拟机可在不同逻辑通道上通过识别唯一信息识别不同的应用程序的实现多个应用的运行。
但由于,应用程序实例化的数据需要记录所属的应用程序的唯一信息,增大了应用程序对存储资源的开销。
发明内容
有鉴于此,本申请实施例提供了一种应用程序运行方法及其操作系统,旨在应用程序实例化时,减少对数据所属信息的记录,从而减少存储资源的开销。
第一方面,本申请实施例提供了一种应用程序运行方法,所述方法包括:
响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的;
响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。
可选的,所述第一范围的虚拟内存中还包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈;
所述第一应用程序总数据包括第一应用程序的全局数据、第一应用程序的应用数据、第一应用程序的引用数据和第一应用程序的常量数据。
可选的,所述虚拟机运行域的配置信息还包括所述第一应用程序的标识和所述逻辑通道的标识。
可选的,在所述响应于初始指令,为第一应用程序分配虚拟机运行域之后,还包括:
第一应用程序通过共享接口访问第二应用程序时,
将所述虚拟机运行域的配置信息变更为与所述第二应用程序关联的信息,以便所述第一应用程序以第二应用程序身份访问第二应用程序的虚拟机运行域,或,将第一应用程序的第一数据写入第二应用程序的虚拟机运行域;所述变更包括将运行所述第一应用程序的虚拟内存的第一范围变更为运行第二应用程序的虚拟内存的第二范围,以及将第一应用程序的标识变更为所述第二应用程序的标识;所述第二范围的虚拟内存中包括所述第二应用程序实例化的第二应用程序总数据,所述第二应用程序总数据包括第二应用程序的全局数据,所述第一数据是第一应用程序的全局数据中的数据。可选的,在所述响应于初始指令,为第一应用程序分配虚拟机运行域之后,还包括:
第一应用程序通过非共享接口访问第三应用程序时,
若第三应用程序实例化的程序包与第一应用程序实例化的程序包为同一程序包,则所述第一应用程序直接访问第三应用程序的信息数据,所述虚拟机运行域的第一范围的虚拟内存中还包括执行所述程序包所产生的第三应用程序实例化的数据;
若第三应用程序实例化的程序包与第一应用程序实例化的程序包非同一程序包,则确认所述第一应用程序的虚拟机运行域的虚拟内存的第一范围与所述第三应用的虚拟机运行域的虚拟内存的第三范围是否相同,若不相同,则禁止第一应用程序访问第三应用程序的数据。
可选的,所述初始指令为上电指令或打开逻辑通道指令时,所述第一应用程序为预设的默认应用程序;
或,
所述初始指令为应用程序选择指令时,所述第一应用程序是根据所述初始指令中携带的第一应用程序的标识确定的。
可选的,在所述响应于外部实体设备向第一逻辑通道发送的第一指令之前,还包括:
响应于外部实体设备的启动信号,启动操作系统;
初始化所述操作系统的虚拟机及虚拟机的运行环境;
对所述虚拟机及所述运行环境进行自检;
所述操作系统与所述外部实体设备进行传输协议握手。
可选的,所述方法还包括:
当所述第一逻辑通道关闭或设备失电,将所述虚拟机运行域清除,所述设备包括外部实体设备和所述操作系统的设备中的一种或多种。
第二方面,本申请还提出一种应用程序运行的操作系统,包括底层操作子系统、虚拟内存、虚拟机及虚拟机运行环境,所述虚拟机及虚拟机运行环境中设置有虚拟机运行域管理模块,所述虚拟机运行域管理模块包括配置子模块和执行子模块,
所述底层操作子系统用于将从外部实体设备接收到的初始指令或业务指令发送至所述虚拟机运行域管理模块;
所述配置子模块,用于响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的;
所述执行子模块,用于响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。
所述虚拟内存用于存储所述第一应用程序及所述第一应用程序的总数据。
可选的,所述第一范围的虚拟内存中还包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈;
所述第一应用程序总数据包括第一应用程序的全局数据、第一应用程序的应用数据、第一应用程序的引用数据和第一应用程序的常量数据。
本申请实施例提供了一种应用程序运行方法及其操作系统。在执行所述方法时,响应于起始指令,为第一应用程序分配虚拟机运行域,该虚拟机运行域为运行所述第一应用程序所需的一定范围的虚拟内存,该虚拟内存中存储有第一应用程序实例化的第一应用程序总数据,然后,响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。如此能够,在接收到起始指令后,则为第一应用程序分配虚拟机运行域,在后续从同一逻辑通道内接收到的业务指令均可发送给基于该虚拟机运行域运行的第一应用程序。进而,当需要同时运行多个应用程序运行时,不再需要在每个应用程序实例化的数据中记录唯一信息,也不再需要通过识别唯一信息识别不同的应用程序,而是响应于起始指令,为该起始指令对应的应用程序分配虚拟机运行域,后续与该起始指令同一逻辑通道内的业务指令也发送至基于该虚拟机运行域运行的应用程序进行处理。因此,本申请中通过配置虚拟机运行域,减少了在应用程序实例化数据中记录唯一信息所占用存储资源,也减少了在访问应用程序的数据时,需要将该应用程序与被访问的应用程序的数据所属的应用程序(根据被访问的应用程序的数据中记录的唯一信息确定所属的应用程序)进行一致性对比的步骤,减少了虚拟机运行性能的损耗。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用程序运行方法流程图;
图2为本申请实施例提供的一种虚拟机运行域的数据结构示意图;
图3为本申请实施例提供的第一应用程序的虚拟机运行域和第二应用程序的虚拟机运行域之间的数据访问范围隔离示意图;
图4为本申请实施例提供的一种多应用程序运行流程示意图;
图5为本申请实施例提供的一种应用程序运行的操作系统的结构示意图;
图6为本申请实施例提供的一种多应用程序运行的操作系统结构示意图。
具体实施方式
虚拟机解决不同芯片指令架构上相同应用程序的开发成本问题。在资源受限的设备中,虚拟机运行多个应用程序的过程时,对应用程序实例化的数据,例如应用数据中的数据对象及接口对象,都会记录与应用程序包关联的唯一信息,该唯一信息可能包含程序包和应用程序的唯一信息,如程序包名称,应用程序唯一标识等,当数据对象和接口对象被访问时,虚拟机运行环境会检查当前运行的应用与数据对象和接口对象中记录的唯一信息是否满足访问策略,否则禁止访问。数据对象及接口对象记录了所属应用程序包和/或应用程序的标识信息,一方面,在资源受限的设备中,每创建一个这样的数据对象和接口对象都需要记录所属信息,无形增大了应用程序对存储资源的开销,另一方面,在虚拟机运行应用程序访问数据对象和接口对象时需要加载访问者的信息和被访问者的信息并检查安全策略,使得虚拟机运行性能有所损耗。虽然从单一指令看,此损失并不大,但虚拟机运行应用程序时,所执行的字节码指令个数和数据对象的数量规模很大,尽量减少这种损耗对于应用运行存储开销和性能极为有利。
基于上述的问题,本申请在接收到起始指令后,则为第一应用程序分配虚拟机运行域,在后续从同一逻辑通道内接收到的业务指令均可发送给基于该虚拟机运行域运行的第一应用程序。进而,当需要同时运行多个应用程序运行时,不再需要在每个应用程序实例化的数据中记录唯一信息,也不再需要通过识别唯一信息识别不同的应用程序,而是响应于起始指令,为该起始指令对应的应用程序分配虚拟机运行域,后续与该起始指令同一逻辑通道内的业务指令也发送至基于该虚拟机运行域运行的应用程序进行处理。因此,本申请中通过配置虚拟机运行域,减少了在应用程序实例化数据中记录唯一信息所占用存储资源,也减少了在访问应用程序的数据时,需要将该应用程序与被访问的应用程序的数据所属的应用程序(根据被访问的应用程序的数据中记录的唯一信息确定所属的应用程序)进行一致性对比的步骤,减少了虚拟机运行性能的损耗。
具体的,在数据访问时,第一应用程序访问第一应用程序的虚拟机运行域内的数据时,以及第一应用程序通过共享接口访问第二应用程序数据,将虚拟机运行域的虚拟内存的第一范围变更为第二应用程序对应的虚拟内存第二范围时,第一应用程序均可以直接进行数据访问,无需检查访问的安全性,减少虚拟机运行性能的损耗。
本申请执行下述的一种应用程序运行方法,运行各应用程序的操作系统中包括底层操作子系统、虚拟机及虚拟机的运行环境、虚拟内存。所述底层操作子系统用于接收外部实体设备的
显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种应用程序运行方法流程图,参见图1,一种应用程序运行方法,包括:
S101、响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的。
初始指令是指示操作程序为第一应用程序配置虚拟机运行域的指令。该初始指令由外部实体设备向操作系统发送的。
应用程序选择指令是外部实体设备通过指定的逻辑通道向操作系统发送来的指令,操作系统为应用程序选择指令所选择的应用程序分配虚拟机运行域。
虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,当然,还可以包括第一应用程序的标识和所述逻辑通道的标识。
S102、响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。
业务指令为第一应用程序的起始指令完成后(已为第一应用程序分配虚拟机运行域),通过发送该起始指令的同一逻辑通道,发送给操作系统。
操作系统将该业务指令发给基于虚拟机运行域运行的第一应用程序进行处理,第一应用程序可以在该虚拟机运行域(设置的第一范围的虚拟内存)中访问需要的数据,处理业务指令,获得处理结果。
第一应用程序运行过程中用到的第一应用程序实例化的数据(包括数据对象和接口对象等)存储在第一范围的虚拟内存中,并通过虚拟机映射到芯片物理存储区。
初始指令与所述业务指令通过同一逻辑通道传输中,该逻辑通道是在单线程执行环境中模拟多线程中的一个线程。在本申请中,同一逻辑通道上的传输的业务指令,可基于该逻辑通道最近一次传输的起始指令所分配的虚拟机运行域,运行该虚拟机运行域对应的应用程序。避免了采用操作系统的虚拟机在不同的逻辑通道上通过识别唯一信息来查找对应的应用程序,从而运行对应的应用程序。
根据上述的步骤S101-S102可知,本申请为第一应用程序分配虚拟机运行域,在后续从同一逻辑通道内接收到的业务指令均可发送给基于该虚拟机运行域运行的第一应用程序。进而,当需要同时运行多个应用程序运行时,不再需要在每个应用程序实例化的数据中记录唯一信息,也不再需要通过识别唯一信息识别不同的应用程序,而是响应于起始指令,为该起始指令对应的应用程序分配虚拟机运行域,后续与该起始指令同一逻辑通道内的业务指令也发送至基于该虚拟机运行域运行的应用程序进行处理。因此,本申请中通过配置虚拟机运行域,减少了在应用程序实例化数据中记录唯一信息所占用存储资源,也减少了在访问应用程序的数据时,需要将该应用程序与被访问的应用程序的数据所属的应用程序(根据被访问的应用程序的数据中记录的唯一信息确定所属的应用程序)进行一致性对比的步骤,减少了虚拟机运行性能的损耗。
在本申请实施例中,在步骤S101之后,当同一逻辑通道开启的状态下,再次接收到新的应用程序选择指令时,则在一种可能的实现方式中,当该逻辑通道在当前开启时间段内,已根据最近一次接收到的起始指令,为当前的应用程序分配过虚拟机运行域,则当再次接收到应用程序选择指令开启新的应用程序时,则可将当前应用程序分配的虚拟机运行域的配置信息变更为对应新的应用程序的配置信息,无需为新的应用程序分配新的虚拟机运行域,该变更配置信息可以包括将运行当前应用程序的虚拟内存的范围变更为运行新的应用程序的虚拟内存的范围,以及将当前应用程序的标识变更为所述新的应用程序的标识;变更范围的虚拟内存中包括新的应用程序实例化的应用程序总数据。
在本申请实施例中,在步骤S101中,第一应用程序是根据初始指令确定的,存在多种可能的实现方式,具体如下:
在一种可能的实现方式中,初始指令可为外部实体设备控制运行第一应用程序的操作系统启动的指令(例如,上电指令)或外部实体设备与操作系统建立连接时的指令(例如,打开逻辑通道指令)时,所述第一应用程序为预设的默认应用程序。
其中,上电指令是外部实体设备向该操作系统的设备发送控制硬件芯片上电启动操作系统的指令。打开逻辑通道指令是在操作系统启动后,操作系统从外部实体设备接收的开启逻辑通道的指令。默认应用程序可以为用户预设的应用程序,该默认应用程序是打开某一逻辑通道时默认启动的应用程序。
在另一种可能的实现方式中,所述初始指令为应用程序选择指令时,所述第一应用程序是该应用程序选择指令所选择的应用程序。
应用程序选择指令是在操作系统启动后,操作系统从外部实体设备接收的指令,操作系统为应用程序选择指令所选择的应用程序配置虚拟机运行域。
该应用程序选择指令所选择的应用程序可以是根据所述初始指令中携带的第一应用程序的标识来确定的,当然也可根据应用程序选择指令中对应的应用程序设置的编号来确定的,当然也可以通过其他方式确定应用程序选择指令所选择的应用程序。
在本申请实施例中,第一应用程序分配的虚拟机运行域中第一范围的虚拟内存除了可以包括第一应用程序实例化的第一应用程序总数据,还可以包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈。
同理,参见图2所示的一种虚拟机运行域的数据结构示意图,其他应用程序分配虚拟机运行域时,各应用程序对应范围的虚拟内存中,也可以包括应用程序实例化的应用程序总数据,还可以包括应用程序的全局变量堆、应用程序的虚拟机运行调用栈。
其中,应用程序的全局变量堆用于虚拟机负责的非法指针访问的越界检查,除了全局变量堆所属的应用程序所在的程序包实例化生成的各应用程序可以访问,非该程序包实例化的其他应用程序不可直接访问。
应用程序的虚拟机运行调用栈包括栈帧、接口入数、局部变量、操作数栈,用于虚拟机负责的非法指针访问的越界检查,应用程序不可直接访问。
应用程序总数据包括全局数据、应用数据、引用数据和常量数据。应用程序总数据中的全局数据、应用数据、引用数据和常量数据可在应用程序实例化时生成,在应用程序执行业务指令时对应进行数据生成或更新。
在本申请实施例中,上述图1所述的步骤S101之后,步骤S102中执行业务指令,上述的第一应用程序进行数据访问时,可能存在的多种可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本申请实施例的全部实现方式。
在一种可能的实现方式中,第一应用程序可基于第一应用程序的虚拟机运行域,在第一范围的虚拟内存中直接访问第一应用程序总数据中的全局数据、应用数据、引用数据和常量数据。
第一应用程序直接访问虚拟机运行域中第一范围的虚拟内存的第一应用程序总数据,无需检查数据访问的安全性。
在另一种可能的实现方式中,参见图3所示的第一应用程序的虚拟机运行域和第二应用程序的虚拟机运行域之间的数据访问范围隔离示意图。
第一应用程序通过共享接口访问第二应用程序时,将所述虚拟机运行域的配置信息变更为与所述第二应用程序关联的信息,以便所述第一应用程序以第二应用程序身份访问第二应用程序的虚拟机运行域,或,将第一应用程序的第一数据写入第二应用程序的虚拟机运行域;所述变更包括将运行所述第一应用程序的虚拟内存的第一范围变更为运行第二应用程序的虚拟内存的第二范围,以及将第一应用程序的标识变更为所述第二应用程序的标识;所述第二范围的虚拟内存中包括所述第二应用程序实例化的第二应用程序总数据,所述第二应用程序总数据包括第二应用程序的全局数据,所述第一数据是第一应用程序的全局数据中的数据。
第一应用程序通过共享接口访问第二应用程序,在一种可能的实现方式中,第一应用程序以第二应用程序的身份到第二应用程序的虚拟机运行域获取需要的数据(第一应用程序以第二应用程序的身份访问第二应用程序的虚拟机运行域的数据范围与第二应用程序访问第二应用程序的虚拟机运行域的数据范围相同)。在另一种可能的实现方式中,将第一应用程序的第一数据写入第二应用程序的虚拟机运行域,具体为第二应用程序通过共享接口到第一应用程序的虚拟机运行域中读取数据的数据范围为第一应用程序的全局数据,因此,上述的第一数据是第一应用程序的全局数据中的数据。
当前正在运行的应用程序通过共享接口访问其它应用程序的数据对象和接口对象时,通过变更虚拟机运行域信息,使得虚拟机运行域的虚拟内存的范围变更成通过共享接口访问的其它应用程序对应的虚拟内存的范围,第一应用程序可直接通过共享接口访问第二范围的虚拟内存中存有第二应用程序的全局数据,无需检查数据访问的安全性,节省记录全局数据所属应用程序的存储空间及减少访问数据前进行安全对比检测的进程量。
在又一种可能的实现方式中,第一应用程序通过非共享接口访问第三应用程序时,
若第三应用程序实例化的程序包与第一应用程序实例化的程序包为同一程序包,则所述第一应用程序直接访问第三应用程序的信息数据,所述虚拟机运行域的第一范围的虚拟内存中还包括执行所述程序包所产生的第三应用程序实例化的数据。
第三应用程序实例化的数据可以包括第三应用程序总数据、第三应用程序的全局变量堆和第三应用程序的虚拟机运行调用栈。第三应用程序总数据包括第三应用程序的全局数据、第三应用程序的应用数据、第三应用程序的引用数据和第三应用程序的常量数据。
第一应用程序访问第三应用程序的信息数据可以包括第三应用程序的全局变量堆、第三应用程序的全局数据和第三应用程序的常量数据。此外,根据预设的访问策略,该信息数据还可以根据需要增加第三应用程序的应用数据和/或第三应用程序的引用数据。若第三应用程序实例化的程序包与第一应用程序实例化的程序包非同一程序包,则确认所述第一应用程序的虚拟机运行域的虚拟内存的第一范围与所述第三应用的虚拟机运行域的虚拟内存的第三范围是否相同,若不相同,则禁止第一应用程序访问第三应用程序的数据。
第一应用程序通过非共享接口访问第三应用时,不变更虚拟机运行域。
应用程序在虚拟机运行环境中运行时,多个应用程序之间的数据(所述应用数据包含数据对象、程序方法等)访问权限是归属于所属应用程序本身,在常用的应用程序开发中存在两种多应用程序,即相同程序包实例化(此程序包实例化指的是安装应用)出多个应用程序和不同程序包实例化出多个应用程序,通常情况下,从数据安全的角度设计,不同程序包实例化出的多个应用程序之间,各自的数据只能被各应用自己访问,各应用程序之间不能相互访问应用数据。因此,当第一应用程序实例化的程序包与第三应用实例化的程序包非同一程序包时,需要进行安全性检测,在本申请中,检测方法简单,只需判断应用的虚拟内存域的虚拟内存的范围是否一致,减少对应用实例化的数据对象和接口对象等进行数据所属应用的唯一标注,也无需在数据访问时,进行应用和数据所属的应用的一致性对比。节省存储空间,且对比方法快捷。此外,对相同程序包实例化出的多个应用程序而言,程序包中可共享各自的公开的全局数据和程序运行模块内可见的常量数据,至于数据是否公开由业务需求定义。因此,当第一应用程序实例化的程序包和第三应用实例化的程序包相同时,则无需进行虚拟机运行域一致性对比的安全性检测,直接进行访问,大大减少数据存储和对比的计算量。
根据上述三种第一应用程序访问三种应用数据(第一应用程序的应用数据、第二应用程序的应用数据以及第三应用的应用数据)的三种可能实现方式,从应用程序运行性能的角度分析,多应用程序运行过程中,不再需要对数据访问者和数据本身的归属信息进行一致性检查,只需要识别是否在同一个虚拟机运行域中运行即可,从而提高的运行性能。
在本申请实施例中,上述图1所述的步骤S101之前,还存在可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本申请实施例的全部实现方式。
A1、响应于外部实体设备的启动信号,启动操作系统。
资源受限的设备上的操作系统接收外部实体的信号启动操作系统。
A2、初始化所述操作系统的虚拟机及虚拟机的运行环境,并完成所述虚拟机及所述运行环境进行自检。初始化VM+RE(VM指的是虚拟机,RE指的是运行环境)并完成自检。
自检包括但不限于虚拟内存是否初始化、虚拟机堆栈、一致性数据审计等。
A3、所述操作系统与所述外部实体设备进行传输协议握手。
根据上述A1-A3可知,建立好外部实体设备与操作系统的数据通信链接,为后续的指令传输建立稳定的传输环境。
在本申请实施例中,上述图1所述的步骤S102之后,还存在可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本申请实施例的全部实现方式。
当所述第一逻辑通道关闭或设备失电,将所述虚拟机运行域清除。
所述设备包括外部实体设备和包括操作系统的设备中的一种或多种。
所述包括操作系统的设备可以是资源受限的设备。
上面介绍了本申请实施例提供的一种应用程序运行方法,下面结合具体的应用场景介绍在多应用程序运行的环境中,对一种多应用程序运行方法做示例性的说明,在该实施例中以三个应用程序(A应用、B应用和C应用)为例,当然在实际应用中,应用程序数量不局限于三个,可根据实际需求确定。
图4为本申请实施例提供的一种多应用程序运行流程示意图,参见图4,本申请提出一种多应用程序运行方法,包括:
S401、建立数据传输连接。
资源受限的设备的操作系统中的底层操作子系统接收外部实体的上电信号并启动。
具体的,资源受限设备的操作系统中的底层操作子系统外部实体的上电信号后启动。
底层操作子系统启动完成虚拟机(virtual machine,VM)及其运行环境(Runtimeenvironment,RE)的初始化和自检。
具体的,底层操作子系统启动虚拟机VM及虚拟机运行环境RE(虚拟机和运行环境在图2中以VM+RE为例)的初始化和自检,在完成初始化及自检后,VM+RE向底层操作子系统返回初始化及自检结果。自检包括但不限于虚拟内存是否初始化、虚拟机堆栈、一致性数据审计等。
外部实体装置与资源受限的设备上的操作系统完成传输协议握手。
具体的,底层操作子系统可以向外部实体设备发送初始化传输协议指示,外部实体设备与资源受限设备中的操作系统完成传输协议握手后,资源受限的设备的操作系统进入数据接收状态。
S402、执行通过逻辑通道0发送基于A应用的命令0。
底层操作子系统接收外部实体装置向指定的逻辑通道0上发送的命令0【A应用选择指令或者业务指令(在完成A应用选择后发送的命令)】,若数据接收错误,则向外部实体设备反馈数据接收错误的信号;若底层操作子系统完成数据接收后,分发给VM+RE处理,若分发出现异常,则RE向底层操作子系统、底层操作子系统向外部实体设备返回分发异常的信号。
如果当前命令是A应用选择指令,VM+RE为当前A应用选择指令中的A应用分配虚拟机运行域(图2中以VM0运行域为例),如果当前命令是业务指令,则逻辑通道0上相关的虚拟机运行域(VM0运行域)已被分配,可直接将业务指令交给基于虚拟机运行域(VM0运行域)运行的A应用处理。A应用依次通过VM+RE、底层操作子系统向外部实体设备返回处理结果。
在一种可能的实现方式中,A应用通过共享接口访问B应用的数据时,逻辑通道0已分配虚拟机运行域(VM0运行域),VM+RE将该虚拟机运行域的A应用信息变更与B应用程序关联。示例性的,变更的信息包括:将运行A应用的虚拟内存的第一范围变更为运行B应用的虚拟内存的第二范围,以及将A应用的标识变更为B应用的标识。
S403、执行通过逻辑通道1发送基于C应用的命令1。
底层操作子系统接收外部实体装置向指定的逻辑通道1上发送的命令1【C应用选择指令或者业务指令(在完成C应用选择后发送的命令)】,若数据接收错误,则向外部实体设备反馈数据接收错误的信号;若底层操作子系统完成数据接收后,分发给VM+RE处理,若RE分发出现异常,则RE向底层操作子系统、底层操作子系统向外部实体设备反馈RE分发异常的信号。
如果当前命令是C应用选择指令,VM+RE为当前C应用选择指令中的C应用分配虚拟机运行域(图2中以VM1运行域为例),如果当前命令是业务指令,则逻辑通道1上相关的虚拟机运行域(VM1运行域)已被分配,可直接将业务指令交给基于虚拟机运行域(VM1运行域)运行的C应用处理。C应用依次通过VM+RE、底层操作子系统向外部实体设备返回处理结果。
在一种可能的实现方式中,上述的步骤S402和步骤S403在执行顺序不分先后,也可同时执行。
在又一种可能的实现方式中,当所述逻辑通道0和逻辑通道1关闭或设备失电,将所述虚拟机运行域清除,所述设备包括外部实体设备和资源受限的设备中的一种或多种。
根据上述步骤S401-S403可知,本申请从存储空间使用的角度分析,相对于逻辑通道个数而言,应用运行时使用的数据对象和接口对象的数量要多很多,基于虚拟机运行域实现多应用程序中数据对象和接口对象的安全访问,不需要将应用程序包和/或应用的信息(AID、上下文、名称等标识)记录到数据对象和接口对象中或通过标识进行关联,只需要根据运行需要,最多达到逻辑通道的数量,分配虚拟机运行域,从而用较少的空间开销实现多应用程序的数据安全访问。从应用程序运行性能的角度分析,多应用程序运行过程中,不再需要对数据访问者和数据本身的归属信息进行一致性检查,只需要识别是否在同一个虚拟机运行域中运行即可,从而提高的运行性能。
以上为本申请实施例提供一种应用程序运行方法的一些具体实现方式,基于此,本申请还提供了对应的系统。下面将从功能模块化的角度对本申请实施例提供的系统进行介绍。
参见图5所示的一种应用程序运行的操作系统的结构示意图,该操作系统500包括底层操作子系统501、虚拟内存502、虚拟机及虚拟机运行环境503,所述虚拟机及虚拟机运行环境中设置有虚拟机运行域管理模块504,所述虚拟机运行域管理模块包括配置子模块和执行子模块,
所述底层操作子系统用于将从外部实体设备接收到的初始指令或业务指令发送至所述虚拟机运行域管理模块。
所述配置子模块,用于响应于初始指令,为第一应用程序配置虚拟机运行域505,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序506实例化的第一应用程序总数据507,所述第一应用程序是根据所述初始指令确定的。
在一种可能的实现方式中,第一应用程序是根据所述初始指令确定的,示例性的,当所述初始指令为上电指令或打开逻辑通道指令时,所述第一应用程序为预设的默认应用程序;或,当所述初始指令为应用程序选择指令时,所述第一应用程序是根据所述初始指令中携带的第一应用程序的标识确定的。
虚拟机运行域的配置信息还包括所述第一应用程序的标识和所述逻辑通道的标识。
所述执行子模块,用于响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。
所述第一范围的虚拟内存用于存储所述第一应用程序及所述第一应用程序的总数据。
根据上述的一种应用程序运行的操作系统,通过虚拟机运行域管理模块能够使第一应用程序直接访问为第一应用程序分配的虚拟机运行域内的数据,无需进行数据访问前的安全性检测,即将应用与应用数据记录的所属应用进行一致性对比的步骤,减少了虚拟机运行性能的损耗。
在一种可能的实现方式中,参见图6所示一种多应用程序运行的操作系统结构示意图。虚拟内存中可以根据每个逻辑通道的起始指令对应分配虚拟机运行域,当需要运行多个应用程序,虚拟内存内会设置多个虚拟机运行域,具体的,对于同一程序包(图6中以程序包1为例)实例化的应用程序(图6中以应用程序1和应用程序2为例)可分配在同一虚拟机运行域(图6中以虚拟机运行域1为例)。对于不同程序包(图6以程序包2……程序包n为例)实例化的应用程序(图6中以应用程序3……应用程序n为例)分别设置虚拟机运行域(图6中以虚拟机运行域2……虚拟机运行域n为例)。每个应用程序可被其他应用程序访问的公开数据和不可被其他应用程序访问的私有数据有区分的存储存放。
其中,公开数据可包括全局数据,私有数据可包括虚拟机运行调用栈、全局变量堆、应用数据和引用数据。
在另一种可能的实现方式中,所述第一范围的虚拟内存中还包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈;所述第一应用程序总数据包括第一应用程序的全局数据、第一应用程序的应用数据、第一应用程序的引用数据和第一应用程序的常量数据。
在本申请系统实施例中,当业务指令指示第一应用程序进行其他应用程序的数据访问时,可能的实现方法如下:
在一种可能的实现方式中,所述执行子模块,还用于第一应用程序可基于第一应用程序的虚拟机运行域,在第一范围的虚拟内存中直接访问第一应用程序总数据中的全局数据、应用数据、引用数据和常量数据。
第一应用程序直接访问虚拟机运行域中第一范围的虚拟内存的第一应用程序总数据,无需检查数据访问的安全性。
在另一种可能的实现方式中,所述执行子模块,还用于第一应用程序通过共享接口访问第二应用程序时,将所述虚拟机运行域的配置信息变更为与所述第二应用程序关联的信息,以便所述第一应用程序以第二应用程序身份访问第二应用程序的虚拟机运行域,或,将第一应用程序的第一数据写入第二应用程序的虚拟机运行域;所述变更包括将运行所述第一应用程序的虚拟内存的第一范围变更为运行第二应用程序的虚拟内存的第二范围,以及将第一应用程序的标识变更为所述第二应用程序的标识;所述第二范围的虚拟内存中包括所述第二应用程序实例化的第二应用程序总数据,所述第二应用程序总数据包括第二应用程序的全局数据,所述第一数据是第一应用程序的全局数据中的数据。
在又一种可能的实现方式中,所述执行子模块,还用于第一应用程序通过非共享接口访问第三应用程序时,若第三应用程序实例化的程序包与第一应用程序实例化的程序包为同一程序包,则所述第一应用程序直接访问第三应用程序的信息数据,所述虚拟机运行域的第一范围的虚拟内存中还包括执行所述程序包所产生的第三应用程序实例化的数据;若第三应用程序实例化的程序包与第一应用程序实例化的程序包非同一程序包,则确认所述第一应用程序的虚拟机运行域的虚拟内存的第一范围与所述第三应用的虚拟机运行域的虚拟内存的第三范围是否相同,若不相同,则禁止第一应用程序访问第三应用程序的数据。
此外,本申请实施例,在一种可能的实现方式中,上述系统还包括:连接模块,用于响应于外部实体设备的启动信号,启动操作系统;初始化所述操作系统的虚拟机及虚拟机的运行环境;对所述虚拟机及所述运行环境进行自检;所述操作系统与所述外部实体设备进行传输协议握手。
在另一种可能的实现方式中,所述装置还包括:释放模块,用于当所述第一逻辑通道关闭或设备失电,将所述虚拟机运行域清除,所述设备包括外部实体设备和所述操作系统的设备中的一种或多种。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的一种应用程序运行方法。
所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本申请任一实施例所述的一种应用程序运行方法。
本申请实施例中提到的 “第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。

Claims (10)

1.一种应用程序运行方法,其特征在于,所述方法包括:
响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的;
响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输。
2.根据权利要求1所述的方法,其特征在于,所述第一范围的虚拟内存中还包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈;
所述第一应用程序总数据包括第一应用程序的全局数据、第一应用程序的应用数据、第一应用程序的引用数据和第一应用程序的常量数据。
3.根据权利要求2所述的方法,其特征在于,
所述虚拟机运行域的配置信息还包括所述第一应用程序的标识和所述逻辑通道的标识。
4.根据权利要求3所述的方法,其特征在于,在所述响应于初始指令,为第一应用程序分配虚拟机运行域之后,还包括:
第一应用程序通过共享接口访问第二应用程序时,
将所述虚拟机运行域的配置信息变更为与所述第二应用程序关联的信息,以便所述第一应用程序以第二应用程序身份访问第二应用程序的虚拟机运行域,或,将第一应用程序的第一数据写入第二应用程序的虚拟机运行域;所述变更包括将运行所述第一应用程序的虚拟内存的第一范围变更为运行第二应用程序的虚拟内存的第二范围,以及将第一应用程序的标识变更为所述第二应用程序的标识;所述第二范围的虚拟内存中包括所述第二应用程序实例化的第二应用程序总数据,所述第二应用程序总数据包括第二应用程序的全局数据,所述第一数据是第一应用程序的全局数据中的数据。
5.根据权利要求2所述的方法,其特征在于,在所述响应于初始指令,为第一应用程序分配虚拟机运行域之后,还包括:
第一应用程序通过非共享接口访问第三应用程序时,
若第三应用程序实例化的程序包与第一应用程序实例化的程序包为同一程序包,则所述第一应用程序直接访问第三应用程序的信息数据,所述虚拟机运行域的第一范围的虚拟内存中还包括执行所述程序包所产生的第三应用程序实例化的数据;
若第三应用程序实例化的程序包与第一应用程序实例化的程序包非同一程序包,则确认所述第一应用程序的虚拟机运行域的虚拟内存的第一范围与所述第三应用的虚拟机运行域的虚拟内存的第三范围是否相同,若不相同,则禁止第一应用程序访问第三应用程序的数据。
6.根据权利要求1所述的方法,其特征在于,所述初始指令为上电指令或打开逻辑通道指令时,所述第一应用程序为预设的默认应用程序;
或,
所述初始指令为应用程序选择指令时,所述第一应用程序是根据所述初始指令中携带的第一应用程序的标识确定的。
7.根据权利要求1所述的方法,其特征在于,在所述响应于外部实体设备向第一逻辑通道发送的第一指令之前,还包括:
响应于外部实体设备的启动信号,启动操作系统;
初始化所述操作系统的虚拟机及虚拟机的运行环境;
对所述虚拟机及所述运行环境进行自检;
所述操作系统与所述外部实体设备进行传输协议握手。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述第一逻辑通道关闭或设备失电,将所述虚拟机运行域清除,所述设备包括外部实体设备和所述操作系统的设备中的一种或多种。
9.一种应用程序运行的操作系统,其特征在于,包括底层操作子系统、虚拟内存、虚拟机及虚拟机运行环境,所述虚拟机及虚拟机运行环境中设置有虚拟机运行域管理模块,所述虚拟机运行域管理模块包括配置子模块和执行子模块,
所述底层操作子系统用于将从外部实体设备接收到的初始指令或业务指令发送至所述虚拟机运行域管理模块;
所述配置子模块,用于响应于初始指令,为第一应用程序配置虚拟机运行域,所述虚拟机运行域的配置信息包括运行所述第一应用程序的虚拟内存的第一范围,所述第一范围的虚拟内存中包括所述第一应用程序实例化的第一应用程序总数据,所述第一应用程序是根据所述初始指令确定的;
所述执行子模块,用于响应于业务指令,将所述业务指令发送至基于所述虚拟机运行域运行的所述第一应用程序,并接收所述第一应用程序返回的处理结果;所述初始指令与所述业务指令通过同一逻辑通道传输;
所述虚拟内存用于存储所述第一应用程序及所述第一应用程序的总数据。
10.根据权利要求9所述的系统,其特征在于,所述第一范围的虚拟内存中还包括第一应用程序的全局变量堆、第一应用程序的虚拟机运行调用栈;
所述第一应用程序总数据包括第一应用程序的全局数据、第一应用程序的应用数据、第一应用程序的引用数据和第一应用程序的常量数据。
CN202310392249.0A 2023-04-13 2023-04-13 一种应用程序运行方法及其系统 Active CN116107668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310392249.0A CN116107668B (zh) 2023-04-13 2023-04-13 一种应用程序运行方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310392249.0A CN116107668B (zh) 2023-04-13 2023-04-13 一种应用程序运行方法及其系统

Publications (2)

Publication Number Publication Date
CN116107668A true CN116107668A (zh) 2023-05-12
CN116107668B CN116107668B (zh) 2023-08-15

Family

ID=86260187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310392249.0A Active CN116107668B (zh) 2023-04-13 2023-04-13 一种应用程序运行方法及其系统

Country Status (1)

Country Link
CN (1) CN116107668B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331465A1 (en) * 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
US20150178097A1 (en) * 2013-12-20 2015-06-25 Microsoft Corporation Memory-Preserving Reboot
CN104750557A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种内存管理方法和内存管理装置
CN110402568A (zh) * 2018-02-24 2019-11-01 华为技术有限公司 一种通信的方法及装置
CN113849339A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331465A1 (en) * 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
US20150178097A1 (en) * 2013-12-20 2015-06-25 Microsoft Corporation Memory-Preserving Reboot
CN104750557A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种内存管理方法和内存管理装置
CN110402568A (zh) * 2018-02-24 2019-11-01 华为技术有限公司 一种通信的方法及装置
CN113849339A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质
WO2022001504A1 (zh) * 2020-06-28 2022-01-06 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质

Also Published As

Publication number Publication date
CN116107668B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US7689800B2 (en) Partition bus
US11218364B2 (en) Network-accessible computing service for micro virtual machines
US8589920B2 (en) Resource allocation
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
US7607175B2 (en) Techniques for permitting access across a context barrier on a small footprint device using an entry point object
US8972991B2 (en) Systems and methods for exposing processor topology for virtual machines
CN102541619B (zh) 虚拟机管理装置和方法
US20180145923A1 (en) Multi-cloud resource allocation
US7421533B2 (en) Method to manage memory in a platform with virtual machines
US9176713B2 (en) Method, apparatus and program storage device that provides a user mode device interface
US20080209168A1 (en) Information Processing Apparatus, Process Control Method, and Computer Program
US20050102679A1 (en) Techniques for permitting access across a context barrier in a small footprint device using global data structures
US20110004687A1 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
JP2010500667A (ja) 仮想マシン環境におけるハードウェア仮想化を提供するためのシステムおよび方法
CN101349976A (zh) 操作系统
US7478389B2 (en) Techniques for implementing security on a small footprint device using a context barrier
CN112130960A (zh) 一种轻量化移动边缘计算节点及构建方法
US7182250B2 (en) Computing device with an embedded microprocessor or micro-controller
US7028157B2 (en) On-demand allocation of data structures to partitions
CN115086166A (zh) 计算系统、容器网络配置方法及存储介质
CN116107668B (zh) 一种应用程序运行方法及其系统
CN106127092B (zh) 一种cos系统应用剥离的智能卡及其工作方法
EP0955577B1 (en) Method and device for creating an object in a non-persistent memory and/or keeping accessibility to said object
US7669202B1 (en) Resource management
US8689230B2 (en) Determination of running status of logical processor

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