CN107239132A - 一种基于android容器的输入设备隔离方法 - Google Patents
一种基于android容器的输入设备隔离方法 Download PDFInfo
- Publication number
- CN107239132A CN107239132A CN201710326407.7A CN201710326407A CN107239132A CN 107239132 A CN107239132 A CN 107239132A CN 201710326407 A CN201710326407 A CN 201710326407A CN 107239132 A CN107239132 A CN 107239132A
- Authority
- CN
- China
- Prior art keywords
- space
- input equipment
- activation
- inactive
- reported
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种基于android容器的输入设备隔离方法,在input event driver层维护一个数据结构,将输入设备分为以下三种顾类型:(1)所要上报的空间无论是激活的还是非激活的,都需要上报;(2)只有激活的空间上报,非激活的空间的数据则直接丢弃;(3)如果是激活的空间则上报,如果是非激活的空间则缓存;待非激活的空间转换成激活状态后将缓存的事件上报。本发明的有益效果是:上层InputManager在空间处于非激活状态时不需要作接受和处理input事件,提高了系统的性能,有利于减少功耗的消耗。
Description
技术领域
本发明涉及隔离方法,尤其涉及一种基于android容器的输入设备隔离方法。
背景技术
随着android的发展,在android上基于容器的多系统方案已经被提了出来,其中实现了进程隔离,文件系统隔离,网络隔离等。android容器方案是基于linux kernel(操作系统内核)提供的namespace(命名空间)和cgroups技术,在单个kernel上隔离出来多个完整的虚拟空间。
android系统上经常使用多种input(输入)设备,触屏,按键,各种sensor等,都属于这种设备。在基于android容器的多系统方案中,如何让多个系统共享input设备是必须要解决的一个问题。
在中国专利<<基于单Linux内核的多Android系统共享输入显示设备的方法>>(公开号为103593185B)中提出在EventHub上作判断来达到多个容器共享input设备的目的。但该方案存在以下问题:
(1) 该方案只能解决多个android系统的方案,没有解决移动设备上的多个系统中含有其他如Megoo,ubuntu等系统上共享input设备的问题;
(2) 该方案对于当前不需要使用input设备的系统,依然需要InputManager通过EventHub监听和处理input事件的上报,增加了移动设备的功耗。
还有一个方案是在具体的设备驱动中作判断,是否要将input事件上报给指定的容器,但由于每个系统上支持的input设备不同,那么对于不同的input设备都需要作特殊处理。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于android容器的输入设备隔离方法。
本发明提供了一种基于android容器的输入设备隔离方法,在input eventdriver层维护一个数据结构,将输入设备分为以下三种顾类型:
(1) 所要上报的空间无论是激活的还是非激活的,都需要上报;
(2) 只有激活的空间上报,非激活的空间的数据则直接丢弃;
(3) 如果是激活的空间则上报,如果是非激活的空间则缓存;待非激活的空间转换成激活状态后将缓存的事件上报。
作为本发明的进一步改进,在user层作系统切换时,通过sys节点设置要激活的pid namespace,操作系统内核收到这个信息后, ,判断每个pid namespace是要切换到激活状态,还是要切换到非激活状态。
本发明的有益效果是:上层InputManager在空间处于非激活状态时不需要作接受和处理input事件,提高了系统的性能,有利于减少功耗的消耗。
附图说明
图1是不做处理时多android系统上的input架构图。
图2是本发明一种基于android容器的输入设备隔离方法的示意图。
具体实施方式
下面结合附图说明及具体实施方式对本发明作进一步说明。
如图1所示,在不做任何处理时,touchscreen将自己注册成input设备,有触屏信息需要上报时将输入事件上报给指定类型的input event driver(通常是evdev),然后input event driver将事件通过/dev/input/*下的设备节点上报给正在监听事件的InputManager。
此时由于input设备上报的事件Container1和Container2都可以收到,起不到安全和隔离的效果。
如图2所示,一种基于android容器的输入设备隔离方法,在input event driver层维护一个数据结构,将input设备分为三种:
(1) 无论是所要上报的空间是激活的还是非激活的,都需要上报;
(2) 只有激活的上报,非激活的空间的数据则直接丢弃;
(3) 如果是激活的空间则上报,如果是非激活的空间则缓存;待非激活的空间转换成激活状态后将缓存的事件上报。
input设备上报事件,会由不同类型的的input event driver统一处理,在inputevent driver要发送事件时,判断正在上报给的空间的pid namespace是否是active的.如果是active的,则直接上报;如果是非active的,则根据设备类型判断是上报,丢弃还是缓存下来。
在user层作系统切换时,可以通过sys节点设置要激活的pid namespace,内核收到这个信息后,判断哪个pid namespace要切换到激活状态,哪个pid namespace要切换到非激活状态。
本发明提供的一种基于android容器的输入设备隔离方法,综合考虑了系统的兼容性、性能和功耗的基础上,制定了单kernel多系统上的input设备隔离方案,具有以下优点:
(1) 对于新添加的设备,不需要在具体驱动中为支持input设备的隔离做修改。
(2) 支持基于linux kernel的多系统的兼容,很好的支持了多系统中一个android系统和一个其他linux发行版的情况。
(3) 上层InputManager在空间处于非激活状态时不需要作接受和处理input事件,提高了系统的性能,有利于减少功耗的消耗。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (2)
1.一种基于android容器的输入设备隔离方法,其特征在于:在input event driver层维护一个数据结构,将输入设备分为以下三种顾类型:
(1) 所要上报的空间无论是激活的还是非激活的,都需要上报;
(2) 只有激活的空间上报,非激活的空间的数据则直接丢弃;
(3) 如果是激活的空间则上报,如果是非激活的空间则缓存;待非激活的空间转换成激活状态后将缓存的事件上报。
2.根据权利要求1所述的基于android容器的输入设备隔离方法,其特征在于:在user层作系统切换时,通过sys节点设置要激活的pid namespace,操作系统内核收到这个信息后,判断每个pid namespace是要切换到激活状态,还是要切换到非激活状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326407.7A CN107239132A (zh) | 2017-05-10 | 2017-05-10 | 一种基于android容器的输入设备隔离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326407.7A CN107239132A (zh) | 2017-05-10 | 2017-05-10 | 一种基于android容器的输入设备隔离方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107239132A true CN107239132A (zh) | 2017-10-10 |
Family
ID=59984320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710326407.7A Pending CN107239132A (zh) | 2017-05-10 | 2017-05-10 | 一种基于android容器的输入设备隔离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239132A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593185A (zh) * | 2013-11-04 | 2014-02-19 | 浙江大学 | 基于单Linux内核的多Android系统共享输入显示设备的方法 |
US20140115580A1 (en) * | 2012-10-18 | 2014-04-24 | Broadcom Corporation | Set Top Box Application in a Concurrent Dual Environment |
US20150242622A1 (en) * | 2014-02-21 | 2015-08-27 | Samsung Electronics Co., Ltd. | Method and apparatus to sandbox run-time android applications with lightweight container |
CN105204913A (zh) * | 2015-10-20 | 2015-12-30 | 福建升腾资讯有限公司 | 一种在Android操作系统上运行Linux应用程序的方法及系统 |
CN105511947A (zh) * | 2015-12-11 | 2016-04-20 | 北京元心科技有限公司 | 多系统中事件信息处理的方法及装置 |
-
2017
- 2017-05-10 CN CN201710326407.7A patent/CN107239132A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140115580A1 (en) * | 2012-10-18 | 2014-04-24 | Broadcom Corporation | Set Top Box Application in a Concurrent Dual Environment |
CN103593185A (zh) * | 2013-11-04 | 2014-02-19 | 浙江大学 | 基于单Linux内核的多Android系统共享输入显示设备的方法 |
US20150242622A1 (en) * | 2014-02-21 | 2015-08-27 | Samsung Electronics Co., Ltd. | Method and apparatus to sandbox run-time android applications with lightweight container |
CN105204913A (zh) * | 2015-10-20 | 2015-12-30 | 福建升腾资讯有限公司 | 一种在Android操作系统上运行Linux应用程序的方法及系统 |
CN105511947A (zh) * | 2015-12-11 | 2016-04-20 | 北京元心科技有限公司 | 多系统中事件信息处理的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110023B (zh) | 一种多用户操作系统并行运行的控制方法、系统及计算机 | |
CN104380258B (zh) | 对图形硬件实施调度操作 | |
CN103257929B (zh) | 一种虚拟机内存映射方法及系统 | |
US8924959B2 (en) | Switching hardware devices in virtual machine systems using resource converting relationships | |
US8495217B2 (en) | Mechanism for preventing client partition crashes by removing processing resources from the client logical partition when an NPIV server goes down | |
CN104598294B (zh) | 用于移动设备的高效安全的虚拟化方法及其设备 | |
CN104025050A (zh) | 在图形处理单元上虚拟机之间变化 | |
Skeete et al. | Approaches to the management of hypertension in resource-limited settings: strategies to overcome the hypertension crisis in the post-COVID era | |
CN103593185A (zh) | 基于单Linux内核的多Android系统共享输入显示设备的方法 | |
CN101968746A (zh) | 一种内核虚拟机组织架构模式的实现方法 | |
JP2018106688A5 (zh) | ||
CN104036185B (zh) | 基于虚拟化的宏内核操作系统载入模块权能隔离方法 | |
CN101470633A (zh) | 一种虚拟机监视器、虚拟机系统及其内存处理方法 | |
CN101488113B (zh) | 一种设备驱动域的实现方法、系统及装置 | |
CN105183555A (zh) | 用于媒体处理的硬件虚拟化 | |
CN101154166A (zh) | 一种虚拟机系统及其显卡访问方法 | |
CN104091102A (zh) | 一种基于安卓系统的多用户管理方法及其装置 | |
US20150212642A1 (en) | Method of operating touch module and electronic device supporting same | |
CN105259990A (zh) | 一种手持终端的背面显示装置及显示方法 | |
CN106775544A (zh) | 应用程序的双开显示方法及装置 | |
CN103019848B (zh) | 一种pci总线非向量中断实现方法 | |
CN105653353A (zh) | 一种基于容器的多系统交互通讯方法和装置 | |
US20200089512A1 (en) | Method and Apparatus for Invoking Input Method, Server, and Terminal | |
CN103870762A (zh) | 分区访问方法和电子设备 | |
CN107239132A (zh) | 一种基于android容器的输入设备隔离方法 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20201113 |
|
AD01 | Patent right deemed abandoned |