CN112346789A - 双系统休眠及唤醒方法、装置、设备及存储介质 - Google Patents
双系统休眠及唤醒方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112346789A CN112346789A CN202011231576.0A CN202011231576A CN112346789A CN 112346789 A CN112346789 A CN 112346789A CN 202011231576 A CN202011231576 A CN 202011231576A CN 112346789 A CN112346789 A CN 112346789A
- Authority
- CN
- China
- Prior art keywords
- core
- operating system
- computing
- trusted
- sleep
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000005059 dormancy Effects 0.000 claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000007958 sleep Effects 0.000 claims description 128
- 230000009977 dual effect Effects 0.000 claims description 59
- 230000006266 hibernation Effects 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 23
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000000329 smooth muscle myocyte Anatomy 0.000 description 2
- 101100494729 Syncephalastrum racemosum SPSR gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种双系统休眠及唤醒方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:所述计算主核基于所述通用操作系统通知所述计算从核执行关核;所述计算主核在所述通用操作系统上执行第一休眠指令,获得第一休眠标识值;所述计算主核将所述第一休眠标识值发送给所述可信核,以便所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值;所述计算主核从所述可信核接收所述第二休眠标识值,根据所述第二休眠标识值在所述通用操作系统上进行休眠操作。该方法实现了通用操作系统和安全操作系统的休眠。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种双系统休眠及唤醒方法、装置、设备及可读存储介质。
背景技术
中央处理器(Central Processing Unit,CPU)通过内存映射手段给每个进程营造一个单独的地址空间来隔离多个进程的代码和数据,通过内核空间和用户空间不同的特权等级来隔离操作系统和用户进程的代码和数据。但由于内存中的代码和数据都是明文,容易被同处于内存中的其它应用偷窥,因此出现了扩展的安全模块,应用将加密数据送往安全模块,由安全模块处理完后再返回结果给相应的应用。
相关技术中将计算机的硬件和软件资源划分为安全世界((Secure World)和正常世界(Normal World),安全世界实现安全模块的功能,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在正常世界执行(如用户操作系统、各种应用程序等)。操作系统(Operating System,OS)可分为在正常世界运行的通用操作系统(Guest OS)和在安全世界运行的安全操作系统(Trust OS)。在操作系统进行休眠时,仅对在正常世界运行的通用操作系统进行休眠,无法实现安全操作系统的休眠。
如上所述,如何提供实现的方法成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种双系统休眠及唤醒方法、装置、设备及可读存储介质,至少克服无法实现安全操作系统的休眠的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种双系统休眠方法,用于包括通用操作系统和安全操作系统的双系统,所述通用操作系统和所述安全操作系统运行在多核处理器上,所述多核处理器包括计算核和可信核,所述计算核包括计算主核和计算从核,包括:所述计算主核基于所述通用操作系统通知所述计算从核执行关核;所述计算主核在所述通用操作系统上执行第一休眠指令,获得第一休眠标识值;所述计算主核将所述第一休眠标识值发送给所述可信核,以便所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值;所述计算主核从所述可信核接收所述第二休眠标识值,根据所述第二休眠标识值在所述通用操作系统上进行休眠操作。
根据本公开的一实施例,所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值包括:所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核。
根据本公开的一实施例,所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核包括:所述可信核根据所述第一休眠标识值在所述安全操作系统上执行所述第二休眠指令,通过可信系统服务接口调用处理器关闭函数执行关核。
根据本公开的一实施例,所述计算主核基于所述通用操作系统通知所述计算从核执行关核包括:所述计算主核在所述通用操作系统上执行第三休眠指令,所述计算从核通过电源管理通用接口调用处理器关闭函数执行关核。
根据本公开的另一方面,提供一种双系统唤醒方法,用于上述双系统,包括:所述计算主核基于所述通用操作系统执行所述计算从核启核;在开启的所述计算从核上运行所述通用操作系统;所述计算主核执行所述可信核启核;在开启的所述可信核上运行所述安全操作系统。
根据本公开的一实施例,在所述计算主核执行所述可信核启核之后,所述在开启的所述可信核上运行所述安全操作系统之前,还包括:在所述双系统的第三异常级别初始化开启的所述可信核。
根据本公开的一实施例,所述在开启的所述可信核上运行所述安全操作系统包括:通过强制修改上下文转至所述双系统的安全世界第一异常级别在开启的所述可信核上运行所述安全操作系统。
根据本公开的一实施例,在所述计算主核基于所述通用操作系统执行所述计算从核启核之后,所述在开启的所述计算从核上运行所述通用操作系统之前,还包括:在所述双系统的第三异常级别初始化开启的所述计算从核;所述在开启的所述计算从核上运行所述通用操作系统包括:转至所述双系统的正常世界第一异常级别在开启的所述计算从核上运行所述通用操作系统。
根据本公开的再一方面,提供一种双系统休眠装置,用于上述双系统,包括:计算从核控制模块,用于所述计算主核基于所述通用操作系统通知所述计算从核执行关核;休眠指令执行模块,用于所述计算主核在所述通用操作系统上执行第一休眠指令,获得第一休眠标识值;休眠标识发送模块,用于所述计算主核将所述第一休眠标识值发送给所述可信核,以便所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值;休眠标识接收模块,用于所述计算主核从所述可信核接收所述第二休眠标识值,根据所述第二休眠标识值在所述通用操作系统上进行休眠操作。
根据本公开的一实施例,所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值包括:所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核。
根据本公开的一实施例,所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核包括:所述可信核根据所述第一休眠标识值在所述安全操作系统上执行所述第二休眠指令,通过可信系统服务接口调用处理器关闭函数执行关核。
根据本公开的一实施例,所述计算从核控制模块,还用于所述计算主核在所述通用操作系统上执行第三休眠指令,所述计算从核通过电源管理通用接口调用处理器关闭函数执行关核。
根据本公开的再一方面,提供一种双系统唤醒装置,用于上述双系统,包括:计算从核启核模块,用于所述计算主核基于所述通用操作系统执行所述计算从核启核;通用操作系统启动模块,用于在开启的所述计算从核上运行所述通用操作系统;可信核启核模块,用于所述计算主核执行所述可信核启核;安全操作系统启动模块,用于在开启的所述可信核上运行所述安全操作系统。
根据本公开的一实施例,所述装置还包括:可信核初始化模块,用于在所述双系统的第三异常级别初始化开启的所述可信核。
根据本公开的一实施例,所述安全操作系统启动模块,还用于通过强制修改上下文转至所述双系统的安全世界第一异常级别在开启的所述可信核上运行所述安全操作系统。
根据本公开的一实施例,所述装置还包括:计算从核初始化模块,用于在所述双系统的第三异常级别初始化开启的所述计算从核;所述通用操作系统启动模块,还用于转至所述双系统的正常世界第一异常级别在开启的所述计算从核上运行所述通用操作系统。
根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开的实施例提供的双系统休眠方法,通过计算主核基于通用操作系统通知计算从核执行关核,计算主核在通用操作系统上执行第一休眠指令并获得第一休眠标识值后,将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值,然后计算主核从可信核接收第二休眠标识值,并根据第二休眠标识值在通用操作系统上进行休眠操作,从而可实现通用操作系统和安全操作系统的休眠。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开实施例中一种处理器架构的示意图。
图2示出本公开实施例中一种双系统休眠方法的流程图。
图3是根据一示例性实施例示出的一种计算从核关核流程的示意图。
图4是根据一示例性实施例示出的一种可信核关核流程的示意图。
图5是根据图1至图4示出的一种双系统休眠流程的示意图。
图6是示出本公开实施例中一种双系统唤醒方法的流程图。
图7是示出本公开实施例中另一种双系统唤醒方法的流程图。
图8是根据一示例性实施例示出的一种计算从核启核流程的示意图。
图9是根据一示例性实施例示出的一种可信核启核流程的示意图。
图10示出本公开实施例中一种双系统休眠装置的框图。
图11示出本公开实施例中一种双系统唤醒装置的框图。
图12示出本公开实施例中另一种双系统唤醒装置的框图。
图13示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
包括Guest OS和Trust OS的双系统架构中,处理器支持两种执行环境:可信执行环境(Trusted Execution Environment,TEE)和通用执行环境(Rich ExecutionEnvironment,REE)。Guest OS在REE中运行,Trust OS在TEE中运行。在安全世界中可以可信平台控制模块(Trusted Platform Control Module,TPCM)为信任根,对正常世界进行度量。处理器核可分为计算核和可信核。其中,计算核主要用来运行通用固件和软件(例如linux软件),处于正常世界;可信核主要用来运行TPCM软件,处于安全世界。
如上所述,相关技术中的休眠方案只是针对单系统的,即只有Guest OS存在的情况,Guest OS处于正常世界,可通过指令库中的休眠指令调用电源管理通用接口(PowerState Coordination Interface,PSCI)实现休眠。但当双系统时,即Trust OS存在的情况下,Trust OS处于安全世界,不能执行指令库中的休眠指令,即不能实现休眠。因此,本公开提供了一种双系统休眠方法,通过计算主核基于通用操作系统通知计算从核执行关核,计算主核在通用操作系统上执行第一休眠指令并获得第一休眠标识值后,将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值,然后计算主核从可信核接收第二休眠标识值,并根据第二休眠标识值在通用操作系统上进行休眠操作,从而可实现通用操作系统和安全操作系统的休眠。
图1示出了可以应用本公开的双系统休眠方法或双系统休眠装置以及双系统唤醒方法或双系统唤醒装置的示例性处理器架构100。
如图1所示,处理器架构100可以包括正常世界102和安全世界104,包括四个异常级别(Exception Level,EL)EL0—EL3。其中,正常世界102EL0运行应用程序1022,EL1运行Guest OS 1024,EL2进行虚拟管理1026;安全世界104S-EL0运行可信软件基(TrustedSoftware Base,TSB),TSB为可信计算平台的可信性提供支持的软件元素的集合,S-EL1运行Trust OS 1044,EL3运行连接正常世界102与安全世界104的安全监视器106,可通过调用安全监视器(Secure Monitor Call,SMC)指令实现相应的功能。Guest OS 1024和Trust OS1044可运行在多核处理器上,多核处理器可包括计算核和可信核,计算核可包括计算主核和计算从核,计算主核是计算机上电以后第一个启动的核,其他核都是通过主核控制上线的。例如处理器架构100可为ARMv8架构,但本公开并不以此为限。
图2是根据一示例性实施例示出的一种双系统休眠方法的流程图。如图2所示的方法例如可以应用于上述处理器架构100。
参考图2,本公开实施例提供的方法20可以包括以下步骤。
在步骤S202中,计算主核基于通用操作系统通知计算从核执行关核。计算主核可在通用操作系统上执行第三休眠指令,计算从核通过电源管理通用接口调用处理器关闭函数执行关核。计算从核可通过SMC指令切换到EL3执行关核。电源管理通用接口(PSCI)为ARM推荐的电源管理交互协议,在linux环境下可由正常世界通过SMC指令库中的SMC指令来进入EL3调用对应的实现。
在步骤S204中,计算主核在通用操作系统上执行第一休眠指令,获得第一休眠标识值。第一休眠标识值可为休眠标志位值,此时置休眠标志位为1,表示所有的计算从核关核完成。
在步骤S206中,计算主核将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值。可信核根据第一休眠标识值调用第二休眠指令,在安全操作系统上执行第二休眠指令进行关核。当读取休眠标志位为1,即确认所有计算从核关核完成后,调用SMC指令(第二休眠指令)切换到EL3关闭可信核,在可信核关核完成后,置休眠标志位为3,表示关可信核完成。
在一些实施例中,例如,可信核根据第一休眠标识值在安全操作系统上执行第二休眠指令,通过可信系统服务接口调用处理器关闭函数执行关核。
在步骤S208中,计算主核从可信核接收第二休眠标识值,根据第二休眠标识值在通用操作系统上进行休眠操作。当计算主核确认可信核关核成功后,继续执行下面的休眠操作,完成最终的休眠。
根据本公开实施例提供的双系统休眠方法,通过计算主核基于通用操作系统通知计算从核执行关核,计算主核在通用操作系统上执行第一休眠指令并获得第一休眠标识值后,将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值,然后计算主核从可信核接收第二休眠标识值,并根据第二休眠标识值在通用操作系统上进行休眠操作,通过计算核与可信核的配合控制实现了通用操作系统和安全操作系统的休眠。
图3是根据一示例性实施例示出的一种计算从核关核流程的示意图。如图3所示,在EL1级别,在Guest OS(S302)通过SMC指令(S304)调用PSCI的psci_smc_handler(S306),跳转到处理器核关闭函数(psci_cpu_off)(S308)完成计算核的关核流程。
图4是根据一示例性实施例示出的一种可信核关核流程的示意图。如图4所示,在S-EL1级别,因PSCI只能由非安全世界调用,不能由可信核通过现有SMC指令直接调用PSCI直执行关核,可调用可信系统服务接口(S405)在可信系统服务接口pk_spd_smc_handler中新建一个SMC指令(S404),在等待所有计算从核关核完成后(S406),由可信核在Trust OS(S402)通过新建的SMC指令直接调用psci_cpu_off(S408)关可信核。
图5是根据图1至图4示出的一种双系统休眠流程的示意图。如图5所示,休眠需等待所有从核(包括计算从核和可信核)关核完成。主核在Guest OS(S5022)执行休眠命令(S5024),首先所有计算从核通过SMC切换到EL3执行关核(S5026,S5028,S5030,S5032),主核再通过SMC(S5034)执行休眠指令(S5038,S5040),此时置休眠标志位为1,表示所有的计算从核关核完成,再等待可信核关核完成。而在Trust OS端(S5062),当读取休眠标志位为1(S5064),即确认所有计算从核关核完成后,调用可信系统服务接口新建SMC指令(S5067),调用新建SMC指令(S5066,S5068)切换到EL3关闭可信核(S5070),在可信核关核完成后,置休眠标志位为3(S5072),表示关可信核完成。当主核确认可信核关核成功后(S5042),继续执行下面的休眠操作(S5044),完成最终的休眠(S5046)。
相关技术中的休眠方案只是针对单系统的,即只有Guest OS存在的情况,GuestOS处于正常世界,可通过指令库中的休眠指令调用电源管理通用接口(Power StateCoordination Interface,PSCI)实现休眠。但当双系统时,即Trust OS存在的情况下,Trust OS处于安全世界EL1(S-EL1),不能执行指令库中的休眠指令,即不能实现休眠。本公开通过计算核与可信核的配合控制,可信核调用新建的SMC指令关闭可信核,实现了通用操作系统和安全操作系统的休眠。
图6是根据一示例性实施例示出的一种双系统唤醒方法的流程图。如图6所示的方法例如可以应用于上述处理器架构100。
参考图6,本公开实施例提供的方法60可以包括以下步骤。
在步骤S602中,计算主核基于通用操作系统执行计算从核启核。
在步骤S604中,在开启的计算从核上运行通用操作系统。
在步骤S606中,计算主核执行可信核启核。
在步骤S608中,在开启的可信核上运行安全操作系统。
计算主核接收到唤醒中断后,起计算从核唤醒Guest OS,起可信核唤醒Trust OS,对于计算从核启动和可信核启动的顺序,本公开不作限制。
图7是根据一示例性实施例示出的另一种双系统唤醒方法的流程图。如图7所示的方法例如可以应用于上述处理器架构100。
参考图7,本公开实施例提供的方法70可以包括以下步骤。
在步骤S702中,计算主核基于通用操作系统执行计算从核启核。
在步骤S703中,在双系统的第三异常级别初始化开启的计算从核。
在步骤S704中,转至双系统的正常世界第一异常级别在开启的计算从核上运行通用操作系统。
在步骤S705中,在双系统的第三异常级别初始化开启的可信核。
在步骤S706中,计算主核执行可信核启核。
在步骤S708中,通过强制修改上下文转至双系统的安全世界第一异常级别在开启的可信核上运行安全操作系统。
图8是根据一示例性实施例示出的一种计算从核启核流程的示意图。如图8所示,主核在EL1级别Guest OS(S802)正常通过SMC指令(S804)调用PSCI(S806),跳转psci_cpu_on启计算从核(S808),主核等待计算从核启核完成后(S810)继续向下运行;而计算从核在入口点(_entrypoint)进行一系列如异常向量表初始化,清cache等的必要初始化(S812)后,到on_finish启核后进一步初始化(如gic、监听域初始化,安全级别配置等)(S814),通过el3_exit退出EL3回到EL1(S816)。
图9是根据一示例性实施例示出的一种可信核启核流程的示意图。如图9所示,在EL3级别,主核在_entrypoint(S906)直接调用psci_cpu_on方式(S908)启可信核,主核在可信核起核完成后(S910)等待(S912)Trust OS的中断,而可信核在_warm_entrypoint进行一系列必要初始化后(S916),到on_finish启核后进一步初始化(S918),因Trust OS处于S-EL1,需强制修改上下文(S920),即修改SPSR_EL3,SCR_EL3,ELR_EL3寄存器,通过el3_exit退出EL3而强转到S-EL1(S922),Trust OS起来后(S902),发送中断(S904)给主核,主核收到中断后继续向下运行(S914)。
图10是根据一示例性实施例示出的一种双系统休眠装置的框图。如图10所示的装置例如可以应用于上述处理器架构100。
参考图10,本公开实施例提供的装置可以包括计算从核控制模块1002、休眠指令执行模块1004、休眠标识发送模块1006和休眠标识接收模块1008。
计算从核控制模块1002可用于计算主核基于通用操作系统通知计算从核执行关核。
计算从核控制模块1002还可用于计算主核在通用操作系统上执行第一休眠指令,计算从核通过电源管理通用接口调用处理器关闭函数执行关核。
计算从核控制模块1002还可用于计算主核在通用操作系统上执行第三休眠指令,计算从核通过电源管理通用接口调用处理器关闭函数执行关核。
休眠指令执行模块1004可用于计算主核在通用操作系统上执行第一休眠指令,获得第一休眠标识值。
休眠标识发送模块1006可用于计算主核将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值。
可信核根据第一休眠标识值执行关核并获得第二休眠标识值包括:可信核根据第一休眠标识值调用第二休眠指令,在安全操作系统上执行第二休眠指令进行关核。
可信核根据第一休眠标识值调用第二休眠指令,在安全操作系统上执行第二休眠指令进行关核包括:可信核根据第一休眠标识值在安全操作系统上执行第二休眠指令,通过可信系统服务接口调用处理器关闭函数执行关核。
休眠标识接收模块1008可用于计算主核从可信核接收第二休眠标识值,根据第二休眠标识值在通用操作系统上进行休眠操作。
图11是根据一示例性实施例示出的一种双系统唤醒装置的框图。如图11所示的装置例如可以应用于上述处理器架构100。
参考图11,本公开实施例提供的装置可以包括计算从核启核模块1102、通用操作系统启动模块1104、可信核启核模块1106和安全操作系统启动模块1108。
计算从核启核模块1102可用于计算主核基于通用操作系统执行计算从核启核。
通用操作系统启动模块1104可用于在开启的计算从核上运行通用操作系统。
可信核启核模块1106可用于计算主核执行可信核启核。
安全操作系统启动模块1108可用于在开启的可信核上运行安全操作系统。
图12是根据一示例性实施例示出的另一种双系统唤醒装置的框图。如图12所示的装置例如可以应用于上述处理器架构100。
参考图12,本公开实施例提供的装置可以包括计算从核启核模块1202、计算从核初始化模块1203、通用操作系统启动模块1204、可信核启核模块1206、可信核初始化模块1207和安全操作系统启动模块1208。
计算从核启核模块1202可用于计算主核基于通用操作系统执行计算从核启核。
计算从核初始化模块1203可用于在双系统的第三异常级别初始化开启的计算从核。
通用操作系统启动模块1204可用于在开启的计算从核上运行通用操作系统。
通用操作系统启动模块1204还可用于转至双系统的正常世界第一异常级别在开启的计算从核上运行通用操作系统。
可信核启核模块1206可用于计算主核执行可信核启核。
可信核初始化模块1207可用于在双系统的第三异常级别初始化开启的可信核。
安全操作系统启动模块1208可用于在开启的可信核上运行安全操作系统。
安全操作系统启动模块1208还可用于通过强制修改上下文转至双系统的安全世界第一异常级别在开启的可信核上运行安全操作系统。
本公开实施例提供的装置中的各个模块的具体实现可以参照上述方法中的内容,此处不再赘述。
图13示出本公开实施例中一种电子设备的结构示意图。需要说明的是,图13示出的设备仅以计算机系统为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,设备1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有设备1300操作所需的各种程序和数据。CPU1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括计算从核控制模块、休眠指令执行模块、休眠标识发送模块和休眠标识接收模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,计算从核控制模块还可以被描述为“用于通知计算从核关核的模块”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:用于包括通用操作系统和安全操作系统的双系统,通用操作系统和安全操作系统运行在多核处理器上,多核处理器包括计算核和可信核,计算核包括计算主核和计算从核,包括:计算主核基于通用操作系统通知计算从核执行关核;计算主核在通用操作系统上执行第一休眠指令,获得第一休眠标识值;计算主核将第一休眠标识值发送给可信核,以便可信核根据第一休眠标识值执行关核并获得第二休眠标识值;计算主核从可信核接收第二休眠标识值,根据第二休眠标识值在通用操作系统上进行休眠操作。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (12)
1.一种双系统休眠方法,用于包括通用操作系统和安全操作系统的双系统,所述通用操作系统和所述安全操作系统运行在多核处理器上,所述多核处理器包括计算核和可信核,所述计算核包括计算主核和计算从核,其特征在于,包括:
所述计算主核基于所述通用操作系统通知所述计算从核执行关核;
所述计算主核在所述通用操作系统上执行第一休眠指令,获得第一休眠标识值;
所述计算主核将所述第一休眠标识值发送给所述可信核,以便所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值;
所述计算主核从所述可信核接收所述第二休眠标识值,根据所述第二休眠标识值在所述通用操作系统上进行休眠操作。
2.根据权利要求1所述的方法,其特征在于,所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值包括:
所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核。
3.根据权利要求2所述的方法,其特征在于,所述可信核根据所述第一休眠标识值调用第二休眠指令,在所述安全操作系统上执行所述第二休眠指令进行关核包括:
所述可信核根据所述第一休眠标识值在所述安全操作系统上执行所述第二休眠指令,通过可信系统服务接口调用处理器关闭函数执行关核。
4.根据权利要求1所述的方法,其特征在于,所述计算主核基于所述通用操作系统通知所述计算从核执行关核包括:
所述计算主核在所述通用操作系统上执行第三休眠指令,所述计算从核通过电源管理通用接口调用处理器关闭函数执行关核。
5.一种双系统唤醒方法,用于如权利要求1所述的双系统,其特征在于,包括:
所述计算主核基于所述通用操作系统执行所述计算从核启核;
在开启的所述计算从核上运行所述通用操作系统;
所述计算主核执行所述可信核启核;
在开启的所述可信核上运行所述安全操作系统。
6.根据权利要求5所述的方法,其特征在于,在所述计算主核执行所述可信核启核之后,所述在开启的所述可信核上运行所述安全操作系统之前,还包括:
在所述双系统的第三异常级别初始化开启的所述可信核。
7.根据权利要求6所述的方法,其特征在于,所述在开启的所述可信核上运行所述安全操作系统包括:
通过强制修改上下文转至所述双系统的安全世界第一异常级别在开启的所述可信核上运行所述安全操作系统。
8.根据权利要求5所述的方法,其特征在于,在所述计算主核基于所述通用操作系统执行所述计算从核启核之后,所述在开启的所述计算从核上运行所述通用操作系统之前,还包括:
在所述双系统的第三异常级别初始化开启的所述计算从核;
所述在开启的所述计算从核上运行所述通用操作系统包括:
转至所述双系统的正常世界第一异常级别在开启的所述计算从核上运行所述通用操作系统。
9.一种双系统休眠装置,用于包括通用操作系统和安全操作系统的双系统,所述通用操作系统和所述安全操作系统运行在多核处理器上,所述多核处理器包括计算核和可信核,所述计算核包括计算主核和计算从核,其特征在于,包括:
计算从核控制模块,用于所述计算主核基于所述通用操作系统通知所述计算从核执行关核;
休眠指令执行模块,用于所述计算主核在所述通用操作系统上执行第一休眠指令,获得第一休眠标识值;
休眠标识发送模块,用于所述计算主核将所述第一休眠标识值发送给所述可信核,以便所述可信核根据所述第一休眠标识值执行关核并获得第二休眠标识值;
休眠标识接收模块,用于所述计算主核从所述可信核接收所述第二休眠标识值,根据所述第二休眠标识值在所述通用操作系统上进行休眠操作。
10.一种双系统唤醒装置,用于如权利要求9所述的双系统,其特征在于,包括:
计算从核启核模块,用于所述计算主核基于所述通用操作系统执行所述计算从核启核;
通用操作系统启动模块,用于在开启的所述计算从核上运行所述通用操作系统;
可信核启核模块,用于所述计算主核执行所述可信核启核;
安全操作系统启动模块,用于在开启的所述可信核上运行所述安全操作系统。
11.一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-8任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011231576.0A CN112346789A (zh) | 2020-11-06 | 2020-11-06 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011231576.0A CN112346789A (zh) | 2020-11-06 | 2020-11-06 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346789A true CN112346789A (zh) | 2021-02-09 |
Family
ID=74428965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011231576.0A Pending CN112346789A (zh) | 2020-11-06 | 2020-11-06 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346789A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467841A (zh) * | 2021-05-17 | 2021-10-01 | 翱捷智能科技(上海)有限公司 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
CN114090086A (zh) * | 2021-11-23 | 2022-02-25 | 西安微电子技术研究所 | 一种基于ZynqMP平台嵌入式操作系统快速启动方法 |
CN114116029A (zh) * | 2021-11-16 | 2022-03-01 | 珠海格力电器股份有限公司 | 红外接收器唤醒低功耗的控制方法、装置、设备及介质 |
CN115826731A (zh) * | 2022-10-19 | 2023-03-21 | 科东(广州)软件科技有限公司 | 休眠控制方法及装置、操作系统和计算设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085630A1 (en) * | 2004-10-16 | 2006-04-20 | International Business Machines Corp. | Enabling attestation during return from S4 state with standard TCG hardware |
CN101207876A (zh) * | 2007-11-27 | 2008-06-25 | 中兴通讯股份有限公司 | 一种休眠标识的管理系统、分配方法和调整方法 |
CN102110197A (zh) * | 2009-12-25 | 2011-06-29 | 中国科学院计算技术研究所 | 多核处理器的计算环境中实现tmp的方法及其系统 |
CN103749002B (zh) * | 2010-06-09 | 2012-02-08 | 北京理工大学 | 用于内部网络安全监控的信息获取通用系统 |
CN102981864A (zh) * | 2011-06-03 | 2013-03-20 | 佳能株式会社 | 信息处理装置和信息处理方法 |
CN103412633A (zh) * | 2013-07-16 | 2013-11-27 | 深圳Tcl新技术有限公司 | 控制终端休眠、唤醒的方法和装置 |
CN103914663A (zh) * | 2014-04-01 | 2014-07-09 | 英硬(上海)信息科技有限公司 | 一种金融终端设备安全方案的设计方法及安全系统 |
CN104142859A (zh) * | 2014-07-31 | 2014-11-12 | 深圳市中兴移动通信有限公司 | 一种双系统的快速切换方法、装置和移动终端 |
CN104794395A (zh) * | 2015-05-13 | 2015-07-22 | 上海瓶钵信息科技有限公司 | 基于体系结构特性的轻量级多系统安全管理架构 |
CN109739563A (zh) * | 2018-12-29 | 2019-05-10 | 龙芯中科技术有限公司 | 终端的控制方法、装置、系统及存储介质 |
CN109947483A (zh) * | 2019-02-14 | 2019-06-28 | 深圳市显控科技股份有限公司 | 一种基于安卓内核的工业设备启动方法和系统 |
CN111221403A (zh) * | 2019-12-27 | 2020-06-02 | 中国农业大学 | 一种可调配休眠模式控制的SoC系统及方法 |
-
2020
- 2020-11-06 CN CN202011231576.0A patent/CN112346789A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085630A1 (en) * | 2004-10-16 | 2006-04-20 | International Business Machines Corp. | Enabling attestation during return from S4 state with standard TCG hardware |
CN101207876A (zh) * | 2007-11-27 | 2008-06-25 | 中兴通讯股份有限公司 | 一种休眠标识的管理系统、分配方法和调整方法 |
CN102110197A (zh) * | 2009-12-25 | 2011-06-29 | 中国科学院计算技术研究所 | 多核处理器的计算环境中实现tmp的方法及其系统 |
CN103749002B (zh) * | 2010-06-09 | 2012-02-08 | 北京理工大学 | 用于内部网络安全监控的信息获取通用系统 |
CN102981864A (zh) * | 2011-06-03 | 2013-03-20 | 佳能株式会社 | 信息处理装置和信息处理方法 |
CN103412633A (zh) * | 2013-07-16 | 2013-11-27 | 深圳Tcl新技术有限公司 | 控制终端休眠、唤醒的方法和装置 |
CN103914663A (zh) * | 2014-04-01 | 2014-07-09 | 英硬(上海)信息科技有限公司 | 一种金融终端设备安全方案的设计方法及安全系统 |
CN104142859A (zh) * | 2014-07-31 | 2014-11-12 | 深圳市中兴移动通信有限公司 | 一种双系统的快速切换方法、装置和移动终端 |
CN104794395A (zh) * | 2015-05-13 | 2015-07-22 | 上海瓶钵信息科技有限公司 | 基于体系结构特性的轻量级多系统安全管理架构 |
CN109739563A (zh) * | 2018-12-29 | 2019-05-10 | 龙芯中科技术有限公司 | 终端的控制方法、装置、系统及存储介质 |
CN109947483A (zh) * | 2019-02-14 | 2019-06-28 | 深圳市显控科技股份有限公司 | 一种基于安卓内核的工业设备启动方法和系统 |
CN111221403A (zh) * | 2019-12-27 | 2020-06-02 | 中国农业大学 | 一种可调配休眠模式控制的SoC系统及方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467841A (zh) * | 2021-05-17 | 2021-10-01 | 翱捷智能科技(上海)有限公司 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
CN113467841B (zh) * | 2021-05-17 | 2024-06-11 | 翱捷智能科技(上海)有限公司 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
CN114116029A (zh) * | 2021-11-16 | 2022-03-01 | 珠海格力电器股份有限公司 | 红外接收器唤醒低功耗的控制方法、装置、设备及介质 |
CN114116029B (zh) * | 2021-11-16 | 2024-06-07 | 珠海格力电器股份有限公司 | 红外接收器唤醒低功耗的控制方法、装置、设备及介质 |
CN114090086A (zh) * | 2021-11-23 | 2022-02-25 | 西安微电子技术研究所 | 一种基于ZynqMP平台嵌入式操作系统快速启动方法 |
CN114090086B (zh) * | 2021-11-23 | 2023-05-30 | 西安微电子技术研究所 | 一种基于ZynqMP平台嵌入式操作系统快速启动方法 |
CN115826731A (zh) * | 2022-10-19 | 2023-03-21 | 科东(广州)软件科技有限公司 | 休眠控制方法及装置、操作系统和计算设备 |
CN115826731B (zh) * | 2022-10-19 | 2023-07-11 | 科东(广州)软件科技有限公司 | 休眠控制方法及装置、存储介质和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112346789A (zh) | 双系统休眠及唤醒方法、装置、设备及存储介质 | |
CN109669734B (zh) | 用于启动设备的方法和装置 | |
US10395039B2 (en) | Customer-owned trust of device firmware | |
US9292302B2 (en) | Allowing bypassing of boot validation in a computer system having secure boot enabled by default only under certain circumstances | |
US10019601B2 (en) | Method and apparatus for securely saving and restoring the state of a computing platform | |
CN103748594B (zh) | 针对arm*trustzonetm实现的基于固件的可信平台模块 | |
CN107113284B (zh) | 针对可迁移虚拟机的可信计算基证据绑定 | |
US7137016B2 (en) | Dynamically loading power management code in a secure environment | |
CN102081534A (zh) | 自动模块化且安全的引导固件更新 | |
CN104995627A (zh) | 片上系统设备中的密钥撤消 | |
WO2006071450A2 (en) | Secure firmware update | |
US20140149730A1 (en) | Systems and methods for enforcing secure boot credential isolation among multiple operating systems | |
CN109948310B (zh) | 一种锁定方法及相关电子设备 | |
CN109523261B (zh) | 区块链终端的交易验证方法、相关装置及可读存储介质 | |
EP3494482B1 (en) | Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor | |
JP2022522643A (ja) | 初期プログラムロード機構を用いたセキュア・ゲストの起動 | |
CN111079189A (zh) | 一种信息处理方法、电子设备及计算机可读存储介质 | |
US10664573B2 (en) | Computing apparatus and method with persistent memory | |
CN111966470B (zh) | 虚拟机监控器的加载方法、装置和电子设备 | |
US8856788B2 (en) | Activity based device removal management | |
CN117034257A (zh) | 一种虚拟化管理下的信息获取方法、装置、设备及介质 | |
CN109583182B (zh) | 启动远程桌面的方法、装置、电子设备及计算机存储介质 | |
CN112306754B (zh) | 基于可信的uefi固件恢复方法、装置、介质和设备 | |
CN115221549A (zh) | Lpc总线安全访问方法、系统、终端及存储介质 | |
CN115237673A (zh) | 数据处理方法、装置、电子设备及存储介质 |
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 |