CN104137074A - 多环境计算系统中资源使用的优化 - Google Patents

多环境计算系统中资源使用的优化 Download PDF

Info

Publication number
CN104137074A
CN104137074A CN201380010728.6A CN201380010728A CN104137074A CN 104137074 A CN104137074 A CN 104137074A CN 201380010728 A CN201380010728 A CN 201380010728A CN 104137074 A CN104137074 A CN 104137074A
Authority
CN
China
Prior art keywords
environment
application
resource
amount
execution
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
CN201380010728.6A
Other languages
English (en)
Other versions
CN104137074B (zh
Inventor
比努·亚伯拉罕
多里斯·W·林
安苏蔓·塔潘·萨帕赛
朱迪·C·蔡
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.)
Google Technology Holdings LLC
Original Assignee
Motorola Mobility LLC
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 Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN104137074A publication Critical patent/CN104137074A/zh
Application granted granted Critical
Publication of CN104137074B publication Critical patent/CN104137074B/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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

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

一种通过包含第一环境(120)和第二环境(130)的计算系统(100)修改资源使用的方法和装置。接收(505)状态信号并且监测(510)通过第一环境(120)和第二环境(130)执行的应用。状态信号可以指示计算系统(100)是否联接至外部设备。确定(515)第一应用是否通过第一环境(120)和通过第二环境(130)执行。响应于确定第一应用通过第一环境(120)和第二环境(130)执行,计算520通过环境(120、130)分配到第一应用的资源的量。基于通过不同环境(120、130)计算的资源的第一量,停止通过第一环境(120)或通过第二环境(130)执行的第一应用。

Description

多环境计算系统中资源使用的优化
技术领域
本申请总体涉及移动设备系统,并且更具体地涉及通过包括多环境的移动设备系统优化资源使用。
背景技术
计算设备使用操作系统以管理物理资源、应用并且执行额外的功能。典型的,操作系统基于特定应用和用户期望的性能而设计和优化。额外地,操作系统也可以定制以改善特定硬件配置的性能或配置。通过不同类型的计算设备,不同的操作系统可以更好地操作,期望的是具有通过一种操作系统使用的应用,其可以访问不同的操作系统。
操作系统,诸如其配置成通过具有多种扩展特征集诸如文件系统、设备驱动、应用、库等的通用计算设备(也称作“通用操作系统”)使用。通用操作系统允许多程序并行执行,并试图优化响应时间(也称作延迟时间)和/或处理器使用,或与并行执行程序相关的负载。然而,配置成用于通过通用计算设备使用的操作系统一般不适合用于嵌入式实时应用,诸如在移动计算设备如智能手机或台式计算机中使用。然而,在某些情况下,期望将移动计算设备与移动计算设备特定嵌入式操作系统相关的性能以及通用操作系统的一个或多个特征组合。
例如,是共同使用的通用操作系统,其具有的很多特征将使移动计算设备受益。然而,不是设计成用作通过移动计算设备使用的嵌入式或实时操作系统。当前,很多设备,诸如机顶盒、移动电话和汽车导航系统要求诸如的通用操作系统的特征,以及包括实时性能的嵌入式或实时操作系统的特征。
考虑到通用操作系统提供某些益处而嵌入式操作系统提供其他益处,特别是当被某一类型的设备所使用时,诸如移动计算设备,在单一设备上实施多个操作系统允许设备利用来自不同类型操作系统的益处。用于在单一设备上运行多个操作系统的常规方法依靠虚拟化技术。然而,因为虚拟化仿真完整的计算设备,所仿真的计算设备实施并操作一个或多个软件堆栈。另外,计算设备的仿真引起显著的费用,使常规虚拟化技术对某些设备类型诸如移动设备来说是不实际的。
额外地,某些应用或服务可以通过多个操作系统操作。在常规方法中,应用或服务可以在不同的操作系统中并行执行,增加应用所使用的资源,这可能影响整体性能。例如,在多个操作系统中执行相同应用减少了其他应用的可用内存。
附图说明
附图和下面的详细说明一起并入说明书并形成说明书的部分,并且用来进一步例示包括请求保护的发明的概念的实施方式,并且解释那些实施方式的各原理和优点,其中在单独的附图中相同的附图标记自始至终表示相同或功能类似的元件。
图1是根据某些实施例包括多个环境的移动计算系统的框图。
图2是根据某些实施例包括多个环境的移动计算系统的额外组件的框图。
图3是根据某些实施例的运行时间共存模式示例的框图。
图4是根据某些实施例用于启动包括多个环境的移动计算系统的方法的流程图。
图5是根据某些实施例用于移动计算系统的节约资源的方法的流程图。
本领域技术人员将理解,附图中的元件仅出于简单清晰的说明,并不是必须按比例绘制。例如,附图中一些元件的尺寸可以相对于其它元件放大以帮助更好地理解本发明的实施方式。
在适当情况下在附图中通过传统的惯用符号已经描绘所述装置和方法部件,示出了与理解本发明的实施方式有关的特定的细节从而不混淆对本领域技术人员已经明显的具有本文优点的公开内容和细节。
具体实施方式
本文公开了一种通过包括第一环境和第二环境的计算系统修改资源使用的方法。接收状态信号并且监测通过第一环境和第二环境执行的应用。例如,状态信号指示计算系统是否联接至外部设备,诸如对接设备。确定第一环境和第二环境是否都执行第一应用。响应于确定第一应用通过第一环境和第二环境执行,计算通过第一环境分配给第一应用的资源的第一量,并且计算通过第二环境分配给第一应用的资源的第二量。基于资源的第一量和第二量,停止通过第一环境或第二环境执行的第一应用。第一应用继续通过其它环境执行。在一个实施例中,响应于资源的第一量超过资源的第二量时,停止通过第一环境执行的第一应用。可替换地,显示资源的第一量和第二量,响应于接收资源第一量的选择停止通过第一环境执行的第一应用。
在下文的描述中,出于解释的目的,提出了许多特定的细节以充分理解本发明。但是,对本领域技术人员清楚地是,本发明可以不按照特定的细节实施。在其它情况下,结构和设备以框图的形式示出以避免混淆本发明。
系统概况
图1是根据某些实施例的包括多种环境的移动计算系统100的框图。图1所示的移动计算系统100包括使用主机内核(host kernel)140与设备硬件150通信的主操作系统102。主操作系统102也包括与主机内核140通信的主用户组件105。在一个实施例中,主操作系统102是或类似的操作系统,诸如GNU/Linux操作系统。在这种实施例中,主机内核140是核心并且主用户组件105是用户组件。然而,在其他实施例中,不同类型的核心可以作为主机内核140。
主用户组件105包括第一环境120和第二环境130。第一环境120和第二环境130都与主机内核140通信。第一环境120和第二环境130使用单一主机内核140。在图1所示的示例中,第一环境120经由通信链接117与主机内核140通信,第二环境130经由通信链接119与主机内核140通信。在一个实施例中,主机内核140是核心,第一环境120是嵌入式环境,诸如移动设备使用的环境,第二环境130是通用操作系统。例如,主机内核140是核心,第一环境120是ANDROIDTM环境并且第二环境130是GNU/Linux环境。然而,在其他实施例中,第一环境120和第二环境130可以是任何合适的操作环境。第一环境120和第二环境130可以采用实时或非实时环境或操作系统。图1示出了包括第一环境120和第二环境130的实施例,在其他实施例中,主用户组件105可以包括更多数量的操作环境;因此,如下文进一步所描述的,多于两个的环境可以使用单一主机内核140彼此独立地操作和共存。此外,第一环境120和第二环境130经由通信链接115彼此通信。
在一个实施例中,第一环境120和第二环境130彼此独立地操作和共存。在某些实施例中,第一环境120和第二环境130在操作的至少某些方面是相互依赖的。例如,第一环境120和第二环境130与主机内核140交互并且竞争主机内核140的资源。在另一个示例中,第一环境120和第二环境130使用通信链接115彼此通信数据,所以第一环境120和第二环境130在至少某些操作或动作中可以彼此协同操作。主机内核140通过连接并管理设备硬件150和第一中间件125和/或第二中间件135之间的交互来分配移动计算系统100的资源。
然而,为了说明的目的,认为第一环境120和第二环境130是彼此“独立”的,如果其他环境不存在或不能操作,环境120,130均能够通过其自身操作。例如,如果第二环境130不存在,第一环境120可以操作。在另一个示例中,环境120,130中的一个可以在使用主机内核140实施另一个环境130,120之前独立操作。在一些实施例中,第一环境120和第二环境130是“独立”的,环境120,130均是服务于经由主机内核140、设备硬件150和其他组件(诸如用户或额外设备)的不同操作和功能的不同类型的环境。例如,第一环境120通常实施与嵌入式操作系统相关的功能或操作,诸如移动计算设备使用的操作系统,第二环境130通常实施与通用操作系统相关的功能或操作,诸如台式计算机或便携式计算机使用的操作系统。
图1进一步图示说明了第一环境120使用的示例组件和第二环境130使用的示例组件。在一个实施例中,第一环境120包括第一环境应用122和与第一环境应用122通信的第一中间件125。例如,如果第一环境120是ANDROIDTM环境,第一环境应用122被配置成通过Dalvik虚拟机执行。第一环境应用包括122包括堆栈和其他合适的应用组件,并且至少一个第一环境应用122的子组件与另一个分离。第一环境应用122包含的应用包括可以通过第一中间件125识别的指令,该第一中间件125与处理器152协同操作以执行该指令以提供一个或多个功能。
在图1所示的实施例中,第一中间件125包括第一应用框架127和第一运行环境129。然而,在其他实施例中,第一中间件125可以包括不同的和/或额外的组件,诸如无线接口模块、全球定位系统(GPS)模块或其他合适的组件。第一环境应用122通过第一应用框架127管理并且通过第一运行环境129解释。例如,第一运行环境129包括解释器,其用于在应用的运行期间翻译来自第一环境应用122的应用。
在一个实施例中,第一环境120是ANDROIDTM环境,第一运行环境129是基于寄存器的Dalvik虚拟机(VM),其除了与额外组件诸如主机内核(host)140通信外,还与Dalvik库和/或工具通信。Dalvik库和/或工具在主机内核140的顶端实施,并且实施足以执行基于寄存器的Dalvik VM的功能。在一个实施例中,Dalvik库是通过基于GNU/Linux的操作系统支持的库的子集,并且提供优化在移动计算设备中实施的功能。这允许通过设备执行的应用的发展,该设备受比台式或便携式计算机更多的资源限制。基于寄存器的虚拟机,诸如基于寄存器的Dalvik VM,比使用基于堆栈架构的虚拟机(例如,基于的虚拟机)更容易优化特定设备的硬件配置。此外,使用Dalvik或类似的环境可以实现完整的中间件层复制,而不是仅复制字节码解释器(byte-code interpreter),诸如虚拟机。额外的,基于Dalvik或类似结构可以实现允许开发者使用熟练语法(诸如语法)设计第一环境应用122。因此,在第一环境120包括在由Dalvik或类似配置中准备的第一环境应用122中的实施例中,第一环境应用122是字节码解释的应用。
在一个实施例中,第二环境130包括第二环境应用132和与第二环境应用132通信的第二中间件135。在图1所示的实施例中,第二中间件135包括第二应用框架137和第二环境库和/或工具模块139。第二环境库和/或工具模块139包括用于使用图形用户界面(GUI)显示数据的库和/或额外库或工具。然而,在其他实施例中,第二中间件135可以包括不同的和/或额外的组件,诸如桌面环境、多媒体框架组件、窗口管理器组件或任何其他适合的组件。
在一个实施例中,第二环境应用132包括一个或多个由指令组成的本地应用,该指令对应于主机内核140或设备硬件150的指令集架构。一个或多个第二环境应用132包括堆栈和/或与其他第二环境应用132分离的额外组件。第二环境应用132通过第二应用框架137管理并且可以使用来自第二环境库和/或工具模块139和/或包括在第二中间件135中的其他组件的数据和/或指令。第二环境应用132中的应用包含通过第二中间件135可识别的指令,其与处理器152协同操作以执行指令以提供一个或多个功能。例如,如果第二环境130是GNU/Linux环境,第二环境应用132可以是使用主机内核140的指令集的本地应用,其可以使用GNU/Linux实施。
第一中间件125和第二中间件135分别在第一环境应用122和第二环境应用132之间逻辑地定位。第一中间件125和第二中间件135分别在设备硬件150和第一环境应用122和第二环境应用132之间协调互动。
在图1所示的示例中,第二环境130包括多个逻辑内存分区而第一环境包含单一内存分区及系统组件。此外,在一个实施例中,第二环境130和主机内核140共享共同指令集。例如,第二环境130是堆栈或者类似的堆栈。在第二环境130包含堆栈的实施例中,主机内核140也可以使用实施。然而,在额外的实施例中,第二环境130可替换地包含不同类型的环境、环境、环境或者其他合适的操作环境。例如,第二环境130可以是环境并且主机内核140也使用实施。然而,在其他实施例中,第二环境130可以包含单一内存分区。额外地,可以包括一个或多个额外环境并且支持一个或多个内存分区。在额外的环境中,多于两个具有不同配置的环境使用相同主机内核140独立地共存。
在图1所示的实施例中,设备硬件150包含处理器152和显示设备154;然而,在其他实施例中,设备硬件150包括不同的和/或额外的组件。在一个实施例中,设备硬件150包括联接至处理器152的计算机可读存储介质。计算机可读存储介质包括指令,当通过处理器152执行该指令时可以执行一个或多个功能。额外地,设备硬件150可以包括通信设备,诸如用于无线通信的收发器和/或用于有线通信的端口。在其他实施例中,设备硬件150包括音频输出设备、一个或多个输入设备和/或任何其他合适的组件。
处理器152处理数据或指令,并且可以包含多种计算架构。例如,处理器152可以处理使用复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构、实施指令集或任何其他合适的指令集的组合架构的数据或指令。尽管图1示出单一处理器152,在其他实施例中,移动计算系统100可以包括多个处理器。处理器152传送、处理和/或检索来自第一环境120和/或来自第二环境130和/或来自额外组件的数据。
显示设备154是显示电子图像和/或数据的设备。例如,显示设备154包括有机发光二极管显示器(OLED)、液晶显示器(LCD)或任何其他设备,诸如监视器。在一个实施例中,显示设备154包括触摸感应透明面板,其用于接收数据或允许与通过显示设备154显示的图像和/或数据的其他交互。
图2是根据一些实施例包括多种环境的移动计算系统100的额外组件的框图。在图2所示的实施例中,第一环境120和第二环境130与主机内核140通信。图2图示说明主机内核包括主机内核驱动器215和第一环境事件模块225。主机内核驱动器215包括用于设备硬件150的一个或多个组件的驱动器。然而,在其他实施例中,主机内核140包括不同的和/或额外的模块。图2示出了第一环境120和第二环境130除了图1所描述的组件之外的组件。在图2图示说明的实施例中,除了第一环境应用122以外,第一环境120还包括第一环境应用管理器265、第一环境服务模块270、门户活动模块(portal service module)280和门户服务模块290。在可替换的实施例中,门户活动模块280包括在第一环境应用122中。此外,在一个实施例中,第一环境应用管理器265、第一环境服务模块270和门户活动模块290包括在第一中间件125中,其配合图1进一步描述。
图2也示出除了配合图1所进一步描述的那些组件之外的第二环境130所包括的组件。在图2所示的实施例中,除了第二环境应用132以外,第二环境130还包括窗口管理器230、第一环境观察器240、资源管理器260和第二环境服务模块220。在一个实施例中,第二环境服务模块220、窗口管理器230、第一环境观察器240、资源管理器260被包括在第二中间件135中,其配合图1进一步描述。在另一个实施例中,第一环境观察器240包括在第二环境应用132中。
当第二环境130是主环境时,第一环境观察器240在显示设备154上显示的界面上显示包括来自第一环境的数据和/或应用的窗口。例如,当第二环境130是主环境时,第一环境观察器240在图形用户界面中显示窗口,其在图形用户界面中示出一个或多个通过第一环境120执行的应用。这允许用户在的第二环境130是主环境的情况下经由显示窗口观察第一环境120并与其交互。
第一环境事件模块225与第一环境观察器240通信并且接收坐标事件、键盘事件或者通过第一环境观察器240接收的其他事件。所接收的事件通过第一环境事件模块225通信至事件中心。例如,第一环境事件模块225从第一环境观察器240接收绝对坐标和/或键盘事件。在一个实施例中,事件中心将所接收的事件通信至第一环境120或者一个或多个第一环境应用122。
窗口管理器230包含指令,当通过处理器152执行该指令时,使用显示设备154显示来自第一环境120和/或第二环境130的数据。窗口管理器230生成一个或多个显示数据和/或应用的窗口。额外地,窗口管理器230接收来自用户的输入,以修改使用显示设备154显示的窗口的尺寸、形状或位置。例如,窗口管理器230接收来自用户的输入以重新定义窗口大小,诸如重新定位窗口的边界以增加或减小显示窗口的尺寸的输入。
第一环境应用管理器265包含一个或多个指令,当通过处理器152执行该指令时,识别通过第一环境120执行的应用和/或服务。在一个实施例中,第一环境应用管理器265也确定通过应用使用的资源的量和/或通过第一环境120执行的服务的量。例如,第一环境应用管理器265包括应用识别器,其与通过第一环境120执行的应用相关并且与通过对应于应用识别器的应用使用的资源的量有关。所测量的资源使用的示例包括内存或处理器时间。
在一个实施例中,第一环境应用管理器265也与主机内核驱动器215通信,并且接收指示移动计算系统100是否经由设备硬件150联接至外部设备的数据。例如,第一环境应用管理器265接收来自主机内核驱动器215的数据并且生成指示移动计算设备215是否联接至对接设备或者其他外部设备的状态信号。在一个实施例中,第一环境应用管理器265接收来自主机内核驱动器215的数据并且分析所接收的数据以生成状态信号。例如,状态信号具有响应于设备硬件150联接至对接设备的第一值和响应于设备硬件150没有联接至对接设备的第二值。
门户服务模块290包含一个或多个指令,当通过处理器152执行该指令时,能够使第一环境120的一个或多个服务和/或管理与包括在第二环境130中的资源管理器260通信。在通过移动计算设备执行第一环境120的实施例中,在操作移动计算设备时执行门户服务模块290。门户服务模块290也联接至门户活动模块280并且接收与第一环境120相关的广播事件。
门户活动模块280包含计算机可读指令,当通过处理器152执行该指令时,表示一个或多个包含在第二环境130中的应用。例如,如果第二环境130是环境,门户活动模块280表示特定应用。当访问门户活动模块280时,包括在第二环境130中的应用显示在显示设备154上,从而允许从第一环境120观察和/或访问包括在第二环境130中的应用。
通常,在环境120、130中的多个应用能够在一般称作执行应用的“堆栈(stack)”中同时执行。如本文所讨论的,堆栈最上方的应用视为具有“焦点”。当用户可以访问多个应用时,当前从用户接收输入命令或数据的应用被认为是具有“焦点”的应用。例如,如果对应不同应用的多个窗口在显示设备154上显示时,与当前正在从用户接收输入的窗口有关的应用是具有“焦点”的应用。在一个实施例中,第二环境130能够在指定时间显示多个应用,而第一环境120可以在一个时间显示单一应用。例如,第二环境130允许与不同应用相关的多个窗口在同一时间显示,而第一应用120允许与应用相关的单一窗口在同一时间显示。然而,在可替换的实施例中,第一环境120和第二环境130可以在给定时间显示不同数量的应用。
如配合图1进一步描述的,第一环境120和第二环境130彼此通信并且与单一主机内核140通信。在一个实施例中,如配合图1进一步描述的,第一环境120包括基于寄存器的Dalvik虚拟机,其复制完整的中间件层而不是仅复制字节码解释器,没有适当的步骤其有可能在第一中间件125和第二中间件135通过主机内核140分配资源的操作中产生冲突。为了避免通过主机内核140分配资源中的潜在冲突,第二环境130中所包括的资源管理器260直接与第一环境120中所包括的门户服务模块290通信并且反之亦然。
第二环境130中所包括的资源管理器260包含指令,当通过处理器152执行该指令时,管理信息资源通过第一环境120和第二环境130共享。例如,资源管理器260管理资源的使用,诸如显示设备154、一个或多个输入设备、电源、额外输出设备与第一环境120和第二环境130的其他合适资源。此外,资源管理器260保持与移动计算系统100相关的状态信息。资源管理器260也控制通过第一环境120和第二环境130对设备硬件150的访问。例如,资源管理器260识别和/或修改与第一环境120或第二环境130相关的用户界面是否使用显示设备154显示。
在图2所示的实施例中,资源管理器260包括对接管理器262,其包含指令,当通过处理器152执行该指令时,确定移动计算设备100是否联接至对接设备或其他外部设备。例如,对接管理器262接收来自第一环境应用管理器265的状态信号并且分析该状态信号以确定移动计算系统100是否联接至外部设备。在一个实施例中,状态信号是二进制值,当移动计算系统100联接至外部设备时其具有第一值并且当移动计算系统100没有联接至外部设备时其具有第二值。可替换地,状态信号具有与不同外部设备相关的多个值,并且对接管理器262将状态信号的值与存储的值相比较以识别移动计算系统100所联接的外部设备。
响应于对接管理器262从第一环境应用管理器265接收指示移动计算系统100联接至对接设备的状态信号,资源管理器260监测由第一环境120和第二环境130执行的应用。资源管理器260确定第一环境120和第二环境130是否都执行第一应用。例如,资源管理器260确定应用识别器或应用名称是否被识别为由第一环境120和第二环境130执行。如果资源管理器260确定第一环境120和第二环境130都执行第一应用,资源管理器确定通过第二环境130分配给第一应用的资源的量并且与第一环境应用管理器265通信以确定通过第一环境120分配给第一应用的资源的量。例如,资源管理器260确定通过第一环境120分配给第一应用的内存的量和通过第二环境130分配给第一应用的内存的量。
在一个实施例中,资源管理器260比较通过第一环境120分配给第一应用的资源的量和通过第二环境130分配给第一应用的资源的量,并且停止通过向第一应用分配资源量最大的环境的第一应用的执行。例如,如果第一环境120比第二环境130向第一应用分配更多资源,资源管理器260停止通过第一环境120的第一应用的执行,而继续通过第二环境130的第一应用的执行。可替换地,资源管理器260生成识别通过不同环境向第一应用分配的资源的信息并且接收选择环境以停止第一应用执行的输入。例如,响应于第二环境130的选择,资源管理器停止通过第二环境130的第一应用的执行。
当资源管理器260停止第一应用在某环境中的执行时,资源管理器260也将来自停止执行第一应用的环境的与第一应用相关的数据和/或文本传送至继续执行第一应用的环境。例如,如果浏览器在第一环境120中停止,当前在第一环境中由浏览器使用的数据和/或统一资源指示符(URIs)被传送给在第二环境130中执行的浏览器。作为额外示例,如果视频观看应用在第二环境130中停止,则所观看的视频和视频中的当前位置被传送给在第一环境120中执行的视频观看应用。这允许当环境中的应用改变时让用户保存数据,同时通过在单一环境中执行应用节约资源。
在一个实施例中,门户服务模块290接收数据,以用于将该数据从第一环境120通信至包括在第二环境130中的资源管理器260。此外,门户服务模块290从资源管理器260接收数据,该数据从第二环境130通信至第一环境120。在一个实施例中,资源管理器260还包括联结至门户服务模块290的状态-可发现应用程序界面(API)。状态-可发现API可以在任何时间通过资源管理器260呼叫。额外地,资源管理器260获取并处理运行状态以保持状态机。在一个实施例中,对于第一环境120,门户服务模块290提供运行状态以处理。类似的,门户服务模块290从提供状态信息的进程请求并接收状态更新。在一个实施例中,门户服务模块290被包括在第一运行时间环境129中。
资源管理器260向请求和/或要求运行状态的第二环境130中的进程提供运行状态。在一个实施例中,主机内核驱动器215与资源管理器260以及提供运行时间状态信息的进程通信。例如,资源管理器260的状态-可发现API仲裁对用户界面设备的访问,诸如显示设备154、触屏、图形用户界面或者类似的用户界面设备。作为另一个示例,状态-可发现API仲裁对电源的访问,诸如电池或其他电源。
如以上所讨论的,配合图1,第一环境120和第二环境130彼此独立并且相互共存。第一环境120和第二环境130均是不需要依赖其他环境执行功能的全功能环境。不同于常规配置,第一环境120和第二环境130在虚拟化或模拟方案中不共存。第一环境120和第二环境130都在单一、共享的主机内核140上操作。第一环境120和第二环境130具有运行时间共存,其中第一环境120和第二环境130作为独立、本地环境运行。第一环境120和第二环境130都不是作为共同运行时间环境重新编程,诸如C运行时间环境,不是用于两个环境。因为第一环境120和第二环境130,用户能够访问配置成在一个环境中运行的应用而不中断与另一个环境的交互。
图3是根据一些实施例的运行时间共存模式示例的框图。在图3所示的示例中,第一环境120是ANDROIDTM环境并且第二环境130是环境。通常,第一环境120和第二环境130在分离的运行时间环境中操作,当移动计算系统100操作时,该运行时间环境用于向应用和/或进程提供服务。
在图3所示的实施例中,第一环境进程310和第一环境库320访问Bionic C库330,其用于优化和修改第一环境120。在一个实施例中,第一环境库320和Bionic C库330包括在第一运行时间环境129中。在图3所示的实施例中,第二环境进程315和第二环境库325与GUN C库335通信。在一个实施例中,第二环境库325与GUN C库335包括在第二环境库和/或工具模块139中。因此,第一环境120和第二环境130均使用其各自的C库操作而不与另一个环境130、120使用的库冲突。
方法
图4是根据一些实施例的用于启动包括多个环境的移动计算系统100的方法400的流程图。在一个实施例中,方法400的步骤通过指令实施以用于执行所描述的嵌入式或存储在计算机可读存储介质(诸如闪存或随机存储器)中的动作,该指令可以通过处理器诸如处理器152执行。额外地,方法400可以在硬件、软件或硬件和软件的组合的实施例中实施。而且,在一些实施例中,方法400包括与图4所示的步骤不同的和/或额外的步骤。
方法400包括环境-特定步骤和通过不同环境执行的步骤。然而,启动顺序可以基于与命令启动顺序的移动计算系统100的预定设备状态相关的规则而修改。例如,如果移动计算系统100联接至外围设备,诸如监视器,移动计算系统100在第二环境130是默认主环境的第二模式中操作。可替换的,如果移动计算系统100没有联接至外围设备,移动计算系统100在第一环境120是默认主环境的第一模式中操作。
当第一环境120或第二环境130中的一个作为主环境时,这两个环境同时或几乎同时启动。额外地,在第一环境120或第二环境130启动后,其中一个环境作为主环境,次要环境在与主环境相关的背景中操作,以防状态改变并且次要环境变成主环境。例如,当移动计算系统100在第二模式并且外围不插电,其自动转换为第一模式,导致次要环境变成主环境,反之亦然。
在图4所示的实施例中,初始化405主机内核140。例如,启动或初始化引导程序。在初始化之后,主机内核140启动410初始化脚本并且启动415资源管理器260。在启动资源管理器415之后,识别模式状态420,并且访问425参考库以确定与识别模式相关的标准或者通过识别模式决定的标准。
启动430第一环境120和第二环境130的共同服务,并且所识别的模式状态被确定435。响应于识别第一模式的确定435,启动450与第一环境120相关的初始化脚本并且启动455与第二环境130相关的初始化脚本。因此,在第一模式中,第一环境120作为主环境操作而第二环境作为次要环境操作。
响应于识别第二模式的确定435,启动440与第二环境130相关的初始化脚本并且启动445与第一环境120相关的初始化脚本。因此,在第二模式中,第二环境130作为主环境操作而第一环境作为次要环境操作。
然而,不管哪个环境是主环境,在移动计算系统100可操作之前,第一环境120和第二环境130都被启动并且可操作。此外,因为第一环境120和第二环境130的共同服务在环境-特定初始化脚本之前启动,主环境和次要环境基本同时启动。然而,主环境-特定服务在次要环境特定服务之前启动。通过环境-特定初始化脚本中分离共同服务的启动430,移动计算系统100能够快速成为与多个共存和独立环境可操作的。当移动计算系统100是可操作的,主环境和次要环境被执行,次要环境在相对于主环境的背景中操作。第一环境120或第二环境130都可以是主环境;额外地,主环境可以自动地或响应于用户命令转换为次要环境。
图5是根据一些实施例的通过移动计算系统100使用的用于节约资源的方法500的流程图。在一个实施例中,方法500的步骤通过指令实施以用于执行嵌入式或存储在计算机可读存储介质(诸如闪存或随机存储器)中的所描述的动作,该指令可以通过处理器诸如处理器152执行。额外地,方法500可以在硬件、软件或硬件和软件的组合的实施例中实施。而且,在一些实施例中,方法500包括与图5所示的步骤不同的和/或额外的步骤。
在图5所示的实施例中,包括在第二环境130中执行的资源管理器260中的对接管理器262接收505来自第一环境应用管理器265的状态信号并且分析该状态信号以确定移动计算系统100是否联接至外部设备。在一个实施例中,状态信号是二进制值,当移动计算系统100联接至外部设备时其具有第一值,并且当移动计算系统100没有联接至外部设备时其具有第二值。可替换地,状态信号具有与不同外部设备相关的多个值,并且对接管理器262将状态信号的值与存储的值相比较以识别移动计算系统100所联接的外部设备。
响应于对接管理器262从第一环境应用管理器265接收505指示移动计算系统100联接至对接设备的状态信号,资源管理器260监测510由第一环境120和第二环境130执行的应用。资源管理器260确定通过第二环境130执行的应用和通过第二环境130执行的应用的执行所使用的资源。资源管理器260也与第一环境应用管理器265交换数据以确定通过第一环境120执行的应用和通过第一环境120执行的应用的执行所使用的资源.
资源管理器260确定515第一环境120和第二环境130是否都执行第一应用。例如,资源管理器260确定515应用识别器或应用名称是否被识别为由第一环境120和第二环境130执行。响应于确定515第一环境120和第二环境130不都执行第一应用,资源管理器260继续监测510通过第一环境120和第二环境130执行的应用和/或服务。然而,响应于确定515第一环境120和第二环境130都执行第一应用,资源管理器260计算520通过第二环境130分配给第一应用的资源的量并且与第一环境应用管理器265通信以计算520通过第一环境120分配给第一应用的资源的量。例如,资源管理器260计算520通过第一环境120分配给第一应用的内存的量和通过第二环境130分配给第一应用的内存的量。
响应于第一环境120和第二环境130都执行第一应用,资源管理器260基于不同环境所使用的资源停止525通过第一环境120或第二环境130的第一应用的执行。在一个实施例中,资源管理器260比较通过第一环境120分配给第一应用的资源的量和通过第二环境130分配给第一应用的资源的量,并且停止525通过向第一应用分配资源量最大的环境的第一应用的执行。例如,如果第一环境120比第二环境130向第一应用分配更多资源,资源管理器260停止525通过第一环境120的第一应用的执行,而继续通过第二环境130的第一应用的执行。可替换地,资源管理器260生成识别通过不同环境向第一应用分配的资源的信息并且接收选择环境以停止525第一应用执行的输入。例如,响应于第二环境130的选择,资源管理器停止525通过第二环境130的第一应用的执行。
当资源管理器260停止525第一应用在某环境中的执行时,资源管理器260也将来自停止执行第一应用的环境的与第一应用相关的数据和/或文本传送至继续执行第一应用的环境。例如,如果浏览器525在第一环境120中停止525,当前在第一环境中由浏览器使用的表单数据和/或统一资源指示符(URIs)被传送给在第二环境130中执行的浏览器。作为额外示例,如果视频观看应用在第二环境130中停止525,则所观看的视频和视频中的当前位置被传送给在第一环境120中执行的视频观看应用。这允许当环境中的应用改变时让用户保存数据,同时通过在单一环境中执行应用节约资源。
将要发生的或变得更明显的好处、优点、解决问题的方案以及可以带来任何好处、优点或方案的任何元素不应被解释为任何权利要求或所有权利要求的重要的、需要的或必要的特征或元素。本发明仅由包括在本申请审查期间所做的任何修改的随附权利要求以及这些权利要求的等同物来限定。
另外,在本文件中,关系术语,例如第一和第二、上和下等可以仅被用来将一个实体或动作与另一个实体或动作进行区分而不是必须要求或意指在这样的实体或动作之间的这种关系或顺序。术语“包括”、“具有”、“包含”、“含有”或其任何其它变型旨在覆盖非排他包含,例如包括、具有、包含、含有一系列元件的过程、方法、物品或装置不只包括那些元件而可以包括没有清楚地列出或这样的过程、方法、物品或装置所特有的其它元件。由“包括一个”、“具有一个”、“包含一个”或“含有”开始的一个元件,没有更多的限制,并不排除在包括、具有、包含含有该元件的过程、方法、物品或装置中存在其它相同的元件。术语“一”和“一个”被定义为一个或更多个,除非本文明确地另有说明。术语“大体上”、“基本上”、“大约”、“约”或其任何其它说法,被定义为接近于本领域普通技术人员所理解的那样,在一个非限制实施方式中,术语被定义为在10%内、在另一个实施方式中,在5%内,在又一个实施方式中,在1%内,在另一个实施方式中,在0.5%内。本文使用的术语“联接”被定义为连接,尽管不是必须直接地连接也不是必须机械地连接。一个设备或结构以某种方式被“设置”是至少以那种方式被设置,但是也可以以其它没有列出的方式设置。
将理解,一些实施方式可以包括一个或更多个上位或下位的处理器(或“处理设备”),例如微处理器、数字信号处理器、定制处理器和现场可编程门阵列(FPGA)以及控制一个或更多个处理器的唯一存储的程序指令(包括软件和固件两者)以结合某些非处理器电路实施一些、大部分或所有本文所述的方法和/或装置的功能。可替换地,一些或所有功能应该通过没有存储程序指令的状态机或在一个或更多个专用集成电路(ASIC)中实施,其中各功能或某些功能的一些组合被实施为定制逻辑。在一些实施方式中,可以使用两种方式的组合。
此外,一个实施方式能够被实施为具有存储在其上的用于给(例如包括处理器的)计算机编程的计算机可读代码的计算机可读存储介质以执行本文所述且要求保护的方法。这样的计算机可读存储介质的示例包括但不限于硬盘、CD-ROM、光学存储设备、磁存储设备、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦可编程序只读存储器)和闪速存储器。此外,预计本领域普通技术人员,虽然可能付出巨大努力并且通过例如可用时间、当前技术和经济考虑的有动机进行许多设计选择,但是当由本文公开的概念和原理指导,将能够用最少的实验形成这样的软件指令、程序和/或集成电路。
本发明的摘要被用来允许读者快速地确定技术公开的性质。应理解提交本发明的摘要不用来解释或限制权利要求的范围或含义。另外,在上述详细说明中,能够看出出于使本文更顺畅的目的在各实施方式中将各特征组合在一起。本文的该方法不应被解释为本发明要求保护的实施方式需要多于各权利要求中明确记载的特征。而是,随附权利要求反应出本发明的主题少于单个公开的实施方式的所有特征。因此,将随附的权利要求并入详细的说明书中,且各权利要求自身作为单独要求保护的主题。

Claims (10)

1.一种方法(500),其包含:
接收(505)状态信号;
使用通过处理器(152)执行的指令监测(510)通过第一环境(120)执行的应用和通过第二环境(130)执行的应用;
确定(515)第一应用是否通过所述第一环境(120)并通过所述第二环境(130)执行;
响应于确定所述第一应用通过所述第一环境(120)并通过所述第二环境(130)执行,计算(520)通过所述第一环境(120)分配到所述第一应用的资源的第一量,并且计算(520)通过所述第二环境(130)分配到所述第一应用的资源的第二量;以及
基于所述资源的第一量和所述资源的第二量,停止(525)通过所述第一环境(120)或通过所述第二环境(130)的所述第一应用的执行。
2.根据权利要求1所述的方法,其中基于所述资源的第一量和所述资源的第二量,停止通过所述第一环境或通过所述第二环境的所述第一应用的执行包含:
响应于所述资源的第一量超过所述资源的第二量,停止通过所述第一环境的所述第一应用的执行。
3.根据权利要求1所述的方法,其中基于所述资源的第一量和所述资源的第二量,停止通过所述第一环境或通过所述第二环境的所述第一应用的执行包含:
响应于所述资源的第一量超过所述资源的第二量,将数据从通过所述第一环境执行的所述第一应用传送至通过所述第二环境执行的所述第一应用;以及
停止通过所述第一环境的第一应用的执行。
4.根据权利要求1所述的方法,其中基于所述资源的第一量和所述资源的第二量,停止通过所述第一环境或通过所述第二环境的所述第一应用的执行包含:
显示所述资源的第一量和所述资源的第二量;以及
响应于接收所述资源的第一量的选择,停止通过所述第一环境的所述第一应用的执行。
5.根据权利要求1所述的方法,其中接收所述状态信号包含:
接收指示包含处理器的移动计算系统联接至对接装置的信号。
6.一种装置(100),其包含:
处理器(152);
联接至处理器(152)的计算机可读存储介质,所述计算机可读存储介质包括指令,当通过所述处理器(152)执行所述指令时,使所述处理器(152):
接收(505)状态信号;
监测(510)通过所述处理器(152)在第一环境(120)中执行的应用以及在第二环境(130)中执行的应用;
确定(515)第一应用是否通过所述第一环境(120)并通过所述第二环境(130)执行;
响应于确定所述第一应用通过所述第一环境(120)并通过所述第二环境(130)执行,计算(520)通过所述第一环境(120)分配到所述第一应用的资源的第一量,并且计算(520)通过所述第二环境(130)分配到所述第一应用的资源的第二量;以及
基于所述资源的第一量和所述资源的第二量,停止(525)通过所述第一环境(120)或通过所述第二环境(130)中的处理器(152)的所述第一应用的执行。
7.根据权利要求6所述的装置,其中基于所述资源的第一量和所述资源的第二量,停止通过在所述第一环境或在所述第二环境中的处理器的所述第一应用的执行包含:
响应于所述资源的第一量超过所述资源的第二量,停止通过所述第一环境中的所述处理器的所述第一应用的执行。
8.根据权利要求6所述的装置,其中基于所述资源的第一量和所述资源的第二量,停止通过在所述第一环境或在所述第二环境中的所述处理器的所述第一应用的执行包含:
响应于所述资源的第一量超过所述资源的第二量,将数据从通过所述第一环境执行的所述第一应用传送至通过所述第二环境执行的所述第一应用;以及
停止通过所述第一环境的第一应用的执行。
9.根据权利要求6所述的装置,其中基于所述资源的第一量和所述资源的第二量,停止通过在所述第一环境或在所述第二环境中的处理器的所述第一应用的执行包含:
在显示设备上显示所述资源的第一量和所述资源的第二量;以及
响应于接收所述资源的第一量的选择,停止通过在所述第一环境中的所述处理器的所述第一应用的执行。
10.根据权利要求6所述的装置,其中接收所述状态信号包含:
接收指示联接至对接装置的信号。
CN201380010728.6A 2012-02-01 2013-01-14 多环境计算系统中资源使用的优化 Active CN104137074B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/363,989 2012-02-01
US13/363,989 US9396041B2 (en) 2012-02-01 2012-02-01 Optimization of resource usage in a multi-environment computing system
PCT/US2013/021370 WO2013115960A1 (en) 2012-02-01 2013-01-14 Optimization of resource usage in a multi-environment computing system

Publications (2)

Publication Number Publication Date
CN104137074A true CN104137074A (zh) 2014-11-05
CN104137074B CN104137074B (zh) 2018-02-16

Family

ID=47595107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380010728.6A Active CN104137074B (zh) 2012-02-01 2013-01-14 多环境计算系统中资源使用的优化

Country Status (5)

Country Link
US (1) US9396041B2 (zh)
EP (1) EP2810162B1 (zh)
KR (1) KR101993917B1 (zh)
CN (1) CN104137074B (zh)
WO (1) WO2013115960A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024131554A1 (zh) * 2022-12-19 2024-06-27 北京东土科技股份有限公司 一种操作系统虚拟机的配置方法、装置、设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983536B2 (en) 2010-10-22 2015-03-17 Google Technology Holdings LLC Resource management in a multi-operating environment
JP6222953B2 (ja) * 2013-03-22 2017-11-01 キヤノン株式会社 情報処理装置、方法およびプログラム
KR102320151B1 (ko) * 2015-02-16 2021-11-01 삼성전자주식회사 어플리케이션을 설치하는 전자 장치 및 그 제어 방법
US9785790B2 (en) * 2015-12-15 2017-10-10 International Business Machines Corporation Protecting computer security applications
US10776072B2 (en) * 2016-03-29 2020-09-15 Intel Corporation Technologies for framework-level audio device virtualization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307425A1 (en) * 2005-03-31 2008-12-11 Shailendra Tripathi Data Processing System and Method
CN101883029A (zh) * 2009-05-05 2010-11-10 埃森哲环球服务有限公司 云中的应用移植方法和系统
US20110016299A1 (en) * 2009-07-20 2011-01-20 Galicia Joshua D Multi-environment operating system
US20110099403A1 (en) * 2009-10-26 2011-04-28 Hitachi, Ltd. Server management apparatus and server management method
US20110167421A1 (en) * 2010-01-04 2011-07-07 Vmware, Inc. Dynamic Scaling of Management Infrastructure in Virtual Environments
CN102163072A (zh) * 2008-12-09 2011-08-24 英特尔公司 用于节能的基于软件的线程重映射

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098437B2 (en) * 2010-10-01 2015-08-04 Z124 Cross-environment communication framework
US7952569B2 (en) 2002-08-08 2011-05-31 Hewlett-Packard Development Company, L.P. System and method of switching between multiple viewing modes in a multi-head computer system
US7158154B2 (en) 2003-06-18 2007-01-02 Lg Electronics Inc. Method for controlling display mode in portable computer
US7376949B2 (en) 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
JP2005277815A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd 利用ネットワーク選択方法及び通信システム、移動端末
US7398528B2 (en) 2004-11-13 2008-07-08 Motorola, Inc. Method and system for efficient multiprocessor processing in a mobile wireless communication device
WO2007035611A2 (en) 2005-09-16 2007-03-29 Hoshiko, Llc Low power mode for portable computer system
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
KR100928866B1 (ko) * 2007-09-10 2009-11-30 주식회사 안철수연구소 가상 환경에서의 어플리케이션 실행 장치 및 방법
WO2009049088A1 (en) * 2007-10-10 2009-04-16 Sun Microsystems, Inc. Method and system for changing execution environments during application execution
US8484721B2 (en) * 2008-08-04 2013-07-09 Moka5, Inc. Locked-down computing environment
US8260603B2 (en) * 2008-09-30 2012-09-04 Hewlett-Packard Development Company, L.P. Scaling a prediction model of resource usage of an application in a virtual environment
US8180604B2 (en) * 2008-09-30 2012-05-15 Hewlett-Packard Development Company, L.P. Optimizing a prediction of resource usage of multiple applications in a virtual environment
JP5137781B2 (ja) 2008-10-30 2013-02-06 株式会社エヌ・ティ・ティ・ドコモ 移動機及びアプリケーションの切替方法
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US8868899B2 (en) 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US8983536B2 (en) 2010-10-22 2015-03-17 Google Technology Holdings LLC Resource management in a multi-operating environment
US8782258B2 (en) 2011-01-04 2014-07-15 Motorola Mobility Llc Transferring web data between operating system environments
US9015709B2 (en) * 2011-03-08 2015-04-21 Rackspace Us, Inc. Hypervisor-agnostic method of configuring a virtual machine
US8615589B1 (en) * 2011-06-27 2013-12-24 Amazon Technologies, Inc. Resource optimization recommendations
US11205019B2 (en) * 2011-10-28 2021-12-21 Hewlett-Packard Development Company, L.P. Multiple computing environments on a computer system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307425A1 (en) * 2005-03-31 2008-12-11 Shailendra Tripathi Data Processing System and Method
CN102163072A (zh) * 2008-12-09 2011-08-24 英特尔公司 用于节能的基于软件的线程重映射
CN101883029A (zh) * 2009-05-05 2010-11-10 埃森哲环球服务有限公司 云中的应用移植方法和系统
US20110016299A1 (en) * 2009-07-20 2011-01-20 Galicia Joshua D Multi-environment operating system
US20110099403A1 (en) * 2009-10-26 2011-04-28 Hitachi, Ltd. Server management apparatus and server management method
US20110167421A1 (en) * 2010-01-04 2011-07-07 Vmware, Inc. Dynamic Scaling of Management Infrastructure in Virtual Environments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024131554A1 (zh) * 2022-12-19 2024-06-27 北京东土科技股份有限公司 一种操作系统虚拟机的配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR20140117594A (ko) 2014-10-07
EP2810162B1 (en) 2019-03-27
KR101993917B1 (ko) 2019-06-27
EP2810162A1 (en) 2014-12-10
US20130198367A1 (en) 2013-08-01
CN104137074B (zh) 2018-02-16
US9396041B2 (en) 2016-07-19
WO2013115960A1 (en) 2013-08-08

Similar Documents

Publication Publication Date Title
US10067777B2 (en) Supporting multiple operating system environments in computing device without contents conversion
US9189291B2 (en) Sharing a kernel of an operating system among logical partitions
US8966477B2 (en) Combined virtual graphics device
CN104137074A (zh) 多环境计算系统中资源使用的优化
EP3100162B1 (en) Task scheduling method and apparatus
CN105579953B (zh) 灵活引导程序代码架构
CN104137056A (zh) 在没有vmm介入的情况下对调用vmm配置的服务的指令集支持
CN103282883A (zh) 在webtop应用托盘中显示安卓应用启动器的系统和方法
US20210042138A1 (en) Computing devices
US11435985B2 (en) Electronic device and operation method thereof
EP3803585B1 (en) Electronic device for executing multiple operating systems and method of controlling same
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN102662717A (zh) 一种嵌入式系统自引导启动方法
KR102631745B1 (ko) 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
EP3633507B1 (en) Technologies for secure and efficient native code invocation for firmware services
US20180307497A1 (en) System and method of interactive splash screen in embedded environments
US9766918B2 (en) Virtual system device identification using GPU to host bridge mapping
CN102141915B (zh) 一种基于RTLinux的设备实时控制方法
US20130021376A1 (en) Changing Orientation of Displayed Data Responsive to Window Resizing
US11836503B2 (en) Electronic device for executing heterogeneous operating systems and method therefor
US9600423B2 (en) Periodic access of a hardware resource
US20160246633A1 (en) Read-only vm function chaining for secure hypervisor access
US20230409365A1 (en) Direct Mode for Virtualization
US20050283755A1 (en) Method and apparatus providing for extendable interaction between firmware and operating systems on digital devices
CN116880962A (zh) 确定虚拟机管理器延迟信息的方法、装置、设备及车辆

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160729

Address after: American California

Applicant after: Google Technology Holdings Ltd

Address before: Illinois State

Applicant before: Motorola Mobility LLC

GR01 Patent grant
GR01 Patent grant