CN110321736A - 双系统硬件设备共享方法及计算机可读存储介质 - Google Patents
双系统硬件设备共享方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110321736A CN110321736A CN201810275400.1A CN201810275400A CN110321736A CN 110321736 A CN110321736 A CN 110321736A CN 201810275400 A CN201810275400 A CN 201810275400A CN 110321736 A CN110321736 A CN 110321736A
- Authority
- CN
- China
- Prior art keywords
- operating system
- hardware device
- message
- rich
- shared
- 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
- 230000009977 dual effect Effects 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- 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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种双系统硬件设备共享方法及计算机可读存储介质,方法包括:当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;可信操作系统发送加载消息至富操作系统。本发明既能保证安全性,又能让各自系统对硬件都有完全的控制权,使用效率较高。
Description
技术领域
本发明涉及硬件共享技术领域,尤其涉及一种双系统硬件设备共享方法及计算机可读存储介质。
背景技术
现在基于trustzone的双系统架构,一般使用代理来共享硬件设备,比如把共享的设备放在可信操作系统,而通用操作系统要使用共享的设备需通过命令请求的方式来让可信操作系统的操作共享硬件设备,这样做虽然可以保证对共享硬件设备使用的安全性,但是通信效率不高,同时也只能代理操作一些比较简单的操作,对复杂的一些操作设计起来就比较麻烦。
发明内容
本发明所要解决的技术问题是:提供一种双系统硬件设备共享方法及计算机可读存储介质,既能保证安全,又能简化操作从而提升效率。
为了解决上述技术问题,本发明采用的技术方案为:一种双系统硬件设备共享方法,包括:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
本发明的有益效果在于:通过对双系统共享的硬件设备采用动态抢占的方式,只要可信操作系统需使用共享硬件设备,就进行抢占,动态配置为可信操作系统专有,强制富操作系统退出使用硬件,可信操作系统使用完再让出共享硬件设备的使用权,让富操作系统继续使用。本发明既能保证安全性,又能让各自系统对硬件都有完全的控制权,使用效率较高。
附图说明
图1为本发明的一种双系统硬件设备共享方法的流程图;
图2为本发明实施例一的双系统的交互示意图;
图3为本发明实施例一中的T-SDMS的工作流程图;
图4为本发明实施例一中的R-SDMS的工作流程图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:通过动态抢占的方式让可信操作系统具有共享硬件设备的优先使用权,使用完后再让出使用权给富操作系统。
请参阅图1,一种双系统硬件设备共享方法,包括:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
从上述描述可知,本发明的有益效果在于:既能保证安全,又能简化操作从而提升效率。
进一步地,所述当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统之后,进一步包括:
富操作系统接收到卸载消息后,卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
由上述描述可知,由于共享硬件设备已被可信操作系统抢占使用,原来富操作系统中使用该共享硬件设备的应用程序需要被合理的通知,以处理这种突发情况。
进一步地,所述可信操作系统发送加载消息至富操作系统之后,进一步包括:
富操作系统接收到加载消息后,重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
由上述描述可知,当可信操作系统中的应用程序使用完共享硬件设备后,富操作系统中的应用程序可继续使用该共享硬件设备。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
进一步地,所述当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统之后,进一步包括:
富操作系统接收到卸载消息后,卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
进一步地,所述可信操作系统发送加载消息至富操作系统之后,进一步包括:
富操作系统接收到加载消息后,重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
实施例一
请参照图2-4,本发明的实施例一为:一种双系统硬件设备共享方法,所述方法基于trustzone的双系统架构,如图2所示,在带ARM trustzone硬件架构的CPU核上运行两个操作系统,分别为可信操作系统Trusted OS(运行在trustzone上)和富操作系统Rich OS(运行在普通区域)。其中Trusted OS上运行T-SDMS(Trusted OS端共享设备管理服务),Rich OS上运行R-SDMS(Rich OS端共享设备管理服务)。
系统初次启动之后,共享硬件设备默认是分配给富操作系统Rich OS使用的,即Rich OS在系统启动之后会把所有的共享硬件设备驱动全部加载到Rich OS。但是可信操作系统Trusted OS对共享硬件设备享有更高的优先使用权,可以抢占Rich OS中正在使用的共享硬件设备。
具体地,可信操作系统中的T-SDMS的工作流程如图3所示,包括如下步骤:
S101:可信操作系统接收到消息时,即T-SDMS接收到可信操作系统中的应用程序发送的消息时,判断所述消息是否为请求使用设备的消息,若是,则执行步骤S102,若否,则表示接收到的是让出设备使用的消息,执行步骤S104。
S102:发送卸载消息至富操作系统;
S103:T-SDMS通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态。
其中,进行重置指重置为某种预定义的状态,就是一种按默认值进行设置的初始化状态。比如要设置一个共享的串口,按默认参数设置波特率、数据位、有效位等等。当然,不同的硬件对应的预定义参数是不一样的,具体根据实际硬件设备进行设置。
动态安全控制器是trustzone下把一种把硬件设备配置为安全/非安全的控制器,不同芯片厂商会有不同的设计,比如NXP的imx6使用的是CSU(central security unit,中央安全单元)。对于安全状态的设置,不同芯片厂商设计的芯片不一样,例如,imx6要把某个外设配置为安全状态需要在CSU对应的寄存器中把对应设备的安全位置为1。同理,若要配置为非安全状态则把对应的安全位清零。
T-SDMS完成对共享硬件设备的配置后,可信操作系统中请求使用共享硬件设备的应用程序就可以通过第一硬件驱动正常使用该共享硬件设备了。例如,可信操作系统Trusted OS中的任务T-task在请求共享串口A之后,需等待T-SDMS进行处理,即把串口A从富操作系统Rich OS抢占过来,T-SDMS响应OK给T-task之后,T-task就可以无差别地像正常使用Trusted OS中的非共享硬件设备一样使用串口A,比如通过串口A驱动接口打开串口,通过驱动接口对串口A进行读写操作,使用完了进行关闭等常规操作。
S104:通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态。即当可信操作系统中请求使用共享硬件设备的应用程序使用完共享硬件设备时,通知T-SDMS去回收共享硬件设备的使用权,T-SDMS通过第一硬件驱动清除共享硬件设备上的数据,避免可信操作系统Trusted OS的数据泄露到富操作系统Rich OS,通过将共享硬件设备配置为非安全状态,使得富操作系统Rich OS可访问该共享硬件设备。
S105:可信操作系统发送加载消息至富操作系统。
在步骤S103和S105之后,可信操作系统的T-SDMS会继续监测是否收到应用程序发送的消息,然后继续执行步骤S101。
在步骤S102发出卸载消息后,T-SDMS并不会等待对端R-SDMS完成卸载并反馈消息给T-SDMS,而是直接进行后续的抢占操作处理,即会直接执行步骤S103,防止共享硬件设备有可能被富操作系统Rich OS中的恶意程序滥用,一直不肯让出使用权。
富操作系统中的R-SDMS的工作流程如图4所示,包括如下步骤:
S201:富操作系统等待消息,当R-SDMS接收到消息时,判断是否为卸载消息,若是,则执行步骤S202,若否,则表示接收到的是加载消息,执行步骤S203。
S202:卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。进一步地,若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
S203:重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。进一步地,若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
本实施例通过对双系统共享的硬件设备采用动态抢占式的方式,只要可信操作系统需使用共享硬件设备,就进行抢占,动态配置为可信操作系统专有,强制富操作系统退出使用硬件,可信操作系统使用完再让出共享硬件设备的使用权,让富操作系统继续使用,既能保证安全性,又能让各自系统对硬件都有完全的控制权,使用效率较高。虽然牺牲富操作系统的使用体验,但是这种设置也是合理的,因为非安全操作系统(富操作系统)本身权限就比安全操作系统(可信操作系统)低。
实施例二
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
进一步地,所述当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统之后,进一步包括:
富操作系统接收到卸载消息后,卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
进一步地,所述可信操作系统发送加载消息至富操作系统之后,进一步包括:
富操作系统接收到加载消息后,重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。
进一步地,还包括:
若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
综上所述,本发明提供的一种双系统硬件设备共享方法及计算机可读存储介质,通过对双系统共享的硬件设备采用动态抢占式的方式,只要可信操作系统需使用共享硬件设备,就进行抢占,动态配置为可信操作系统专有,强制富操作系统退出使用硬件,可信操作系统使用完再让出共享硬件设备的使用权,让富操作系统继续使用,既能保证安全性,又能让各自系统对硬件都有完全的控制权,使用效率较高。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种双系统硬件设备共享方法,其特征在于,包括:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
2.根据权利要求1所述的双系统硬件设备共享方法,其特征在于,所述当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统之后,进一步包括:
富操作系统接收到卸载消息后,卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。
3.根据权利要求2所述的双系统硬件设备共享方法,其特征在于,还包括:
若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
4.根据权利要求1所述的双系统硬件设备共享方法,其特征在于,所述可信操作系统发送加载消息至富操作系统之后,进一步包括:
富操作系统接收到加载消息后,重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。
5.根据权利要求4所述的双系统硬件设备共享方法,其特征在于,还包括:
若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现以下步骤:
当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统;
可信操作系统通过可信操作系统中对应共享硬件设备的第一硬件驱动将共享硬件设备进行重置,并通过动态安全控制器将共享硬件设备配置为安全状态;
当可信操作系统接收到让出设备使用的消息时,通过所述第一硬件驱动清除所述共享硬件设备上的数据,并通过动态安全控制器将共享硬件设备配置为非安全状态;
可信操作系统发送加载消息至富操作系统。
7.根据权利要求6所述的计算机可读存储介质,其特征在于,所述当可信操作系统接收到请求使用设备的消息时,发送卸载消息至富操作系统之后,进一步包括:
富操作系统接收到卸载消息后,卸载或禁用富操作系统中对应共享硬件设备的第二硬件驱动。
8.根据权利要求7所述的计算机可读存储介质,其特征在于,还包括:
若富操作系统中存在正在使用所述共享硬件设备的应用程序,则通知所述应用程序退出或暂停。
9.根据权利要求6所述的计算机可读存储介质,其特征在于,所述可信操作系统发送加载消息至富操作系统之后,进一步包括:
富操作系统接收到加载消息后,重新加载或启用富操作系统中对应共享硬件设备的第二硬件驱动。
10.根据权利要求9所述的计算机可读存储介质,其特征在于,还包括:
若富操作系统中存在正在等待使用所述共享硬件设备的应用程序,则通知所述应用程序恢复运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810275400.1A CN110321736A (zh) | 2018-03-30 | 2018-03-30 | 双系统硬件设备共享方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810275400.1A CN110321736A (zh) | 2018-03-30 | 2018-03-30 | 双系统硬件设备共享方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321736A true CN110321736A (zh) | 2019-10-11 |
Family
ID=68111334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810275400.1A Pending CN110321736A (zh) | 2018-03-30 | 2018-03-30 | 双系统硬件设备共享方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321736A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113458A1 (en) * | 2007-10-31 | 2009-04-30 | Microsoft Corporation | Controlling hardware across two or more simultaneously running operating systems |
CN104335549A (zh) * | 2012-06-07 | 2015-02-04 | 阿尔卡特朗讯公司 | 安全数据处理 |
CN105791284A (zh) * | 2016-02-29 | 2016-07-20 | 华为技术有限公司 | 一种数据安全传输装置及方法 |
US20180032733A1 (en) * | 2016-01-13 | 2018-02-01 | Oleksii Surdu | Multiple Hardware-Separated Computer Operating Systems within a Single Processor Computer System to Prevent Cross-Contamination between Systems |
-
2018
- 2018-03-30 CN CN201810275400.1A patent/CN110321736A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113458A1 (en) * | 2007-10-31 | 2009-04-30 | Microsoft Corporation | Controlling hardware across two or more simultaneously running operating systems |
CN104335549A (zh) * | 2012-06-07 | 2015-02-04 | 阿尔卡特朗讯公司 | 安全数据处理 |
US20180032733A1 (en) * | 2016-01-13 | 2018-02-01 | Oleksii Surdu | Multiple Hardware-Separated Computer Operating Systems within a Single Processor Computer System to Prevent Cross-Contamination between Systems |
CN105791284A (zh) * | 2016-02-29 | 2016-07-20 | 华为技术有限公司 | 一种数据安全传输装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10768960B2 (en) | Method for affinity binding of interrupt of virtual network interface card, and computer device | |
US9910720B2 (en) | Method and apparatus for a mobile device based cluster computing infrastructure | |
CN103428241B (zh) | 服务部署方法及系统 | |
CN112513813A (zh) | 在按需网络代码执行系统中执行辅助功能 | |
KR101702729B1 (ko) | 다중 환경 운영 시스템에서 환경을 전환하는 시스템 및 방법 | |
CN110971591B (zh) | 一种多进程访问可信应用的方法和系统 | |
WO2018072714A1 (zh) | 多通道通信系统和电子设备 | |
US20160055066A1 (en) | Fault tolerance for complex distributed computing operations | |
US9459937B2 (en) | Method for using shared device in apparatus capable of operating two operating systems | |
RU2009126826A (ru) | Модуль обеспечения безопасности, включающий вторичный агент, взаимодействующий с главным агентом | |
US9170832B2 (en) | Virtual machine control apparatus and virtual machine control method | |
CN102158535A (zh) | 一种云计算操作系统 | |
CN103970601B (zh) | 执行操作指令方法和装置 | |
CN103019837A (zh) | 资源调度方法、装置及终端设备 | |
US8589954B2 (en) | Method and program for selective suspension of USB network device | |
US8984659B2 (en) | Dual trust architecture | |
US20190250577A1 (en) | Energy control method and apparatus for power consumption system | |
CN106127059B (zh) | 一种arm平台上可信密码模块的实现和服务方法 | |
US8225289B2 (en) | Method and system for improved tool interaction with a target | |
JP7392652B2 (ja) | アクセス方法、モノのインターネットプラットフォーム、応用機器及びサービス機器 | |
CN105468429A (zh) | 一种高效虚拟化集群管理方法和集群节点 | |
CN103763403A (zh) | 报文流量控制方法及相关装置和计算节点 | |
WO2019037527A1 (zh) | Usb接口请求调度方法、装置及设备 | |
CN110321736A (zh) | 双系统硬件设备共享方法及计算机可读存储介质 | |
US9348667B2 (en) | Apparatus for managing application program and method therefor |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191011 |
|
RJ01 | Rejection of invention patent application after publication |