CN103593185B - 基于单Linux内核的多Android系统共享输入显示设备的方法 - Google Patents
基于单Linux内核的多Android系统共享输入显示设备的方法 Download PDFInfo
- Publication number
- CN103593185B CN103593185B CN201310537870.8A CN201310537870A CN103593185B CN 103593185 B CN103593185 B CN 103593185B CN 201310537870 A CN201310537870 A CN 201310537870A CN 103593185 B CN103593185 B CN 103593185B
- Authority
- CN
- China
- Prior art keywords
- android system
- equipment
- tty
- input
- management service
- 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.)
- Active
Links
Abstract
本发明公开了一种基于单Linux内核的多Android系统共享输入显示设备的方法,包括:修改虚拟机中的各Android系统中的图形管理服务,使得宿主机中Android系统和虚拟机中的各Android系统的图形管理服务各自独占一个tty设备;用户通过输入设备使内核中产生输入事件,内核将该输入事件转发至各个Android系统中的输入管理服务,各Android系统接收到内核传来的输入事件后,判断当前运行的tty设备是否是自己占据的;如果是,则接收并处理该输入事件;否则,则屏蔽该输入事件。本发明充分利用Linux内核的隔离性,解决了多个Android系统对输入设备和显示设备的分配问题。
Description
技术领域
本发明涉及计算机虚拟化技术领域,尤其涉及基于单Linux内核的多Android系统共享输入显示设备的方法。
背景技术
在Android操作系统的用户量迅速增长的背景下,其安全性也受到越来越广泛的关注。由于Android缺乏像iOS那样封闭的生态系统,恶意软件已经成为其安全性的最大威胁。为了限制恶意软件的活动范围,最大限度地保护用户的个人信息,有人提出了Android虚拟化这一解决方案。Android虚拟化是指在一台设备上运行多个Android操作系统,这些操作系统相互隔离,安装在某一个系统中的应用软件无法对其它系统构成影响。这样就可以将用户的个人信息封锁在某一个系统中,即使其它系统中安装了恶意软件也不会对个人信息构成威胁。在这些虚拟化解决方案中,基于Container技术的虚拟化相对其它方案具有很大的性能优势。
Container(容器)技术是近年来操作系统虚拟化领域迅猛发展起来的一种技术。相较于其他的虚拟化技术,Container技术是一种轻量级的虚拟化解决方案。该技术能够利用Linux内核提供的命名空间(NameSpace)特性和控制分组(Cgroups)特性来隔离出一套完整的虚拟平台。因为Container技术隔离出的虚拟机平台仅仅是主机系统中的一组进程,而不需要完全模拟出一整套的硬件环境,所以Container技术一个最明显的优势就是快速、轻量级。目前云计算领域在实现私有云的部署时,主要就是采用Container技术。
因为具有上述特点,所以Container技术非常适合运用到Android操作系统的虚拟化中。众所周知,Android是为智能手机和其他手持式设备设计的一款操作系统。手持设备处理器的性能完全不足以让传统的虚拟化技术运用在其上,而占用资源极少的Container技术则恰恰弥补了这个不足。
Android操作系统的架构也使得其运用Container技术成为可能。Android系统的底层是Linux内核,上层则基于Linux内核搭建起了Android的运行环境层。通过在Linux内核层和Android层之间采用Container技术,就可以达到多个Android运行环境层共同运行在一个内核之上的效果。不同的Android运行环境可以有不同的用户数据、应用、文件系统和设备。而进程调度、内存管理、与硬件交互等具体问题则交于Linux内核统一管理。
不同的Android运行环境层共用一个Linux内核,也就得共用一套物理设备资源。这就带来如何管理这些设备,让每个Android运行环境层都能以看似独占的方式使用这些设备的问题。传统的技术和观念是所谓的“设备虚拟化”,即通过添加Linux内核驱动,增加虚拟设备以模仿物理设备的功能,然后再在物理设备中添加处理和仲裁的相关功能。这种思路对于Linux虚拟设备非常适合,但是对于物理设备,修改驱动的方法必然会带来非常大的不可移植性。因而对于物理设备,更好的思路应该是充分利用内核提供的隔离特性,从Android运行环境层入手,对资源进行隔离。
在所有的这些设备中,最重要的就是用户输入和图形显示两部分设备,因此如何让多Android系统共享输入显示设备是需要解决的问题。
发明内容
为了增加Android系统运行的安全性,利用Container技术进行Android系统的虚拟化,为了解决在单Linux内核中多Android系统共享输入显示设备的问题,本发明提供了一种多Android系统共享输入和显示设备的方法。
一种基于单Linux内核的多Android系统共享输入显示设备的方法,所述多Android系统运行于单Linux内核环境中,所述多Android系统的其中一个运行于宿主机中,其余运行在虚拟机中,包括:
初始化虚拟机中的各Android系统中的图形管理服务,使得宿主机中Android系统和虚拟机中的各Android系统的图形管理服务各自独占一个tty设备;
用户通过输入设备使内核中产生输入事件,内核将该输入事件转发至各个Android系统中的输入管理服务,各Android系统接收到内核传来的输入事件后,判断当前在前台运行的tty设备是否是自己占据的;
如果是,则接收并处理该输入事件;
否则,则屏蔽该输入事件。
利用单Linux内核的隔离性,使得宿主机与虚拟机各自占用一个tty设备,并且在不同的tty设备中打开设备文件并写入文件互不影响。通过让Android输入管理服务自主判断当前内核传来的输入事件是否为传给自己,有选择的屏蔽或接收该输入事件,从而实现了输入设备的共享。
图形管理服务通过以下新增的代码来各自独占一个tty设备,其中新增的代码是预先设定的,代码增加方式如下:
S1,在图形管理服务的DisplayDevice类中增加一个新类TerminalManager,TerminalManager继承Android系统的基类Thread;
S2,将TerminalManager的对象mTermManager作为成员变量添加到DisplayDevice类中。
SurfaceFlinger是Android系统的图形管理服务,其源代码位于Android系统的frameworks/native/services/surfaceflinger目录下。通过在DisplayDevice.cpp增加一个新类TerminalManager,让各个Android系统的SurfaceFlinger占据一个不同的tty设备进行显示。mTermManager使得图形管理服务另外启动一个线程。新线程专门负责接收并处理内核发来的获得屏幕和释放屏幕的信号。因为图形管理服务SurfaceFlinger中操纵显示设备的代码实现在类DisplayDevice中,所以在DisplayDevice中添加对象mTermManager能够更自然而方便的实现上述作用。
所述新类TerminalManager用于:
向操作系统查询空闲的tty设备,并将图形管理服务切换到该tty设备,切换完成后将新tty设备设置为图形模式;
设置新tty设备的切换操作方式为由进程管理,并通过用户自定义的方式增加获取屏幕和释放屏幕两个响应信号;
以及向内核中注册所述两个响应信号的处理函数。
其中,用户自定义是指Linux的一个信号类型SIGUSR。通过调用SurfaceFlinger的screenAcquired函数和screenReleased函数即可实现两个响应信号的响应函数。
其中宿主机和虚拟机运行在各自的命名空间内,并且由Cgroups组件限制虚拟机能够访问的资源。在Android系统中建立命名空间,使得宿主机和虚拟机的图形管理器运行在不同的命名空间中,宿主机和虚拟机相互感知不到对方的存在,从而为宿主机和虚拟机之间提供隔离保证。再使用Cgroups组件限制虚拟机能够访问的资源,并限制其权限,这样就保证了宿主机的安全。
宿主机和虚拟机中对应目录下的tty设备文件都分配相同的主设备号和次设备号。
宿主机中tty设备文件的主设备号与虚拟机中tty设备文件的主设备号相同,宿主机中tty设备文件的次设备号与虚拟机中tty设备文件的次设备号相同,这样内核中所有的虚拟tty设备对宿主机和虚拟机都是可见的。虚拟机图形界面在启动的时候向内核中查询空闲的tty设备并占据该设备作为自己的输出终端。这样当宿主机和虚拟机各自独占一个tty设备后,就可以独立隔离地读写帧缓存设备文件,从而实现宿主系统和虚拟系统能够同时地在不同的tty设备下显示自己的图形界面而互不干扰。
各Android系统通过输入管理服务中的代码逻辑来判断当前在前台运行的tty设备是否是自己占据的,其中代码逻辑是预先增加的。
通过修改各Android系统中的输入管理服务,使各Android系统屏蔽不属于自己tty设备的事件,转交属于自己tty设备的输入事件,避免了输入冲突。
预先增加的代码逻辑在各Android系统中输入管理服务中的EventHub类下的成员函数getEvents中,代码逻辑分为两部分:
输入管理服务每次从输入设备文件中读取输入事件时,取得当前在前台运行的tty设备的编号;
并通过所取得的编号判断在前台运行的tty设备是不是对应SurfaceFlinger所占据的tty设备,如果不是则表明该输入事件不是发送给自己的,则对消息不作处理;否则接受消息并进行处理。
当前运行的tty设备为Linux系统的一种状态:如果一个tty设备的内容输出到显示器上,那么这个tty设备就是当前在前台运行的tty设备。例如,在Linux中,图形界面输出到tty7,在按下ctrl+alt+f1键时,系统切换到了tty1,tty1的内容显示在显示器上,那么当前在前台运行的tty设备就是tty1;而通过按下ctrl+alt+f7键切换回图形界面时,则tty7的内容输出到显示器上,这时当前在前台运行的tty设备就是tty7。
Android输入管理服务是WindowManagerService。该服务代码的实现分java和c++两层,在修改输入管理服务时,只需修改c++层,将不必要的事件屏蔽即可。
WindowManagerService的c++层代码实现在frame/base/service/input中,该目录下的EventHub.cpp负责读取/dev/input下的设备文件来获取用户输入,因此修改该文件即可。具体地,类EventHub下的成员函数getEvents负责读取用户输入,因此通过在该成员函数getEvents中增加代码逻辑来实现对输入管理服务的修改。
通过本发明基于单Linux内核的多Android系统共享输入显示设备的方法,充分利用Linux内核的隔离性,解决了多个Android系统同时运行时对输入设备和显示设备的分配问题。
附图说明
图1是本发明一个实施例的架构图;
图2是本发明实施例从系统启动到运行SurfaceFlinger的流程图;
图3是Android系统输入部分的架构图。
具体实施方式
基于单Linux内核的多Android系统共享输入显示设备的方法主要对Android系统进行修改。本发明实施例进行操作的Android系统版本为Android4.3。
图1为本发明一个实施例整体的架构图,当前实施例中包括1个虚拟机。如图1所示,Linux内核为宿主机和虚拟机分别提供命名空间,宿主机和虚拟机运行在各自的命名空间内,且由Cgroups组件限制虚拟机能够访问的空间。在初始化图形管理服务以后,宿主机和虚拟机中Android系统的SurfaceFlinger各自占用一个tty设备,宿主机中表示为tty X,虚拟机中表示为tty Y。宿主机和虚拟机中的tty设备均配置为图形模式,且各个各自占据对应的tty设备,且宿主机tty设备文件的主设备号和次设备号与虚拟机中tty设备文件的主设备号和次设备号相同。
现具体说明本发明当前实施例基于单Linux内核的多Android系统共享显示设备的方法:图2给出了本发明当前实施例从系统启动到宿主机运行SurfaceFlinger(即图形管理服务)的简要流程图(步骤(1)至步骤(3)),具体步骤如下:
(1)Linux内核启动并初始化,在内核初始化完成时启动init进程。
(2)init进程打开/dev/tty1(即宿主机tty设备),并将其置为图形模式。
(3)init进程启动SystemServer服务,SystemServer服务又启动SurfaceFlinger。SurfaceFlinger占据系统当前在前台运行的tty设备来输出内容。因而,SurfaceFlinger在当前在前台运行的tty设备中打开/dev/graphics/fb0,并创建双缓存,并将显示内容交替刷入/dev/graphics/fb0中。
(4)SystemServer继续启动Android系统的其他相关服务,直至Android系统初始化完成。
至此,宿主机Android系统的启动完成。
(5)在宿主机Android系统启动结束后,虚拟机的init进程开始在新的NameSpace中启动。
(6)虚拟机init进程不打开新的tty设备,直接启动SystemServer服务,SystemServer服务启动SurfaceFlinger。SurfaceFlinger向操作系统查询空闲的tty设备,并切换到该tty设备,记该tty设备为ttyX。
(7)切换完成后,SurfaceFlinger将ttyX置为图形模式,后续过程和宿主机相同,最终宿主机和虚拟机的图形管理服务各自占据一个tty设备。
其中关键步骤为步骤(2)和(3)。/dev/graphics/fb0是Linux中Framebuffer设备的图形设备文件,它有一个特性是在不同的tty设备之下打开该图形设备文件所写入的内容不会相互影响。但在Android的代码中SurfaceFlinger默认都是从/dev/tty1启动图形模式的。因此本发明对宿主机和虚拟机的SurfaceFlinger的源代码都进行了修改,使得宿主机和虚拟机在启动时不从当前在前台运行的tty设备中启动图形模式,而是查找一个空闲的tty设备并启动图形模式,因而避免对相同的tty设备进行访问而造成冲突。
通过预先修改宿主机和虚拟机内Android系统中SurfaceFlinger中的源代码,使得宿主机中Android系统和虚拟机中的各Android系统的图形管理服务各自独占一个tty设备。
SurfaceFlinger的源代码位于Android系统的frameworks/native/services/surfaceflinger目录下。通过对SurfaceFlinger源代码中DisplayDevice.cpp的修改,让各个SurfaceFlinger占据一个不同的tty设备进行显示。
具体的改动有:
(1)设计一个新的类TerminalManager,该类要继承Android系统的基类Thread,该新类用于:
向Android系统查询空闲的tty设备并切换到该tty设备;切换完成后将新tty设备设置成图形模式;将新tty设备的切换操作方式设置为“由进程管理”,并增加获取屏幕信号和释放屏幕信号。
实现操作系统获取屏幕响应信号和释放屏幕响应信号的处理函数。通过调用SurfaceFlinger的screenAcquired函数和screenReleased即可实现这两个信号的响应函数。
(2)将TerminalManager类的对象mTermManager作为成员变量添加到DisplayDevice类中,在DisplayDevice的构造开始时将mTermManager构造好。
在向显示器输出时,由进程管理各个tty设备,在不同Android系统的图形管理服务所占据的tty设备之间切换,通过用户输入信号,将对应的tty设备切换为当前在前台运行的tty设备。
图3展示了Android系统输入部分的架构。现根据图3具体说明共享输入设备的方法:
Linux输入事件是通过读取输入设备文件来获得的,一般情况下,这些设备文件都位于/dev/input目录下。用户通过触摸屏、键盘、鼠标等输入设备向输入设备文件中写入输入事件,由EventHub.cpp从输入设备文件读取用户的输入事件;输入事件以队列形式输入到WindowManagerService中,由WindowManagerService对输入事件进行管理,并最终发送至JAVA应用程序。在本发明当前实施例中,容器中运行的Android虚拟机和宿主机中拥有相同的设备文件,也就是说,相同的外部输入事件能够同时转发给宿主机和虚拟机。通过修改Android系统中输入事件处理部分的源代码,让其将不属于自己终端的输入事件丢弃,这样在不同的终端中,输入事件就能转发给不同的Android系统运行实体。
Android系统的输入服务是WindowManagerService。该服务代码的实现分java和c++两层,只需修改c++层的代码,将不必要的事件屏蔽即可。
WindowManagerService的c++层代码实现在frame/base/service/input这一目录中,该目录下的EventHub.cpp负责读取/dev/input下的设备文件来获取用户输入,只需修改该文件即可。
具体地,类EventHub(即EventHub.cpp)下的成员函数getEvents负责读取用户输入。在该成员函数中增加两部分代码逻辑:
每次获取事件时获取当前SurfaceFlinger所在的tty设备。
判断当前所在的tty设备是不是对应SurfaceFlinger被激活的tty设备:如果不是,则表明该输入事件不是发送给自己的,对消息不作处理;否则表明自己当前正是处于前台占据显示屏幕的tty设备,接受消息并进行处理。
Claims (7)
1.一种基于单Linux内核的多Android系统共享输入显示设备的方法,所述多Android系统运行于单Linux内核环境中,所述多Android系统的其中一个运行于宿主机中,其余运行在虚拟机中,其特征在于,包括:
初始化虚拟机中的各Android系统中的图形管理服务,使得宿主机中Android系统和虚拟机中的各Android系统的图形管理服务各自独占一个tty设备;
用户通过输入设备使内核中产生输入事件,内核将该输入事件转发至各个Android系统中的输入管理服务,各Android系统接收到内核传来的输入事件后,判断当前在前台运行的tty设备是否是自己占据的;
如果是,则接收并处理该输入事件;
否则,则屏蔽该输入事件。
2.如权利要求1所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,图形管理服务通过以下新增的代码来各自独占一个tty设备,其中新增的代码是预先设定的,代码增加方式如下:
S1,在图形管理服务的DisplayDevice类中增加一个新类TerminalManager,TerminalManager继承Android系统的基类Thread;
S2,将TerminalManager的对象mTermManager作为成员变量添加到DisplayDevice类中。
3.如权利要求2所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,所述新类TerminalManager用于:
向操作系统查询空闲的tty设备,并将图形管理服务切换到该tty设备,切换完成后将新tty设备设置为图形模式;
设置新tty设备的切换操作方式为由进程管理,并通过用户自定义的方式增加获取屏幕和释放屏幕两个响应信号;
以及向内核中注册所述两个响应信号的处理函数。
4.如权利要求1所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,其中宿主机和虚拟机运行在各自的命名空间内,并且由Cgroups组件限制虚拟机能够访问的资源。
5.如权利要求4所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,宿主机和虚拟机中对应目录下的tty设备文件都分配相同的主设备号和次设备号。
6.如权利要求1所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,各Android系统通过输入管理服务中的代码逻辑来判断当前在前台运行的tty设备是否是自己占据的,其中代码逻辑是预先增加的。
7.如权利要求6所述基于单Linux内核的多Android系统共享输入显示设备的方法,其特征在于,预先增加的代码逻辑在各Android系统中输入管理服务中的EventHub类下的成员函数getEvents中,代码逻辑分为两部分:
输入管理服务每次从输入设备文件中读取输入事件时,取得当前在前台运行的tty设备的编号;
并通过所取得的编号判断在前台运行的tty设备是不是对应SurfaceFlinger所占据的tty设备,如果不是则表明该输入事件不是发送给自己的,则对消息不作处理;否则接受消息并进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310537870.8A CN103593185B (zh) | 2013-11-04 | 2013-11-04 | 基于单Linux内核的多Android系统共享输入显示设备的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310537870.8A CN103593185B (zh) | 2013-11-04 | 2013-11-04 | 基于单Linux内核的多Android系统共享输入显示设备的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593185A CN103593185A (zh) | 2014-02-19 |
CN103593185B true CN103593185B (zh) | 2017-01-04 |
Family
ID=50083345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310537870.8A Active CN103593185B (zh) | 2013-11-04 | 2013-11-04 | 基于单Linux内核的多Android系统共享输入显示设备的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593185B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780079B (zh) * | 2015-04-08 | 2018-09-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统终端的流量监控方法及装置 |
CN105022660A (zh) * | 2015-07-07 | 2015-11-04 | 国鼎网络空间安全技术有限公司 | 一种虚拟机切换方法及系统 |
CN105183558B (zh) * | 2015-08-26 | 2018-11-16 | 北京元心科技有限公司 | 智能终端及其容器系统的管理方法 |
CN105184153B (zh) * | 2015-08-26 | 2018-10-02 | 北京元心科技有限公司 | 智能终端及其基于多级容器的应用程序运行方法 |
CN105183551B (zh) * | 2015-09-10 | 2019-12-10 | 电子科技大学 | 基于Linux容器技术的多Android系统之间切换方法 |
CN105573816B (zh) * | 2015-12-11 | 2018-12-21 | 北京奇虎科技有限公司 | 虚拟输入的方法、装置及系统 |
CN105653353B (zh) * | 2015-12-31 | 2019-04-12 | 北京元心科技有限公司 | 一种基于容器的多系统交互通讯方法和装置 |
CN106095530B (zh) * | 2016-06-08 | 2019-10-22 | 电子科技大学 | 一种多Android系统的容器自动创建及其启动方法 |
CN108021456A (zh) * | 2016-11-04 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 触摸事件处理方法、装置和操作系统 |
CN106775934B (zh) * | 2016-11-29 | 2020-12-11 | 北京元心科技有限公司 | 基于多系统的输入输出方法及装置 |
WO2018119713A1 (zh) | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 用于多操作系统的显示方法、装置和电子设备 |
CN107239132A (zh) * | 2017-05-10 | 2017-10-10 | 北京海杭通讯科技有限公司 | 一种基于android容器的输入设备隔离方法 |
CN107341407B (zh) * | 2017-07-26 | 2021-03-23 | 惠州Tcl移动通信有限公司 | 基于终端的多安卓系统实现方法、存储介质及终端 |
CN107918555B (zh) * | 2017-11-23 | 2021-07-23 | 北京百度网讯科技有限公司 | 基于物理主机的用于处理数据的方法和装置 |
CN108304248A (zh) * | 2017-12-19 | 2018-07-20 | 西安电子科技大学 | 一种多系统虚拟化的移动设备 |
CN108279963B (zh) * | 2018-01-05 | 2020-11-20 | 郑州信大捷安信息技术股份有限公司 | 一种单Linux内核多Android系统的智能终端显示虚拟化方法 |
CN108762884A (zh) * | 2018-04-23 | 2018-11-06 | 西安电子科技大学 | 一种基于手机的飞行控制装置 |
CN109144396B (zh) * | 2018-09-05 | 2021-06-15 | 广州视源电子科技股份有限公司 | 一种触摸信息处理方法、装置、设备和存储介质 |
CN110618876B (zh) * | 2019-03-21 | 2023-05-23 | 麒麟软件有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
CN111240618A (zh) * | 2019-12-31 | 2020-06-05 | 北京升哲科技有限公司 | 一种基于android的多用户多屏显示方法及装置 |
CN112363632A (zh) * | 2020-11-03 | 2021-02-12 | 北京麟卓信息科技有限公司 | 一种Linux平台下Android应用的输入方法和装置 |
CN112486450B (zh) * | 2021-02-04 | 2021-07-06 | 江苏北弓智能科技有限公司 | 一种移动云桌面同屏互动的方法及装置 |
CN112988675B (zh) * | 2021-03-12 | 2023-02-21 | 麒麟软件有限公司 | 一种基于Linux文件管理器的Android文件分类显示方法 |
CN113157464A (zh) * | 2021-04-27 | 2021-07-23 | 麒麟软件有限公司 | 一种将Linux端输入事件共享给Android的方法 |
CN113626136B (zh) * | 2021-06-30 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种虚拟机故障检测方法和装置 |
CN113791875A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 输入设备虚拟化的方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760219A (zh) * | 2011-12-20 | 2012-10-31 | 北京安天电子设备有限公司 | 一种Android平台软件保护系统、方法及设备 |
CN102810040A (zh) * | 2011-05-31 | 2012-12-05 | 联想(北京)有限公司 | 一种显示处理方法、装置及计算机系统 |
CN102831342A (zh) * | 2012-07-28 | 2012-12-19 | 北京深思洛克软件技术股份有限公司 | 一种提高安卓系统中应用程序保护强度的方法 |
CN102957700A (zh) * | 2012-11-02 | 2013-03-06 | 杭州华银教育多媒体科技股份有限公司 | 一种实现一机多用的装置及其使用方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130080932A1 (en) * | 2011-09-27 | 2013-03-28 | Sanjiv Sirpal | Secondary single screen mode activation through user interface toggle |
-
2013
- 2013-11-04 CN CN201310537870.8A patent/CN103593185B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102810040A (zh) * | 2011-05-31 | 2012-12-05 | 联想(北京)有限公司 | 一种显示处理方法、装置及计算机系统 |
CN102760219A (zh) * | 2011-12-20 | 2012-10-31 | 北京安天电子设备有限公司 | 一种Android平台软件保护系统、方法及设备 |
CN102831342A (zh) * | 2012-07-28 | 2012-12-19 | 北京深思洛克软件技术股份有限公司 | 一种提高安卓系统中应用程序保护强度的方法 |
CN102957700A (zh) * | 2012-11-02 | 2013-03-06 | 杭州华银教育多媒体科技股份有限公司 | 一种实现一机多用的装置及其使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103593185A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593185B (zh) | 基于单Linux内核的多Android系统共享输入显示设备的方法 | |
CN107493310B (zh) | 一种云资源处理方法及云管理平台 | |
Shuja et al. | A survey of mobile device virtualization: Taxonomy and state of the art | |
CN109324791A (zh) | 金融自助终端业务流程开发方法、装置及终端设备 | |
CN106776067B (zh) | 多容器系统中系统资源的管理方法及管理装置 | |
US20210042138A1 (en) | Computing devices | |
CN102541558B (zh) | 在基于Android内核的电视系统中集成Android应用系统的方法 | |
CN103368807A (zh) | 用于在网络环境中迁移应用虚拟机的系统和方法 | |
CN109063202A (zh) | 在混合界面应用中实现弹窗的方法、装置以及计算机设备 | |
CN103986662A (zh) | 一种跨虚拟化平台的虚拟路由器实现方法 | |
CN107707658B (zh) | 一种私有云搭建方法和系统 | |
Mbongue et al. | Fpgavirt: A novel virtualization framework for fpgas in the cloud | |
CN108549571B (zh) | 一种适用于可信执行环境中的安全虚拟化方法 | |
CN115988218B (zh) | 一种虚拟化视频编解码系统、电子设备和存储介质 | |
CN105573757B (zh) | Android系统的语言更新方法及装置 | |
CN105677342A (zh) | 一种解决异构操作系统的复合桌面虚拟化架构及方法 | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 | |
CN109284168A (zh) | 一种大数据平台环境配置与业务数据分离管理方法及系统 | |
CN103530180B (zh) | 应用程序的存储空间切换方法及装置 | |
CN108304248A (zh) | 一种多系统虚拟化的移动设备 | |
Ming | Analysis and a case study of transparent computing implementation with UEFI | |
CN107370623A (zh) | 一种实现系统安装的方法及装置 | |
CN110719293A (zh) | 一种安全服务生成方法和相关设备 | |
CN104102524A (zh) | 一种实现虚拟安全载体vse的方法 | |
CN108153564B (zh) | 界面管理方法、设备及系统和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |