CN112771489A - 控制异构操作系统和电子设备的执行的方法及其存储介质 - Google Patents

控制异构操作系统和电子设备的执行的方法及其存储介质 Download PDF

Info

Publication number
CN112771489A
CN112771489A CN201980063379.1A CN201980063379A CN112771489A CN 112771489 A CN112771489 A CN 112771489A CN 201980063379 A CN201980063379 A CN 201980063379A CN 112771489 A CN112771489 A CN 112771489A
Authority
CN
China
Prior art keywords
application
electronic device
screen
execution
processor
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.)
Pending
Application number
CN201980063379.1A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112771489A publication Critical patent/CN112771489A/zh
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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/451Execution arrangements for user interfaces
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Abstract

提供了一种电子设备。该电子设备包括显示器,至少一个处理器以及与该显示器和该至少一个处理器可操作地连接并且被配置为存储多个应用的存储器,该多个应用包括被配置为使用第一操作系统(OS)执行的第一应用和被配置为使用第二OS执行的第二应用,其中,所述存储器存储被配置为在被执行时使所述至少一个处理器执行以下操作的指令:在第一OS的屏幕上输出第一对象和第二对象,其中第一对象与第一应用的执行相关,第二对象与第二应用的执行相关,以及当选择了第二对象,在第一OS的屏幕上输出第二应用的执行屏幕。其他实施例也是可能的。

Description

控制异构操作系统和电子设备的执行的方法及其存储介质
技术领域
本公开涉及用于控制异构操作系统和电子设备的执行的方法以及用于其的存储介质。
背景技术
移动电子设备和技术的处理性能的提高导致配备了各种开放式操作系统和全新服务的智能手机的出现。与台式个人计算机(PC)、笔记本电脑等其他电子设备相比,智能手机的性能可与个人计算机相媲美,从而使智能手机的使用更加频繁。越拉越多的用户选择智能手机而不是台式PC来用于保存和使用文件的目的。存储在智能手机中的文件有时需要在台式PC上运行或修改。凭借更高的性能和与台式PC或外部显示器的连接能力,智能手机可能能够取代家用和商用计算机。
已经开发出各种技术来将智能手机连接到台式PC或外部显示器,以使其在与台式PC相似的环境中使用。
电子设备通常基于单操作系统(OS)运行,并且要运行另一个操作系统(OS),它们需要虚拟网络计算(VNC)或重新启动。VNC或其他虚拟机可以配置环境以使同一硬件设备能够使用多个OS。例如,可以通过经由虚拟机共享图形处理单元(GPU)来使用Android和Linux。
发明内容
【技术问题】
但是,重新启动非常耗时且麻烦,同时使用虚拟机可能会减慢系统速度。当另一个OS运行时,可能会迫使用户使用只能在另一个OS上运行而不能在主OS上运行的应用。
以上信息仅作为背景信息呈现,以帮助理解本公开。关于以上内容中的任何内容是否可以用作关于本公开的现有技术,没有确定,也没有断言。
【解决问题的方法】
在异构操作系统(OS)上使用或操纵应用时,异构OS之间的互通可能不仅可以扩展智能手机自身功能的可用性,还可以扩展其它各种目的可用性。
本公开的方面在于至少解决上述问题和/或缺点,并至少提供下述优点。因此,本公开的一方面在于提供一种用于电子设备的装置和方法,该电子设备包括:显示器;至少一个处理器;以及与该显示器和该至少一个处理器可操作地连接并且被配置为存储包括基于第一操作系统操作的第一应用和基于第二操作系统操作的第二应用的多个应用的存储器。其中,所述存储器存储被配置为在被执行时使所述至少一个处理器执行以下操作的指令:在第一OS的屏幕上输出第一对象和第二对象,其中第一对象与第一应用的执行相关,第二对象与第二应用的执行相关,以及当选择了第二对象,在第一OS的屏幕上输出第二应用的执行屏幕。
本公开的另一方面在于提供一种用于控制电子设备上的异构OS的执行的装置和方法,包括在第一操作系统(OS)的屏幕上输出第一对象和第二对象,其中,第一对象与基于第一OS操作的第一应用的执行相关联,第二对象与基于第二OS操作的第二应用的执行相关联;接收对第一对象和第二对象中的第二对象的选择;和对应于对第二对象的选择,在第一OS的屏幕的至少一部分上输出第二应用的执行屏幕。
另外的方面将在下面的描述中部分地阐述,并且部分地从描述中将是显而易见的,或者可以通过实践所呈现的实施例而获知。
根据本公开的一方面,提供一种存储介质,该存储介质存储被配置为由至少一个处理器执行以使至少一个处理器能够执行至少一个操作的命令。该存储介质包括在第一OS的屏幕上输出与基于第一OS操作的第一应用的执行相关联的第一对象和与基于第二OS操作的第二应用的执行相关联的第二对象,接收在第一对象和第二对象中对第二对象的选择以及对应于第二对象的选择,在第一OS的屏幕的至少一部分上输出第二应用的执行屏幕。
根据下面的结合附图公开了本公开的各种实施例的详细描述,本公开的其他方面、优点和显著特征对于本领域技术人员将变得显而易见。
【发明的有益效果】
本公开的各种实施例可以在使用或操纵异构OS上的应用时提供异构OS之间的互通,从而不仅扩展智能手机自身功能的可用性,而且扩展智能手机的其他多种目的。
本公开的各种实施例可以建立一种环境,在该环境中,可以在电子设备(例如,智能电话)上同时运行基于不同的OS的应用,从而导致更多的使用便利。
本公开的各种实施例使得Linux应用能够基于针对Android环境给出的相同用户体验在电子设备(例如,智能电话)上基于Android运行。
附图说明
根据以下结合附图的描述,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:
图1是根据本公开的实施例的在网络环境中的电子设备的框图;
图2是示出根据本公开的实施例的用于控制异构操作系统(OS)的执行的电子设备的示例组件的视图;
图3是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的示例详细组件的视图;
图4是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的内部结构的视图;
图5是示出根据本公开的实施例的用于控制电子设备上的异构OS的执行的示例屏幕的视图;
图6A是示出根据本公开的实施例的电子设备的操作环境的视图;
图6B是示出根据本公开的实施例的电子设备的操作环境的视图;
图7是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的操作的流程图;
图8是示出根据本公开的实施例的获取Linux程序包的流程图。
图9是示出根据本公开的实施例的用于执行Linux的电子设备的操作的流程图;
图10是示出根据本公开的实施例的用于同时执行异构OS的示例屏幕配置的视图;
图11是示出根据本公开实施例的与选择用于执行第二OS的对象相对应的示例屏幕的视图;
图12是示出根据本公开的实施例的与选择用于执行基于第二OS的第二应用的对象相对应的示例屏幕的视图;
图13是示出根据本公开的实施例的比较基于第一OS操作的第一应用的执行屏幕和基于第二OS操作的第二应用的执行屏幕的示例的图;
图14是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图;
图15是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图;
图16是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图;
图17是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图;
图18是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图;和
图19是示出根据本公开的实施例的当同时执行异构OS时的各种示例屏幕的视图。
在所有附图中,相似的附图标记将被理解为指代相似的部件、组件和结构。
具体实施方式
提供以下参考附图的描述以帮助全面理解由权利要求及其等同物所限定的本公开的各种实施例。它包括各种具体细节以帮助理解,但是这些具体细节仅被认为是示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可以对本文所述的各种实施例进行各种改变和修改。另外,为了清楚和简洁,可以省略对公知功能和构造的描述。
在以下描述和权利要求中使用的术语和词语不限于书面含义,而是仅由发明人用来使对本公开的清楚和一致的理解成为可能。因此,对于本领域技术人员而言显而易见的是,提供本公开的各种实施例的以下描述仅是出于说明的目的,而不是出于限制由所附权利要求及其等同物所限定的本公开的目的。
应当理解,单数形式的“一个”,“一种”和“该”包括复数指示物,除非上下文另外明确指出。因此,例如,提及“部件表面”包括提及一个或多个这样的表面。
图1是示出根据各种实施例的网络环境100中的电子设备101的框图。
参照图1,网络环境100中的电子设备101可经由第一网络198(例如,短距离无线通信网络)与电子设备102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子设备104或服务器108进行通信。根据实施例,电子设备101可经由服务器108与电子设备104进行通信。根据实施例,电子设备101可包括处理器120、存储器130、输入装置150、声音输出装置155、显示装置160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(SIM)196或天线模块197。在一些实施例中,可从电子设备101中省略所述部件中的至少一个(例如,显示装置160或相机模块180),或者可将一个或更多个其它部件添加到电子设备101中。在一些实施例中,可将所述部件中的一些部件实现为单个集成电路。例如,可将传感器模块176(例如,指纹传感器、虹膜传感器、或照度传感器)实现为嵌入在显示装置160(例如,显示器)中。
处理器120可运行例如软件(例如,程序140)来控制电子设备101的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据实施例,作为所述数据处理或计算的至少部分,处理器120可将从另一部件(例如,传感器模块176或通信模块190)接收到的命令或数据加载到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可包括主处理器121(例如,中央处理器(CPU)或应用处理器(AP))以及与主处理器121在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元(GPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。另外地或者可选择地,辅助处理器123可被适配为比主处理器121耗电更少,或者被适配为具体用于指定的功能。可将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123可控制与电子设备101(而非主处理器121)的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可与主处理器121一起来控制与电子设备101的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。
存储器130可存储由电子设备101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。所述各种数据可包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可包括易失性存储器132或非易失性存储器134。
可将程序140作为软件存储在存储器130中,并且程序140可包括例如操作系统(OS)142、中间件144或应用146。
输入装置150可从电子设备101的外部(例如,用户)接收将由电子设备101的其它部件(例如,处理器120)使用的命令或数据。输入装置150可包括例如麦克风、鼠标、键盘或数字笔(例如,手写笔)。
声音输出装置155可将声音信号输出到电子设备101的外部。声音输出装置155可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的,接收器可用于呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示装置160可向电子设备101的外部(例如,用户)视觉地提供信息。显示装置160可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示装置160可包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块170可将声音转换为电信号,反之亦可。根据实施例,音频模块170可经由输入装置150获得声音,或者经由声音输出装置155或与电子设备101直接(例如,有线地)连接或无线连接的外部电子设备(例如,电子设备102)的耳机输出声音。
传感器模块176可检测电子设备101的操作状态(例如,功率或温度)或电子设备101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口177可支持将用来使电子设备101与外部电子设备(例如,电子设备102)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口177可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端178可包括连接器,其中,电子设备101可经由所述连接器与外部电子设备(例如,电子设备102)物理连接。根据实施例,连接端178可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块179可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179可包括例如电机、压电元件或电刺激器。
相机模块180可捕获静止图像或运动图像。根据实施例,相机模块180可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块188可管理对电子设备101的供电。根据实施例,可将电力管理模块188实现为例如电力管理集成电路(PMIC)的至少部分。
电池189可对电子设备101的至少一个部件供电。根据实施例,电池189可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块190可支持在电子设备101与外部电子设备(例如,电子设备102、电子设备104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190可包括能够与处理器120(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络(例如,LAN或广域网(WAN)))与外部电子设备进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可使用存储在用户识别模块196中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络198或第二网络199)中的电子设备101。
天线模块197可将信号或电力发送到电子设备101的外部(例如,外部电子设备)或者从电子设备101的外部(例如,外部电子设备)接收信号或电力。根据实施例,天线模块197可包括天线,所述天线包括辐射元件,所述辐射元件由形成在基底(例如,PCB)中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模块197可包括多个天线。在这种情况下,可由例如通信模块190(例如,无线通信模块192)从所述多个天线中选择适合于在通信网络(诸如第一网络198或第二网络199)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块190和外部电子设备之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形成为天线模块197的一部分。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络199连接的服务器108在电子设备101和外部电子设备104之间发送或接收命令或数据。电子设备102和电子设备104中的每一个可以是与电子设备101相同类型的装置,或者是与电子设备101不同类型的装置。根据实施例,将在电子设备101运行的全部操作或一些操作可在外部电子设备102、外部电子设备104或服务器108中的一个或更多个运行。例如,如果电子设备101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子设备101可请求所述一个或更多个外部电子设备执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子设备101除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子设备执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子设备可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子设备101。电子设备101可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
图2是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的示例组件的视图200。
参照图2,电子设备(例如,图1的电子设备101)可以包括OS 210,并且同时执行多个OS。OS 210可以包括第一OS 230和第二OS 220。例如,第一OS 230可以是旨在用于电子设备中的嵌入式环境中的Android OS,而第二OS 220可以是Linux OS。第二OS 220可以包括用于基于Linux的OS的Ubuntu(R)。第一OS 230可以被称为主机OS,第二OS 220可以被称为访客OS。
第一OS 230和第二OS 220可以彼此独立地操作并且共存,并且当基于Linux操作时,它们可以彼此依赖。OS 210中的第一OS 230和第二OS 220可以与内核240通信并且可以如箭头所示彼此通信。根据实施例,尽管以Android和Linux作为可以属于OS 210的OS的示例,但是可以替代地添加或使用除Android和Linux之外的其他各种类型的OS。因此,OS 210可以包括两个或更多个各种类型的OS,并且多个OS可以独立地存在于同一内核240(或不同的核/内核)上。
内核240可以通过连接和管理OS 210的第一OS 230和第二OS 220的各个中间件单元与设备硬件250的物理组件之间的交互来分配电子设备的每个资源。
设备硬件250可以包括各种硬件设备。设备硬件250可以是与被配置为执行各种功能和计算操作的处理器(例如,图1的处理器120)耦合的设备。例如,设备硬件250可以包括与处理器(例如,图1的处理器120)耦合的存储器。存储器(例如,图1的存储器130)可以存储计算机可执行的指令以执行各种功能和操作以控制异构OS的执行。
图3是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的示例详细组件的视图300。图3的详细组件可以对应于图2的组件,但不限于图2的组件,可以添加其他各种功能和组件。
参照图3,电子设备(例如,图1的电子设备101)可以包括包括多个OS的OS 210、内核240和设备硬件250。OS 210可以包括多个异构OS,例如,如图2所示的第一OS 230和第二OS 220。
根据实施例,第一OS 230可以是基于Android的OS,并且可以包括控制应用231和第一应用232。第一应用232可以是可在Android OS上操作的至少一个应用,并且可以是称为应用程序。例如,第一应用232可以对应于基于Android OS可操作的各种应用,诸如视频回放应用或网络浏览器应用。
第一OS 230可以是在电子设备启动时操作的主OS,并且可以被称为主机OS。第一OS 230可以执行控制应用231以与一个或多个不同的OS(例如,访客OS)进行交互,并管理系统资源。
根据实施例,第一OS 230可以包括控制应用231,该控制应用231用于处理和控制基于第一OS 230的数据和基于与第一OS 230不同的OS(例如,图2的第二OS 220)的数据。例如,当第一OS 230是Android OS且第二OS220是Linux OS时,控制应用231可以处理和控制基于Android OS的数据和基于Linux的数据。
根据实施例,控制应用231可以使用第一OS 230的内核240通过容器315与访客OS(例如,图2的第二OS 220)的运行进程进行通信。控制应用231可以将在访客OS的进程中发生的事件转移到第一OS 230(例如,Android OS)的进程,或者将在第一OS 230的进程中发生的事件转移到访客OS以执行或控制进程。根据实施例,控制应用231可以被称为Linux ondex(LoD)应用。
根据实施例,访客OS(例如,图2的第二OS 220)可以通过容器315执行,并且可以包括在访客OS上可操作的多个应用(例如,第二应用221)。通过容器315执行的访客OS可以包括至少一个通信程序222。通信程序222可以是用于与第一OS 230通信的组件,并且可以与控制应用231通信。例如,通信程序222可以经由与容器的外部(例如,第一OS 230)的控制应用231的套接字通信发送在容器315上执行的与访客OS有关的数据。因此,第一OS 230可以使用容器315从通信程序222获得与操作的、隔离的访客OS有关的数据,并且基于所获得的与访客OS有关的数据来处理与访客OS有关的进程。
根据实施例,OS 210或第一OS 230可以在多任务OS中包括守护程序233。根据实施例,守护程序233可以被称为名称空间工具(NST)守护程序。守护程序233可以是在用于控制应用231的电子设备的后台中运行的程序。守护程序233可以与控制应用231通信,并且可以生成用于执行访客OS并控制内核240的各种功能的容器315,例如,名称空间功能321和Cgroup 324等,并支持操作进程,例如文件系统325的安装控制。守护程序233还可以支持访客OS的操作进程,而不终止主机OS的进程。
尽管图3示出了其中守护程序233独立于第一OS 230和与作为访客OS的第二OS有关的容器315而被包括在OS 210中的示例,这仅是示例,并且本公开的实施例不限于此。例如,守护程序233使用第一OS 230的内核240,并且因此鉴于软件层次结构可以将其定位在内核240的顶部,但是不限于该位置。
根据实施例,电子设备可以生成容器315以能够同时执行异构OS。根据实施例,容器315可以由控制应用231生成。电子设备的处理器(例如,图1的处理器120)可以控制第一OS 230以生成容器315并生成容器315,用于通过安装在第一OS 230上的控制应用231执行访客OS的操作。根据实施例,当输入了对基于第二OS 220可操作的应用的用户选择时,可以对应于该输入来生成容器315。例如,当用户选择用于执行第二OS 220的应用的图标时,可以生成用于执行第二OS 220的容器315。
根据实施例,电子设备可以使用预先存在的(或预先生成的)容器(未示出)以能够同时执行异构OS。根据实施例,尽管存在至少一个共享内核240的预先存在的容器,但是可以将第一OS 230中的至少一个容器中的特定一个分配为用于执行第二OS 220的容器。分配特定容器的操作可以控制电子设备的处理器(例如,图1的处理器120),以允许第一OS 230分配特定容器或通过控制应用231控制分配。如上所述,当分配用于执行第二操作系统220的容器时,可以使用特定容器隔离和操作与第二OS 220有关的数据。例如,当用户选择用于执行第二OS 220的应用的图标时,针对执行第二OS 220的目的,可以指定任何一个预先存在的容器。
根据实施例,控制应用231可以通过容器315(或特定容器)执行第二OS 220。因此,电子设备可以生成与接收到用于驱动第二OS 220的用户输入相对应的容器315,然后将第二OS 220所需的数据分配给生成的容器315,从而使得能够同时执行异构OS,而不是预先分配或存储然后管理基于第二OS 220运行的应用所需的所有数据以及用于驱动第二OS 220的数据。
根据实施例,与用于选择要由第二OS 220执行的应用(例如,第二应用221)的用户输入相对应,控制应用231可以通过容器315分配并提供执行第二应用221所需的数据。
根据实施例,可以不通过虚拟化而是通过隔离技术来生成容器315。例如,当第一OS 230正在运行时,可以仅处理隔离的第二OS 220的进程,而无需用于执行第二OS 220的任何引导进程。因此,由于可以通过第一OS 230的控制应用231通过容器315以文件为单位管理和分发图像,所以可以以最小容量同时执行与当前正在运行的OS不同的OS。此外,根据实施例,容器315可以使用作为主机OS的第一OS 230的内核240,并且仅分配基于第二OS220执行的应用所需的存储器,从而克服了虚拟机的局限性,能够控制异构OS,而不会增加主机OS的性能的负担。
根据实施例,内核240可以由第一OS 230(例如,Android OS)的Linux内核执行,并且可以生成容器315作为Linux容器功能以通过控制应用231驱动访客OS(例如,Linux OS)。内核240可以是提供用于执行OS的各种功能的程序。例如,内核240可以包括以下至少一个:名称空间功能321,用于将执行与第一OS 230相关的访客OS的进程分配给名称空间;安全功能322;驱动器功能323,用于访问电子设备的设备硬件250的组件;Cgroups功能324,用于分配资源以分配CPU内核或存储容量;或文件系统功能,用于存储和管理文件。
根据实施例,容器315可以是独立于第一OS 230驱动虚拟OS的环境,并且可以是基于Linux容器支持内核创建的分布式Linux版本,例如
Figure BDA0002993675040000121
或Debian。容器315的产生不限于通过图3的组件,但也可以由Linux名称空间容器生成。
根据实施例,设备硬件250可以包括至少一个硬件组件,并且可以包括处理器(例如,中央处理单元331)和存储器(例如,随机存取存储器332)。设备硬件250可以进一步包括各种组件和资源,例如输入设备,例如触摸设备335,例如键盘、鼠标和/或触摸屏;音频设备333;输出设备,例如扬声器;和/或显示器334或外部存储设备336。
图4是示出根据本公开的实施例的电子设备的内部配置的框图400。
参照图4,根据实施例,电子设备401(例如,图1的电子设备101)可以是用于控制异构OS的执行的设备(例如,智能手机或平板个人计算机(PC)),并且可以包括至少一个处理器420(例如,图1的处理器120)、存储器430(例如,图1的存储器130)和显示器460(例如,图1的显示设备160)。图4的所有组件不是电子设备401的必要组件,并且电子设备401可以用比图4所示的更多或更少的组件来实现。
存储器430可以存储指令,以使处理器420在被执行时能够执行各种操作。
根据实施例,存储器430可以可操作地与显示器460和处理器420连接,并且可以存储多个应用,包括基于第一OS操作的第一应用和基于第二OS操作的第二应用。
根据实施例,存储器430可以存储被执行以使处理器420能够在第一OS的屏幕上输出与第一应用的执行相关联的第一对象和与第二应用的执行相关联的第二对象的指令。并且,当选择所述第一对象和所述第二对象中的第二对象时,在第一OS的屏幕的至少一部分上输出所述第二应用的执行屏幕。第一OS的屏幕可以是在第一OS正在运行(或被驱动)时显示的屏幕。
根据实施例,指令可以被配置为使得处理器420能够在外部电子设备(例如,外部显示设备)与电子设备连接的同时,将第一OS的屏幕输出到外部电子设备,并且与第二对象的选择相对应,将在第一OS的屏幕的至少一部分上输出的第二应用的执行屏幕输出到外部电子设备。
根据实施例,指令可以被配置为使得处理器420能够在选择第二对象时通过安装在第一OS上的控制应用来处理用于执行第二应用的数据。控制应用可以使用容器来处理(或控制)用于执行第二应用的数据。根据实施例,在接收到用于执行第二应用的请求时,可以生成新的容器,或者可以对应于该请求的接收来使用现有容器。
根据实施例,指令可以被配置为使处理器420能够对应于第二对象的选择,生成用于通过安装在第一OS上的控制应用来执行第二OS的容器,并输出通过生成的容器执行第二操作系统时第二应用的执行屏幕。。
根据实施例,指令可以被配置为使处理器420能够对应于第二对象的选择,将至少一个容器中的任何一个分配为用于通过安装在第一OS上的控制应用执行第二OS的特定容器,并通过分配的特定容器执行第二OS,同时输出第二应用的执行屏幕。
根据实施例,指令可以被配置为使处理器420能够在第一OS的屏幕上输出用于执行第二OS的对象,并且与选择用于执行第二OS的对象相对应地执行第二OS。
根据实施例,指令可以被配置为使得处理器420能够在选择第一对象和第二对象中的第一对象时,在第一OS上执行基于第一OS的第一应用,并且,当在输出第一应用的执行屏幕的同时选择第二对象时,输出第二应用的执行屏幕以占据与第二对象的选择相对应的第一应用的执行屏幕的全部或一部分。
根据实施例,第二应用可以是从外部服务器(例如,应用商店)分发的可在第二OS上执行的程序包程序。根据实施例,程序包程序可以包括第二应用的程序包名称、权限信息以及在第一OS的屏幕上执行第二应用所必需的关于第二OS的目标程序包信息中的至少一个。根据实施例,基于关于第二OS的目标程序包信息来配置第二应用的执行屏幕。
根据实施例,第一OS可以是Android OS,第二OS可以是Linux OS。
图5是示出根据本公开的实施例的用于控制电子设备上的异构OS的执行的示例屏幕的视图500。
参照图5,电子设备501可以输出第一OS的屏幕,该第一OS可以是在第一OS被执行(或被驱动)的状态下的屏幕。根据实施例,可以基于从第一OS提供的图形数据来配置第一OS的屏幕。例如,如图5所示,主页屏幕560可以在第一OS的屏幕上输出。当选择与基于所述第一OS可操作的第一应用相关联的对象时,所述第一OS的屏幕可以包括第一应用的执行屏幕。第一应用的执行屏幕可以占据主页屏幕560的全部或部分。当电子设备501通电并且第一OS运行时,主页屏幕560可以是在显示器(例如,图1的显示设备160或图4的显示器460)上显示的第一屏幕。主页屏幕560可以包括与基于第一OS可操作的第一应用相关联的对象(例如,图标)、用于驱动不同于第一OS运行的第二OS的对象570、以及与至少一个基于第二OS可操作的第二应用相关联的对象590。用于驱动第二OS的对象570可以是用于执行使用第二OS驱动的应用的快捷方式图标。用于驱动第二OS的对象570可以以由图像、文本、照片或其组合形成的图标的形式形成和显示。
根据实施例,第一应用、用于驱动第二OS的应用或第二应用中的至少一个可以包括由电子设备501的制造商存储在电子设备501中的应用。根据实施例,用于驱动第二OS的应用和第二应用中的至少一个可以包括从将应用出售给电子设备501的外部服务器(例如,应用商店)下载的应用。
对应于在对象570上用于驱动第二OS的用户选择,电子设备501可以驱动第二OS。对应于对与可基于第二OS操作的至少一个应用相关联的对象590的选择,电子设备501可获得与通过控制应用231中的容器315选择的对象590相关的应用所需的数据。
例如,当电子设备的用户选择Linux图像,例如
Figure BDA0002993675040000151
时,可以通过Android OS的控制应用231显示Linux OS的屏幕。
图6A和图6B是示出根据本公开的各种实施例的电子设备的操作环境的视图。
参照图6A,电子设备601可以与外部电子设备(例如,显示设备)602连接。由于电子设备601是移动设备,例如,智能电话,所以触摸屏显示器的尺寸可能受到限制。
如图6A所示,电子设备601可以经由例如USB连接器,USB-C连接器或其他输入/输出接口与外部电子设备602连接。虽然图6A示出了其中电子设备601通过输入/输出接口630与外部电子设备602连接的示例,但是本公开的实施例不限于此,并且电子设备601可以经由中继设备,例如小站(docket station),与外部电子设备602连接,并且可以与外部电子设备602无线连接,如图6B所示。
参照图6B,电子设备601可以经由通信模块(例如,图1的通信模块190)与外部电子设备602连接。
当电子设备601与外部电子设备602连接时,电子设备601可以通过外部电子设备602输出屏幕。电子设备601可以重新配置在电子设备601的显示器上显示的屏幕,并且通过外部电子设备602输出重新配置的屏幕。电子设备601可以提供与当通过外部电子设备602将台式计算机用于用户时所提供的用户界面或用户体验相似的用户界面或用户体验。
根据实施例,电子设备601可以同时执行多个OS,并且可以在屏幕上同时显示多个OS。例如,电子设备601可以同时执行Android OS和Linux OS,并显示第一窗口610和第二窗口620,如图6A和6B所示。电子设备601可以显示第一窗口610和/或第二窗口620,第一窗口610和/或第二窗口620占据通过外部电子设备602输出的全部或部分屏幕,以显示应用的执行屏幕。
根据实施例,当电子设备601与外部电子设备602连接时,可以通过外部电子设备602的屏幕自动执行用于从电子设备601输出数据的操作(例如,dex)。例如,当自动执行dex时,可以在外部电子设备602上显示具有与桌面窗口相似布局的屏幕或镜像屏幕。
根据实施例,当电子设备601连接到外部电子设备602时,电子设备601可以显示用于执行第二OS的对象以及与多个应用有关的对象,所述多个应用包括在外部电子设备602上以与图5所示类似的方式的基于第一OS操作的第一应用和基于第二OS操作的第二应用。
电子设备601可以与外部输入设备(例如,键盘或鼠标)有线或无线连接,并且可以通过外部输入设备接收用户输入,或者可以通过电子设备601的触摸屏显示器接收用户输入。
根据实施例,外部电子设备602可以是可连接到电子设备601的各种外部设备。例如,外部电子设备602可以包括台式计算机、外部监视器、电视(TV)、便携式计算机或个人计算机。
图7是示出根据本公开的实施例的用于控制异构OS的执行的电子设备的操作的流程图700。该操作方法可以包括操作710至740。该操作方法的每个步骤/操作可以由至少一个电子设备(例如,图1或图4的电子设备101或401)或至少一个处理器(例如,图1或图2的处理器120或420)执行。根据实施例,操作710至740中的至少一个可以按顺序省略或改变,或者可以添加其他操作。
参照图7,在操作710中,电子设备可以包括多个应用,包括基于第一OS操作的第一应用和基于第二OS操作的第二应用。
在操作720中,电子设备可以在第一OS的屏幕上输出与第一应用的执行相关联的第一对象和与第二应用的执行相关联的第二对象。根据实施例,可以从外部服务器(例如,应用商店)下载并预存储取决于每个OS驱动的各种应用。虽然图7示出了其中与第二应用的执行相关联的第二对象和第一对象一起被显示的示例,但第二应用可以是通过应用搜索进程和下载进程实时安装的应用。根据实施例,第二应用可以是从外部服务器分发的一种程序包程序,其将在第一OS运行时安装在基于第一OS的电子设备上并且在第二OS上可执行。例如,程序包程序可以是第二应用的安装文件,并且可以包括其中第一OS正在运行时执行第二应用所必须的第二应用的程序包名称、权限信息以及关于第二OS的目标程序包信息中的至少一个。
在操作730中,电子设备可以确定是否选择了第一对象和第二对象中的第二对象。当选择了第二对象时,在操作740该电子设备可以在第一OS的屏幕的至少一部分上输出第二应用的执行屏幕。根据实施例,尽管第二应用基于第二OS操作,但第一OS可能会在后台连续运行。
根据实施例,输出第二应用的执行屏幕的操作可以包括:当外部电子设备(例如,外部显示设备)与电子设备连接时,将第一OS的屏幕输出到外部电子设备,并且与第二对象的选择相对应,将在第一OS的屏幕的至少一部分上输出的第二应用的执行屏幕输出到外部电子设备。
根据实施例,该方法可以进一步包括:当选择了第二对象,处理用于通过安装在第一OS上的控制应用执行第二应用的数据。控制应用可以使用容器来处理(或控制)用于执行第二应用的数据。根据实施例,在接收到用于执行第二应用的请求时,可以生成新的容器,或者可以对应于该请求的接收来使用现有容器。
根据实施例,该方法还可以包括:与选择第二对象相对应,生成用于通过安装在第一OS上的控制应用执行第二OS的容器,并在通过生成的容器执行第二OS时输出第二应用的执行屏幕。
根据实施例,该方法可以进一步包括在第一OS的屏幕上输出用于执行第二OS的对象,并且对应于对用于执行第二OS的对象的选择,通过生成的容器来执行第二OS。
根据实施例,输出所述第二应用的执行屏幕的操作可以包括,当选择所述第一对象和所述第二对象中的第一对象时,在第一OS上执行基于第一OS的第一应用,当在输出第一应用的执行屏幕的同时选择第二对象时,输出第二应用的执行屏幕以占据与第二对象的选择相对应的第一应用的全部或部分执行屏幕。
因此,当用户在显示第二应用的执行屏幕的同时再次选择第一应用时,可以将第一应用的执行屏幕与第二应用的执行屏幕一起输出。例如,可以通过点击Android背景中与Linux相关的图标,向用户显示就好像Linux程序包直接在Android上执行一样。因此,通过单击实际在Linux上运行的应用,通过Android屏幕上显示的Linux执行屏幕用户可以具有与使用在Android上运行的应用时相同的用户体验。
根据实施例,第二应用可以是从外部服务器分发的、可以在第二OS上执行的程序包。
根据实施例,程序包程序可以包括第二应用的程序包名称、权限信息和关于在第一OS的屏幕上执行第二应用所必需的关于第二OS的目标程序包信息中的至少一个。
根据实施例,基于关于第二OS的目标程序包信息来配置第二应用的执行屏幕。
如上所述,根据实施例,有可能在同一屏幕(例如主机OS的屏幕)上同时访问基于不同OS的应用,同时通过单击即可轻松访问,从而提高了用户的便利性。
图8是示出根据本公开的实施例的获得Linux程序包的流程图800。获取Linux程序包的进程可以包括操作811至826。根据实施例,可以省略或更改操作811至826中的至少一个顺序,或者可以添加其他操作。
参照图8,电子设备(例如,图1的电子设备101或图4的电子设备401)可以从外部服务器(例如,应用商店)下载应用并在操作811中安装该应用。尽管图8示出了其中应用下载器801是用于下载应用的组件的示例,该操作可以由处理器(例如,图1的处理器120或图2的处理器420)或者由负责该通信的组件来执行,但是每个都不限于此。根据实施例,下载的应用可以是基于访客OS操作的应用。例如,当访客OS是Linux OS时,下载的应用可以称为Linux程序包应用。
当下载Linux程序包应用时,可以在电子设备的主页屏幕上生成用于执行基于Linux的应用的快捷方式图标。
根据实施例,外部服务器(例如,应用商店)可以以程序包程序的形式分发执行访客OS(例如,第二OS 220)和下载的应用所需的所有数据。因此,当在操作812中输入用于执行与所生成的快捷方式图标相对应的应用的用户选择时,电子设备可以在操作813中启动与该用户选择相对应的下载的应用。在操作814中,电子设备可以广播应用程序包信息与目标Linux程序包信息一起提供给安装在运行中的主机OS(例如,第一OS 230)上的控制应用802。根据实施例,控制应用802可以是LoD应用。
例如,应用可以是从外部服务器分发的一种程序包程序,该程序包程序将在主机OS运行时安装在基于主机OS的电子设备上,并且可在访客OS上执行。例如,程序包程序可以是用于应用的安装文件,并且可以包括以下至少之一:应用的程序包名称,权限信息以及有关在主机OS运行时执行该应用所需的访客OS的目标程序包信息。从外部服务器下载的Linux程序包应用可以具有用于广播到控制应用802的权限信息。
电子设备的控制应用802可基于关于可在访客OS上执行的下载的应用的程序包信息来确定是否存在权限信息,并在操作815中标识是否允许。权限信息可以是允许访客OS访问外部电子设备或使用网络的权限。
电子设备的控制应用802可以在广播时执行,并且可以在操作816中使用套接字通信与守护程序803连接。根据实施例,守护程序803可以称为NST守护程序。例如,守护程序803可以对应于图3的守护程序233。
在与守护程序803连接之后,在操作817中,电子设备的控制应用802可以向守护进程803发送包含接收到的目标Linux程序包信息的配置信息,例如,诸如文件路径之类的信息(例如“xenial.img”)。文件xenial.img可以是Linux OS中用作电子设备上的访客OS的映像文件,并且可以是Ubuntu16.04版本(即xenial)的映像。
在操作818中,守护程序803可以使用诸如xenial.img路径之类的配置信息通过显示管理器804挂载与所选应用相对应的映像,并使用目标Linux程序包信息更新挂载映像的脚本(例如xstartup)。
在操作819中,一旦从守护程序803接收到指示(例如脚本更新的)操作完成的完成消息,控制应用802就可以在操作820中向守护程序803发送开始请求消息。
在操作821中,守护程序803在接收到开始请求消息后,可以通过脚本执行显示管理器804的虚拟网络计算(VNC)服务器。在操作822中,VNC服务器可以通过更新的脚本信息、通过用于执行应用的屏幕配置进程执行必要的目标程序包(例如Linux程序包)。在操作823中,控制应用802可以与VNC服务器通信以进行显示或输入。因此,用户可以通过在Android背景屏幕上单击一个图标来执行他或她所需的Linux程序包。此后,当用户终止应用的执行时,在操作824中,控制应用802可以相应地将终止请求发送到守护程序803。当控制应用802被终止时,守护程序803可以将终止请求发送到显示管理器804的VNC服务器,并且在操作825中,可以执行组织以卸载该映像。因此,在操作826中,可以释放控制应用802和守护程序803之间的连接。
上面已经描述了下载和执行基于Linux的应用的进程,并且在例如执行操作所需的组件中的控制应用802未安装在电子设备上的情况下,控制应用802可以从外部服务器下载。
图9是示出根据本公开的实施例的用于执行Linux的电子设备的操作的流程图900。
图9示出了在执行Linux之前的示例准备操作,并且该操作方法可以包括操作910至950。该操作方法的每个步骤/操作可以由电子设备(例如,图1或图4的电子设备101或401)中的至少一个或者电子设备的至少一个处理器(例如,图1或图2的处理器120或420)执行。根据实施例,操作910至950中的至少一个可以被省略或改变顺序,或者可以添加其他操作。
参照图9,电子设备可以在操作910中确定是否选择了Linux程序包对象。例如,Linux程序包对象可以是指示下载的应用的图标。当选择了Linux程序包对象,在操作920可确定控制应用是否已被安装在Android OS中以通过Linux OS执行控制和通信。当没有控制应用已安装时,它可以从外部服务器下载。
当安装了控制应用时,电子设备可以在操作930中启动下载的应用以获得目标Linux程序包信息。例如,电子设备的控制应用(例如,图3的控制应用231或图8的控制应用802)可以接收与用户点击的Linux程序包图标相对应的目标Linux程序包信息。此后,在操作940中,电子设备可以基于目标Linux程序包信息来配置屏幕。例如,电子设备可以基于目标Linux程序包信息来安装Xenial映像并更新脚本。然后,在操作950,电子设备可以执行VNC服务器以运行脚本。因此,可以配置用于基于更新的脚本信息来执行Linux程序包应用的环境。
图10是示出根据本公开实施例的用于同时执行异构OS的示例屏幕配置的视图1000。
参照图10,在将电子设备(例如,图1的电子设备101或图4的电子设备401)连接到外部电子设备(例如,图6A和6B的外部电子设备602)时,在外部电子设备上显示主屏幕1010。
参照图10,当电子设备检测到与外部电子设备(例如,外部显示设备)的连接时,正常模式可以切换到扩展模式。根据实施例,扩展模式可以是其中例如执行dex程序的模式,并且可以指其中在外部电子设备上显示屏幕或者在电子设备和外部电子设备的显示器上显示屏幕的模式。根据实施例,正常模式可以指这样的模式,其中当外部电子设备未与电子设备连接时,仅在电子设备的显示设备(例如,图1的显示设备160或图4的显示器460)上显示屏幕。
当屏幕显示在外部电子设备上时,外部电子设备的主屏幕1010可以提供与桌面窗口相似的布局,并且显示的应用和系统功能、设置、日期或时间可以是在主屏幕1010底部的任务栏区域1050中显示的内容,与在窗口计算机的任务栏中一样。例如,可以通过与用于执行网络浏览应用的用户输入相对应的主屏幕1010来显示网络浏览窗口1060。用户可以通过选择指示在主屏幕1010上显示的应用的对象来执行安装在电子设备上的所有应用。可以在任务栏区域1050中以图标的形式显示正在运行的应用和正在运行的OS。
根据实施例,可以对各种对象,例如用于执行电子设备中可用的应用的快捷方式图标,进行排序,并显示在主屏幕1010上。尽管图10示出由第一区域和第二区域构成的示例布局,其中在第一区域中布置了用于执行基于第一OS操作的应用的对象1020,在第二区域中布置了用于执行基于第二OS操作的应用的对象1040,但是布局不限于此。根据实施例,主屏幕1010可以进一步包括第三区域,在第三区域中布置有用于进入第二OS的对象1030。根据实施例,用于进入第二OS的对象1030可以是用于运行Linux OS的对象。
根据实施例,在接收到用于选择对象1040中的至少一个以执行基于第二OS操作的应用的用户输入时,可以第二OS同时运行时执行与所选对象相对应的在第二OS上操作的应用。这样,即使仅选择一个对象来执行基于Linux的应用,用户也可以运行Linux OS并使用基于Linux的应用,而无需另外选择进入Linux。
根据实施例,与选择用于执行基于第二OS操作的应用的对象相对应,电子设备可以生成容器(例如,图3的容器315)并使用生成的容器提供执行第二OS所需的数据到第一OS230的控制应用231。因此,电子设备可以在基于第一OS操作的屏幕上同时输出基于第二OS操作的应用的执行屏幕。
根据实施例,用于执行应用的对象和用于进入第二OS的对象可以以列和行的矩阵的形式布置,而无需在OS之间进行区分。因此,用户不必在Android应用和Linux应用之间进行区分,而是可以在相同的屏幕上单击并运行Linux应用就像其对Android应用点击一样。
图11是示出根据本公开的实施例的与选择用于执行第二OS的对象相对应的示例屏幕的视图1100。
参照图11,其示出了在主屏幕1010上显示用于进入第二OS的对象1030的示例。根据实施例,用于进入第二OS的对象1030可以是用于运行Linux OS的对象。当用户选择用于进入第二OS的对象1030时,可以显示Linux OS的执行屏幕1110。可以显示Linux OS的执行屏幕1110以隐藏主屏幕1010的全部或部分。
图12是示出根据本公开的实施例的与基于第二OS的用于执行第二应用的对象的选择相对应的示例屏幕的视图1200。
图12示出了在主屏幕1010上显示用于执行可在第二OS上运行的至少一个应用的对象1040的示例。当用户选择对象1040中的任何一个时,可以显示基于Linux OS操作的应用的执行屏幕1220。根据实施例,当显示基于Android的应用的执行屏幕1060时,可以显示应用执行屏幕1220以隐藏基于Android的应用执行屏幕1060的至少一部分。应用执行屏幕1220可以展开以占据整个主屏幕1010。
参照图12,其示出了示例,其中在作为Android执行屏幕的主屏幕1010上显示基于Linux的应用执行屏幕1220以及基于Android的应用执行屏幕1060。当基于Linux的应用被执行时,主屏幕1010可以被图11的Linux执行屏幕1110代替,并且然后可以显示基于Linux的应用执行屏幕1220。
这样,尽管运行了不同OS的应用,但是可以同时在主屏幕1010上显示应用的执行屏幕,因此可以像在Android环境中使用应用一样使用在Linux上运行的应用。因此,可以增强用户便利性。
图13是示出根据本公开的实施例的比较基于第一OS操作的第一应用的执行屏幕和基于第二OS操作的第二应用的执行屏幕的示例的图。
参照图13,当用户在电子设备上显示的背景屏幕1310上选择图标(例如,Debian程序包(.deb))1320时,可以显示这种屏幕,就像在Android上执行Linux程序包一样。例如,第一执行屏幕1330是在Linux OS上执行的应用的示例屏幕,第二执行屏幕1340是基于Android OS执行的应用的示例屏幕。如图13所示,当用户点击图标(例如,Debian程序包(.deb))1320时,Debian程序包能够提供类似于第二执行屏幕1340的执行屏幕,尽管基于Linux OS进行操作,因此,用户可以轻松使用不同OS的应用,就像他或她使用Android应用时一样。
图14至图19是示出根据实施例的当异构OS同时被执行时的各个示例屏幕的视图1400、1500、1600、1700、1800和1900。
图14示出在与电子设备连接的外部电子设备上显示的基于不同OS的示例应用执行屏幕。
参照图14,多个不同OS的各种应用执行屏幕,诸如第一窗口1420、第二窗口1430和第三窗口1440,可以同时显示在主屏幕1410上。例如,Android OS的我的文件应用的执行屏幕,Android OS的Gallery应用的执行屏幕以及Linux OS的Gimp应用的执行屏幕可以同时分别显示在第一窗口1420、第二窗口1430和第三窗口1440中。
参照图15,多个不同OS的各种应用执行屏幕,诸如第一窗口1520、第二窗口1530和第三窗口1540,可以同时显示在主屏幕1510上。例如,Android OS的因特网应用的执行屏幕、Android OS的记事本应用的执行屏幕以及Linux OS的办公应用(例如Libreoffice)的执行屏幕可以同时分别显示在第一窗口1520、第二窗口1530和第三窗口1540。
参照图16,可以在主屏幕1610上同时显示多个不同OS的各种应用执行屏幕,例如第一窗口1620和第二窗口1630。例如,Android OS的共享文件夹应用的执行屏幕以及LinuxOS的共享文件夹应用的执行屏幕可以同时分别在第一窗口1620和第二窗口1630中显示。
参照图17,多个不同OS的各种应用执行屏幕,诸如第一窗口1720和第二窗口1730,可以同时显示在主屏幕1710上。例如,Android OS的视频/音频应用的执行屏幕(例如,YouTube)和Linux OS的视频/音频应用的执行屏幕可以同时分别显示在第一窗口1720和第二窗口1730中。
参照图18,多个不同OS的各种应用执行屏幕,例如第一窗口1820和第二窗口1830,可以同时显示在主屏幕1810上。例如,Linux OS的执行屏幕可以显示在如图18所示的全屏上的第一窗口1820。在点击Linux OS中的输入窗口后,可以在第二窗口1830中显示基于Android的键盘。
虽然图18示出了这样的示例,其中在第一窗口1820的至少一部分和第二窗口1830上以小尺寸显示键盘,并且第一窗口1820显示Linux OS的执行屏幕,并在整个屏幕上显示,但是,如图19所示,通过在主屏幕1910上显示的作为Linux OS的执行屏幕的第一窗口1920上点击输入窗口时,可以以较大的尺寸显示基于Android的键盘1930。
如上所述,根据本公开的各种实施例,用户可以经由用于选择基于主机OS的屏幕上的访客OS上可操作的各种应用的屏幕在Android上使用Linux应用,并且因此可以在屏幕上使用Linux应用,具有与Android环境的用户体验相同的用户体验。因此,可以实现更多的用户便利性。
根据各种实施例的电子设备可以是各种类型的电子设备之一。电子设备可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子设备不限于以上所述的那些电子设备。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子设备101)读取的一个或更多个指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子设备101)的处理器(例如,处理器120)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
根据实施例,提供了一种存储介质,该存储介质存储被配置为由至少一个处理器执行以使至少一个处理器能够执行至少一个操作的命令,该至少一个操作包括在第一OS的屏幕上输出与基于第一OS操作的第一应用的执行相关联的第一对象和与基于第二OS操作的第二应用的执行相关联的第二对象,接收对在第一对象和第二对象中的第二对象的选择,以及对应于第二对象的选择,在第一OS的屏幕的至少一部分上输出第二应用的执行屏幕。
从前述描述中显而易见的是,本公开的各种实施例可以在使用或操纵异构OS上的应用时提供异构OS之间的互通,从而不仅扩展智能手机自身功能的可用性,而且扩展智能手机的可用性。
本公开的各种实施例可以建立一种环境,在该环境中,可以在电子设备(例如,智能电话)上同时运行基于不同OS的应用,从而导致更多的使用便利。
本公开的各种实施例使Linux应用能够基于Android在电子设备(例如,智能电话)上运行,并且具有与Android环境相同的用户体验。
虽然已经参考本公开的各种实施例示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求书及其等同物定义的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。

Claims (15)

1.一种电子设备,包括:
显示器;
至少一个处理器;和
存储器,其与显示器和至少一个处理器可操作地连接,并且被配置为存储多个应用,包括被配置为使用第一操作系统(OS)执行的第一应用和被配置为使用第二OS执行的第二应用,
其中,所述存储器存储被配置为在被执行时使所述至少一个处理器执行以下操作的指令:
在第一OS的屏幕上输出第一对象和第二对象,其中第一对象与第一应用的执行相关,第二对象与第二应用的执行相关,以及
当选择了第二对象时,在第一OS的屏幕上输出第二应用的执行屏幕。
2.根据权利要求1所述的电子设备,其中,所述指令还被配置为使所述至少一个处理器执行以下操作:
在电子设备与外部电子设备连接的同时,将第一OS的屏幕输出到外部电子设备;以及
响应于对第二对象的选择,将第二应用的执行屏幕输出到外部电子设备。
3.根据权利要求1所述的电子设备,其中,所述指令还被配置为使所述至少一个处理器执行以下操作:
响应于对第二对象的选择,使用安装在第一OS上的控制应用生成用于执行第二OS的容器,以及
在使用该容器执行第二OS的同时,输出第二应用的执行屏幕。
4.根据权利要求3所述的电子设备,其中,所述指令还被配置为使所述至少一个处理器执行以下操作:
在第一OS的屏幕上输出用于执行第二OS的第三对象,并且
响应于对第三对象的选择,使用该容器执行第二OS。
5.根据权利要求1所述的电子设备,其中,所述指令还被配置为使所述至少一个处理器执行以下操作:
响应于对第二对象的选择,分配特定容器以使用安装在第一OS上的控制应用执行第二OS,以及
在使用特定容器执行第二OS的同时,输出第二应用的执行屏幕。
6.根据权利要求1所述的电子设备,其中,所述指令还被配置为使所述至少一个处理器执行以下操作:
当选择了第一对象时,在所述第一OS的屏幕上执行基于第一OS的第一应用,并
当在输出第一应用的执行屏幕的同时选择了第二对象时,输出第二应用的执行屏幕以占据第一应用的执行屏幕的全部或至少一部分。
7.根据权利要求1所述的电子设备,
其中,第二应用对应于从外部服务器分发的要在第二操作系统上执行的程序包程序,
其中,程序包程序包括第二应用的程序包名称,使用第一OS执行第二应用所需的第二OS的权限信息和目标程序包信息中的至少一个,以及
其中,基于第二OS的目标程序包信息来配置第二应用的执行屏幕。
8.根据权利要求1所述的电子设备,其中,所述第一OS是Android OS,并且所述第二OS是Linux OS。
9.一种用于控制电子设备中的执行的方法,该方法包括:
在第一操作系统(OS)的屏幕上输出第一对象和第二对象,其中,第一对象与使用第一OS的第一应用的执行相关联,第二对象与使用第二OS的第二应用的执行相关联;
接收对第二对象的选择;和
响应于对第二对象的选择,在第一OS的屏幕上输出第二应用的执行屏幕。
10.根据权利要求9所述的方法,还包括:
在电子设备与外部电子设备连接的同时,将第一OS的屏幕输出到外部电子设备;和
响应于对第二对象的选择,将第二应用的执行屏幕输出到外部电子设备。
11.根据权利要求9所述的方法,还包括:
响应于对第二对象的选择,使用安装在第一OS上的控制应用生成用于执行第二OS的容器;和
在使用该容器执行第二OS的同时,输出第二应用的执行屏幕。
12.根据权利要求11所述的方法,还包括:
在第一OS的屏幕上输出用于执行第二OS的第三对象,并且
响应于对第三对象的选择,使用该容器执行第二OS。
13.根据权利要求9所述的方法,还包括:
响应于对第二对象的选择,分配特定容器以使用安装在第一OS上的控制应用执行第二OS;和
在使用特定容器执行第二OS的同时,输出第二应用的执行屏幕。
14.根据权利要求9所述的方法,其中,所述第二应用的执行屏幕的输出包括:
当选择了第一对象时,在所述第一OS的屏幕上执行基于第一OS的第一应用,并
当在输出第一应用的执行屏幕的同时选择了第二对象时,输出第二应用的执行屏幕以占据第一应用的执行屏幕的全部或至少一部分。
15.根据权利要求9的方法,
其中,第二应用对应于从外部服务器分发的要在第二操作系统上执行的程序包程序,
其中,程序包程序包括第二应用的程序包名称,使用第一OS执行第二应用所需的第二OS的权限信息和目标程序包信息中的至少一个,以及
其中,基于第二OS的目标程序包信息来配置第二应用的执行屏幕。
CN201980063379.1A 2018-10-16 2019-10-14 控制异构操作系统和电子设备的执行的方法及其存储介质 Pending CN112771489A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2018-0123408 2018-10-16
KR1020180123408A KR102631745B1 (ko) 2018-10-16 2018-10-16 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
PCT/KR2019/013424 WO2020080767A1 (en) 2018-10-16 2019-10-14 Method for controlling execution of heterogeneous operating systems and electronic device and storage medium therefor

Publications (1)

Publication Number Publication Date
CN112771489A true CN112771489A (zh) 2021-05-07

Family

ID=70159634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980063379.1A Pending CN112771489A (zh) 2018-10-16 2019-10-14 控制异构操作系统和电子设备的执行的方法及其存储介质

Country Status (5)

Country Link
US (1) US11347538B2 (zh)
EP (1) EP3827333A4 (zh)
KR (1) KR102631745B1 (zh)
CN (1) CN112771489A (zh)
WO (1) WO2020080767A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641320A (zh) * 2021-08-16 2021-11-12 深圳技德智能科技研究院有限公司 一种Linux兼容Android的共享屏幕方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076125B (zh) * 2017-06-16 2020-09-18 华为技术有限公司 一种显示方法及设备
WO2020086086A1 (en) * 2018-10-25 2020-04-30 Hewlett-Packard Development Company, L.P. Installation package for use with heterogeneous operating systems
CN111142939B (zh) * 2019-12-11 2023-04-07 北京小米移动软件有限公司 应用程序处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093691A1 (en) * 2009-07-20 2011-04-21 Galicia Joshua D Multi-environment operating system
US20120089992A1 (en) * 2010-10-01 2012-04-12 Imerj LLC User interaction support across cross-environment applications
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
US20170329472A1 (en) * 2016-05-12 2017-11-16 Samsung Electronics Co., Ltd. Electronic device and method of providing information in electronic device
CN107390967A (zh) * 2016-05-16 2017-11-24 三星电子株式会社 用于显示应用的方法及其电子装置
CN107430480A (zh) * 2015-01-14 2017-12-01 三星电子株式会社 电子设备和在电子设备中处理信息的方法
US20180109625A1 (en) * 2016-10-13 2018-04-19 Sierraware, Llc Method for cloud based mobile application virtualization
US20180137308A1 (en) * 2016-11-16 2018-05-17 Foundation Of Soongsil University-Industry Cooperation Duo operating system for android security, mobile device having the same, method of securing mobile device having the same

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 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
CN103282875B (zh) 2010-10-01 2017-04-12 Flex Electronics ID Co.,Ltd. 多操作系统
KR101249735B1 (ko) 2011-04-04 2013-04-03 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
US9842091B2 (en) * 2013-03-15 2017-12-12 Google Llc Switching to and from native web applications
US9535569B2 (en) * 2013-05-23 2017-01-03 Rakuten Kobo, Inc. System and method for a home multimedia container
US9916233B1 (en) 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
US9849378B2 (en) * 2015-06-24 2017-12-26 Intel Corporation Methods, apparatuses, and systems for remote play
US9961098B2 (en) * 2015-06-26 2018-05-01 Vmware, Inc. Container data offline and online scan in a cloud environment
GB201516227D0 (en) * 2015-09-14 2015-10-28 Horne Stephen And Hemmer Fabian And Von Oven Peter Running applications on a computer device
JP6644882B2 (ja) * 2016-01-15 2020-02-12 グーグル エルエルシー アプリケーションコンテナを使用するコードおよび従属データの送達の管理
KR102507114B1 (ko) 2016-06-08 2023-03-07 삼성전자주식회사 복수의 운영체제들의 화면을 통합하여 표시하는 방법 및 그 전자 장치
KR101895893B1 (ko) * 2016-11-16 2018-10-24 숭실대학교산학협력단 안드로이드 보안을 위한 듀오 os 모델 및 이를 탑재한 모바일 장치, 이를 이용한 모바일 장치의 보안 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093691A1 (en) * 2009-07-20 2011-04-21 Galicia Joshua D Multi-environment operating system
US20120089992A1 (en) * 2010-10-01 2012-04-12 Imerj LLC User interaction support across cross-environment applications
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN107430480A (zh) * 2015-01-14 2017-12-01 三星电子株式会社 电子设备和在电子设备中处理信息的方法
US20170329472A1 (en) * 2016-05-12 2017-11-16 Samsung Electronics Co., Ltd. Electronic device and method of providing information in electronic device
CN107390967A (zh) * 2016-05-16 2017-11-24 三星电子株式会社 用于显示应用的方法及其电子装置
US20180109625A1 (en) * 2016-10-13 2018-04-19 Sierraware, Llc Method for cloud based mobile application virtualization
US20180137308A1 (en) * 2016-11-16 2018-05-17 Foundation Of Soongsil University-Industry Cooperation Duo operating system for android security, mobile device having the same, method of securing mobile device having the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641320A (zh) * 2021-08-16 2021-11-12 深圳技德智能科技研究院有限公司 一种Linux兼容Android的共享屏幕方法及装置
CN113641320B (zh) * 2021-08-16 2023-10-27 深圳技德智能科技研究院有限公司 一种Linux兼容Android的共享屏幕方法及装置

Also Published As

Publication number Publication date
WO2020080767A1 (en) 2020-04-23
KR20200042798A (ko) 2020-04-24
KR102631745B1 (ko) 2024-02-01
US11347538B2 (en) 2022-05-31
EP3827333A1 (en) 2021-06-02
EP3827333A4 (en) 2021-09-15
US20200117499A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
US20230289131A1 (en) Method and system for dynamically generating different user environments with secondary devices with displays of various form factors
US11347538B2 (en) Method for controlling execution of heterogeneous operating systems and electronic device and storage medium therefor
JP6507169B2 (ja) 複数のユーザインターフェース動作ドメインを有する車両
US11693707B2 (en) Electronic device for executing multiple operating systems and method of controlling same
JP2017507401A (ja) 複数のユーザインターフェース動作ドメインを有する車両
US20220122514A1 (en) Foldable electronic device and operation method for same
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
US11144190B2 (en) Electronic device and method for sharing data thereof
US20220156029A1 (en) Electronic device and method for providing application screen of display of external device thereof
CN109271211B (zh) 应用程序的分身方法、装置、设备和介质
US11449169B2 (en) Method for processing a touch input in an electronic device having multiple displays and an electronic device having multiple displays capable of executing the method
CN109426527B (zh) 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
US11656894B2 (en) Electronic device and method for providing in-vehicle infotainment service
US11604656B2 (en) Method and apparatus for managing application
US10929085B2 (en) Electronic apparatus for controlling display of virtual input interface in environment of a plurality of output screens and operating method thereof
US20200183589A1 (en) Method and electronic device for initializing storage
KR20210046426A (ko) 어플리케이션의 최적화 방법 및 이를 지원하는 전자 장치
US11836503B2 (en) Electronic device for executing heterogeneous operating systems and method therefor
KR20210101075A (ko) 전자 장치 및 전자 장치의 클립 보드 운용 방법
US20220382534A1 (en) Method for updating application and electronic device of the same
US20200293269A1 (en) Electronic device for processing audio data and operating method thereof
US20230362234A1 (en) Method and system of managing resources in a cloud computing environment
CN117555558A (zh) 一种在嵌入式Linux操作系统上运行Android应用的方法
KR20240003882A (ko) 데스크탑 서비스 제공방법 및 이를 이용하는 운영서버

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