CN114185602B - 操作系统的启动方法、装置和终端 - Google Patents
操作系统的启动方法、装置和终端 Download PDFInfo
- Publication number
- CN114185602B CN114185602B CN202010968714.7A CN202010968714A CN114185602B CN 114185602 B CN114185602 B CN 114185602B CN 202010968714 A CN202010968714 A CN 202010968714A CN 114185602 B CN114185602 B CN 114185602B
- Authority
- CN
- China
- Prior art keywords
- process file
- value corresponding
- operating system
- file
- check value
- 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
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/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供的操作系统的启动方法、装置和终端,在启动至少两个操作系统时,先获取同时满足至少两个操作系统的证书授权的进程文件,进程用于实现客户端应用和可信应用之间的通信;将获取的进程文件对应的校验值与预设进程文件对应的校验值进行匹配;在操作系统获取的进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,该操作系统启动,即通过同时满足两个操作系统证书授权的进程文件保证至少两个操作系统的进程文件对应的校验值与预设进程文件对应的校验值相同,使得该至少两个操作系统均能正常启动,从而解决了现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种操作系统的启动方法、装置和终端。
背景技术
近年来,随着互联网技术以及智能终端的飞速发展,用户对于智能终端中操作系统的功能需求越来越多,而不同的应用程序所需的操作环境不同,因此产生了双系统终端。双系统终端的安全性更高,运行速度更快,能够容纳不同类型的营运程序,并且能够更合理的运用智能终端的存储空间。
现有技术中,对于双系统终端,假设双系统终端中包括AOS操作系统和Android操作系统两个操作系统,任一操作系统在启动时,是通过唯一的可信执行环境(TrustedExecution Environment,简称TEE)确定操作系统能否启动。由于两个操作系统的进程文件及其证书授权是不同的,因此,可信执行环境TEE在确定第一个操作系统启动后,会拒绝第二个操作系统的启动请求,从而导致第二个操作系统无法正常启动。
因此,当终端中包括至少两个操作系统时,如何使得该至少两个操作系统均能正常启动是亟需解决的问题。
发明内容
本发明实施例提供了一种操作系统的启动方法、装置和终端,当终端中包括至少两个操作系统时,使得该至少两个操作系统均能正常启动。
第一方面,本申请实施例提供了一种操作系统的启动方法,应用于终端,所述终端包括至少两个操作系统,所述操作系统的启动方法包括:
所述至少两个操作系统中的操作系统在启动时,获取进程文件;所述进程文件同时满足所述至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信。
将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
在所述进程文件对应的校验值与所述预设进程文件对应的校验值匹配成功时,所述操作系统启动。
在一种可能的实现方式中,所述获取进程文件,包括:
从所述终端中的根命名空间rootns中获取所述进程文件。
在一种可能的实现方式中,所述从所述终端中的根命名空间rootns中获取所述进程文件之前,还包括:
通过所述根命名空间rootns根据所述至少两个操作系统的证书授权,创建所述进程文件。
在一种可能的实现方式中,所述将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配,包括:
将所述进程文件发送给所述终端中的可信执行环境TEE。
通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
在一种可能的实现方式中,所述通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配之前,所述方法还包括:
通过根命名空间rootns调用所述可信执行环境TEE的初始化函数,并通过所述初始化函数将所述进程文件传递给所述TEE。
通过所述可信执行环境TEE存储所述进程文件,所述进程文件记为所述预设进程文件。
在一种可能的实现方式中,所述操作系统具有初始进程文件,所述方法还包括:
采用所述进程文件替换所述初始进程文件。
第二方面,本申请实施例还提供了一种操作系统的启动装置,应用于终端,所述终端包括至少两个操作系统,所述操作系统的启动装置可以包括:
获取单元,用于所述至少两个操作系统中的操作系统在启动时,获取进程文件;所述进程文件同时满足所述至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信。
处理单元,用于将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
启动单元,用于在所述进程文件对应的校验值与所述预设进程文件对应的校验值匹配成功时,所述操作系统启动。
在一种可能的实现方式中,所述获取单元,具体用于从所述终端中的根命名空间rootns中获取所述进程文件。
在一种可能的实现方式中,所述处理单元,还用于通过所述根命名空间rootns根据所述至少两个操作系统的证书授权,创建所述进程文件。
在一种可能的实现方式中,所述处理单元,具体用于将所述进程文件发送给所述终端中的可信执行环境TEE;并通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
在一种可能的实现方式中,所述处理单元,还用于通过根命名空间rootns调用所述可信执行环境TEE的初始化函数,并通过所述初始化函数将所述进程文件传递给所述TEE;并且通过所述可信执行环境TEE存储所述进程文件,所述进程文件记为所述预设进程文件。
在一种可能的实现方式中,所述操作系统具有初始进程文件,所述获取单元,还用于采用所述进程文件替换所述初始进程文件。
第三方面,本申请实施例还提供了一种终端,包括存储器和处理器;其中,
所述存储器,用于存储计算机程序。
所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行上述第一方面任一种可能的实现方式中所述的操作系统的启动方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述第一方面任一种可能的实现方式中所述的操作系统的启动方法。
由此可见,本申请实施例提供的操作系统的启动方法、装置和终端,在启动至少两个操作系统时,先获取同时满足至少两个操作系统的证书授权的进程文件,进程用于实现客户端应用和可信应用之间的通信;将获取的进程文件对应的校验值与预设进程文件对应的校验值进行匹配;在操作系统获取的进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,该操作系统启动,即通过同时满足两个操作系统证书授权的进程文件保证至少两个操作系统的进程文件对应的校验值与预设进程文件对应的校验值相同,使得该至少两个操作系统均能正常启动,从而解决了现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的一种操作系统的启动方法的流程示意图;
图3为本发明实施例提供的一种操作系统的启动装置的结构示意图;
图4为本发明实施例提供的一种操作系统的启动终端的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本发明的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本发明的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的操作系统的启动方法可以应用于终端中操作系统启动的场景中。现有技术中,对于双系统终端,假设双系统终端中包括AOS操作系统和Android操作系统两个操作系统,任一操作系统在启动时,是通过唯一的可信执行环境TEE确定操作系统能否启动。由于两个操作系统的进程文件及其证书授权是不同的,因此,可信执行环境TEE在确定第一个操作系统启动后,会拒绝第二个操作系统的启动请求,从而导致第二个操作系统无法正常启动。具体为:首先启动内核,然后启动root域,通过LXC的相关命令启动两个操作系统,其中某一系统在先启动时,会将自身初始的进程文件发送给与可信执行环境TEE,可信执行环境TEE将接收到的进程文件及其对应的校验值保存,作为操作系统与其进行交互的唯一凭证,并启动该操作系统。第二个操作系统启动时,同样需要将自身初始的进程文件发送给TEE进行校验。
但是,由于两个操作系统的进程文件及其证书授权是不同的,但是可信执行环境TEE是唯一的,因此,可信执行环境TEE在确定第一个操作系统启动后,会拒绝第二个操作系统的启动请求,从而导致第二个操作系统无法正常启动。因此,当终端中包括至少两个操作系统时,如何使得该至少两个操作系统均能正常启动是亟需解决的问题。
为了解决现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题,容易想到的技术方案为:采用双存储芯片的方法,具体为:通过安装一个切换开关,该切换开关有两种状态,两种状态下分别启用两个不同的存储芯片,启用的存储芯片与嵌入式CPU和内存芯片共同组成了一个可以运行一个操作系统的硬件单元,可实现两个操作系统的运行。当切换开关在两种状态下切换时,两种存储芯片进行切换,同时发出一个复位信号,硬件重新启动,从而启动了另一个存储芯片上的操作系统。但是,两种存储芯片需要的技术以及硬件要求很高,并且无法从根本上解决操作系统的启动问题。
基于上述论述,可结合图1所示,图1为本申请实施例提供的一种应用场景示意图,该终端包括根命名空间rootns、至少两个操作系统以及可信执行环境TEE,均可内置于终端中的芯片上。根命名空间rootns用于创建具有同时满足至少两个操作系统的证书授权,即可为至少两个操作系统提供进程文件,例如,进程可以为封装了libteec库的守护进程可信执行环境客户端代理(Trusted Execution Environment client Daemon,简称teecd),进程文件即为teecd文件,该进程文件用于两个系统与可信执行环境TEE进行匹配;在操作系统启动前对可信执行环境TEE进行初始化设置,即调用可信执行环境TEE的初始化函数,使可信执行环境TEE保存其进程文件及其对应校验值。操作系统启动时,可以先从根命名空间rootns中获取为至少两个操作系统提供进程文件,并通过获取的进程文件与可信执行环境TEE进行交互,以使TEE确定是否允许操作系统正常启动。
结合图1所示,为了解决现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题,本申请实施例提供了一种操作系统的启动方法,至少两个操作系统中的操作系统在启动时,先获取进程文件;该进程文件同时满足至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信;再将操作系统获取到的进程文件对应的校验值与可信执行环境TEE中预设进程文件对应的校验值进行匹配,在获取的进程文件对应的校验值与可信执行环境TEE预设进程文件对应的校验值匹配成功时,则操作系统启动。
示例的,可结合图1所示,操作系统可以从根命名空间rootns中获取进程文件,当然,也可以从其它类似于从根命名空间rootns的程序中获取进程文件,在此,本申请实施例只是以操作系统可以从根命名空间rootns中获取进程文件为例进行说明,但并不代表本申请实施例仅局限于此。
由此可见,本申请实施例中,在启动至少两个操作系统时,先获取同时满足至少两个操作系统的证书授权的进程文件,进程用于实现客户端应用和可信应用之间的通信;将获取的进程文件对应的校验值与预设进程文件对应的校验值进行匹配;在操作系统的进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,该操作系统启动,即通过同时满足两个操作系统证书授权的进程文件保证至少两个操作系统的进程文件对应的校验值与预设进程文件对应的校验值相同,使得该至少两个操作系统均能正常启动,从而解决了现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本发明实施例提供的一种操作系统的启动方法的流程示意图,应用于终端,终端包括至少两个操作系统。该操作系统的启动方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为操作系统的启动装置,该操作系统的启动装置可以集成在终端中。示例的,请参见图2所示,该操作系统的启动方法可以包括:
S201、至少两个操作系统中的操作系统在启动时,获取进程文件。
其中,进程文件同时满足至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信。
示例的,至少两个的数量可以为两个,也可以为多个,具体可以根据实际需要进行设置,在此,对于至少两个的数量,本申请实施例不做进一步地限制。当包括两个操作系统时,该两个操作系统可以为AOS操作系统和Android操作系统。
以进程为teecd为例,至少两个操作系统中的操作系统在启动时,可以理解为至少两个操作系统中的任意一个操作系统启动时,操作系统均可以先获取teecd文件。以操作系统从根命名空间rootns中获取同时满足至少两个操作系统的证书授权的teecd文件为例,该根命名空间rootns可以根据至少两个操作系统的证书授权,创建同时满足至少两个操作系统的证书授权的teecd文件,这样操作系统就可以从根命名空间rootns中获取同时满足至少两个操作系统的证书授权的teecd文件。
在获取到该同时满足至少两个操作系统的证书授权的teecd文件后,可以将该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件,将该操作系统的teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配,从而根据匹配结果确定是否允许操作系统启动,即执行下述S202和S203。
可以理解的是,在将该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件时,在一种情况下,操作系统不具有其初始teecd文件,则在获取到该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件时,可以直接将该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件。在另一种情况下,操作系统具有其初始teecd文件,则在获取到该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件时,可以用该teecd文件替换初始teecd文件,从而将该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件。在又一种情况下,操作系统具有其初始teecd文件,则在获取到该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件时,无需用该teecd文件替换初始teecd文件,可以同时保存这两个不同的teecd文件,只是后续在验证时,将该同时满足至少两个操作系统的证书授权的teecd文件作为操作系统的teecd文件进行验证即可。
S202、将获取的进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
继续以进程为teecd为例,示例的,在将获取的teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配时,可以先将获取到的teecd文件发送给终端中的可信执行环境TEE;并通过TEE将获取到的teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配,从而根据匹配结果确定是否允许操作系统启动。
可以理解的是,在本申请实施例中,在通过TEE将获取到的teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配时,对于可信执行环境TEE而言,需要先获取到该预设teecd文件。示例的,TEE在获取预设teecd时,可以先通过根命名空间rootns调用可信执行环境TEE的初始化函数,通过初始化函数的过程将teecd文件传递给可信执行环境TEE,以使可信执行环境TEE获取到该teecd文件,该teecd即为预设teecd文件,并存储该预设teecd文件,这样TEE就可以将该预设teecd文件作为匹配依据进行匹配。
S203、在获取的进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,操作系统启动。
由此可见,本申请实施例提供的操作系统的启动方法,至少两个操作系统中的操作系统在启动时,先获取同时满足至少两个操作系统的证书授权的进程文件,进程用于实现客户端应用和可信应用之间的通信;将获取的进程文件对应的校验值与预设进程文件对应的校验值进行匹配;在操作系统的进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,该操作系统启动,即通过同时满足两个操作系统证书授权的进程文件保证至少两个操作系统的进程文件对应的校验值与预设进程文件对应的校验值相同,使得该至少两个操作系统均能正常启动,从而解决了现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题。
为了便于理解本申请实施例提供的操作系统的启动方法,下面,将以至少两个操作系统包括AOS操作系统和Android操作系统,进程文件为teecd文件为例,rootns会根据AOS操作系统和Android操作系统的证书授权,创建满足AOS操作系统和Android操作系统的证书授权的teecd文件,即rootns在代码中集成实现AOS操作系统和Android操作系统的电子服务(Certificate Authority,简称CA)认证功能;且rootns在启动过程中,调用可信执行环境TEE的初始化函数,并通过初始化函数将预设teecd文件传递给TEE,同时由于是初次调用TEE,TEE将会把预设rootns的teecd文件的校验值保存记录下来,可以看出,rootns只负责初始化TEE环境,与TEE无业务交互。
rootns通过LXC(Linux Container),创建两个容器,分别运行AOS操作系统和Android操作系统。假设AOS操作系统先启动,Android操作系统后启动。AOS操作系统在启动时,可以拷贝rootns的teecd文件覆盖自身初始的teecd文件,并将拷贝的teecd文件发送给终端中的可信执行环境TEE;TEE将teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配,由于预设teecd文件也是rootns调用可信执行环境TEE的初始化函数,并通过初始化函数将预设teecd文件传递给TEE的,因此,TEE经过校验后,可以得出AOS操作系统的teecd文件对应的校验值与预设teecd文件对应的校验值匹配成功,AOS操作系统启动。Android操作系统在启动时,可以拷贝rootns的teecd覆盖自身初始的teecd文件,并将拷贝的teecd文件发送给终端中的可信执行环境TEE;TEE将teecd文件对应的校验值与预设teecd文件对应的校验值进行匹配,由于预设teecd文件也是rootns调用可信执行环境TEE的初始化函数,并通过初始化函数将预设teecd文件传递给TEE的,因此,TEE经过校验后,可以得出teecd文件对应的校验值与预设teecd文件对应的校验值匹配成功,Android操作系统启动。由此可见,在本申请实施例中,通过同时满足AOS操作系统和Android操作系统授权的teecd文件保证AOS操作系统和Android操作系统的teecd文件对应的校验值与预设teecd文件对应的校验值相同,使得该AOS操作系统和Android操作系统均能正常启动,从而解决了现有技术中仅能够成功启动第一个操作系统,而其它操作系统无法启动的问题。
图3为本申请实施例提供的一种操作系统的启动装置30的结构示意图,应用于终端,终端中包括至少两个操作系统,示例的,请参见图3所示,该操作系统的启动装置30可以包括:
获取单元301,用于至少两个操作系统中的操作系统在启动时,获取进程文件;其中进程文件同时满足至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信。
处理单元302,用于将进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
启动单元303,用于在进程文件对应的校验值与预设进程文件对应的校验值匹配成功时,所述操作系统启动。
可选的,获取单元301,具体用于从终端中的根命名空间rootns中获取进程文件。
可选的,处理单元302,还用于通过根命名空间rootns根据至少两个操作系统的证书授权,创建进程文件。
可选的,处理单元302,具体用于将进程文件发送给终端中的可信执行环境TEE;并通过可信执行环境TEE将进程文件对应的校验值与预设进程文件对应的校验值进行匹配。
可选的,处理单元302,还用于通过根命名空间rootns调用可信执行环境TEE的初始化函数,并通过初始化函数将进程文件传递给可信执行环境TEE;并且通过可信执行环境TEE存储进程文件,该进程文件记为预设进程文件。
可选的,操作系统具有初始进程文件,获取单元301,还用于采用进程文件替换初始进程文件。
本申请实施例提供的操作系统的启动装置,可以执行上述任一实施例中的操作系统的启动方法的技术方案,其实现原理以及有益效果与操作系统的启动方法的实现原理及有益效果类似,可参见操作系统的启动方法的实现原理及有益效果,此处不再进行赘述。
图4为本发明实施例提供的另一种操作系统的启动终端40的结构示意图,示例的,请参见图4所示,该操作系统的启动终端40可以包括处理器401和存储器402;其中,
所述存储器402,用于存储计算机程序。
所述处理器401,用于读取所述存储器402存储的计算机程序,并根据所述存储器402中的计算机程序执行上述任一实施例中的偏载处理方法的技术方案。
可选地,存储器402既可以是独立的,也可以跟处理器401集成在一起。当存储器402是独立于处理器401之外的器件时,操作系统的启动终端40还可以包括:总线,用于连接存储器402和处理器401。
可选地,本实施例还包括:通信接口,该通信接口可以通过总线与处理器401连接。处理器401可以控制通信接口来实现上述操作系统的启动终端40的接收和发送的功能。
本发明实施例所示的操作系统的启动终端40,可以执行上述任一实施例中的操作系统的启动方法的技术方案,其实现原理以及有益效果与操作系统的启动方法的实现原理及有益效果类似,可参见操作系统的启动方法的实现原理及有益效果,此处不再进行赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一实施例中的操作系统的启动方法的技术方案,其实现原理以及有益效果与操作系统的启动方法的实现原理及有益效果类似,可参见操作系统的启动方法的实现原理及有益效果,此处不再进行赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所展示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元展示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。
应理解的是,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种操作系统的启动方法,其特征在于,应用于终端,所述终端包括至少两个操作系统,所述方法包括:
所述至少两个操作系统中的操作系统在启动时,获取进程文件;所述进程文件同时满足所述至少两个操作系统的证书授权,所述进程用于实现客户端应用和可信应用之间的通信;
将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配;
在所述进程文件对应的校验值与所述预设进程文件对应的校验值匹配成功时,所述操作系统启动;
所述将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配,包括:
将所述进程文件发送给所述终端中的可信执行环境TEE;
通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配;
所述通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配之前,所述方法还包括:
通过根命名空间rootns调用所述可信执行环境TEE的初始化函数,并通过所述初始化函数将所述进程文件传递给所述TEE;
通过所述可信执行环境TEE存储所述进程文件,所述进程文件记为所述预设进程文件。
2.根据权利要求1所述的方法,其特征在于,所述获取进程文件,包括:
从所述终端中的根命名空间rootns中获取所述进程文件。
3.根据权利要求2所述的方法,其特征在于,所述从所述终端中的根命名空间rootns中获取所述进程文件之前,还包括:
通过所述根命名空间rootns根据所述至少两个操作系统的证书授权,创建所述进程文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述操作系统具有初始进程文件,所述方法还包括:
采用所述进程文件替换所述初始进程文件。
5.一种操作系统的启动装置,其特征在于,应用于终端,所述终端包括至少两个操作系统,所述装置包括:
获取单元,用于所述至少两个操作系统中的操作系统在启动时,获取进程文件;所述进程文件同时满足所述至少两个操作系统的证书授权,进程用于实现客户端应用和可信应用之间的通信;
处理单元,用于将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配;
启动单元,用于在所述进程文件对应的校验值与所述预设进程文件对应的校验值匹配成功时,所述操作系统启动;
所述处理单元,具体用于将所述进程文件发送给所述终端中的可信执行环境TEE;并通过所述TEE将所述进程文件对应的校验值与预设进程文件对应的校验值进行匹配;
所述处理单元,还用于通过根命名空间rootns调用所述可信执行环境TEE的初始化函数,并通过所述初始化函数将所述进程文件传递给所述TEE;并且通过所述可信执行环境TEE存储所述进程文件,所述进程文件记为所述预设进程文件。
6.根据权利要求5所述的装置,其特征在于,
所述获取单元,具体用于从所述终端中的根命名空间rootns中获取所述进程文件。
7.根据权利要求6所述的装置,其特征在于,
所述处理单元,还用于通过所述根命名空间rootns根据所述至少两个操作系统的证书授权,创建所述进程文件。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述操作系统具有初始进程文件,所述获取单元,还用于采用所述进程文件替换所述初始进程文件。
9.一种终端,其特征在于,包括存储器和处理器;其中,
所述存储器,用于存储计算机程序;
所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行上述权利要求1-4任一项所述的操作系统的启动方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述权利要求1-4任一项所述的操作系统的启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010968714.7A CN114185602B (zh) | 2020-09-15 | 2020-09-15 | 操作系统的启动方法、装置和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010968714.7A CN114185602B (zh) | 2020-09-15 | 2020-09-15 | 操作系统的启动方法、装置和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114185602A CN114185602A (zh) | 2022-03-15 |
CN114185602B true CN114185602B (zh) | 2023-08-22 |
Family
ID=80539200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010968714.7A Active CN114185602B (zh) | 2020-09-15 | 2020-09-15 | 操作系统的启动方法、装置和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185602B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN105930730A (zh) * | 2015-09-22 | 2016-09-07 | 中国银联股份有限公司 | 在可信执行环境下终端系统安全更新方法及装置 |
CN106462422A (zh) * | 2014-11-20 | 2017-02-22 | 宇龙计算机通信科技(深圳)有限公司 | 用于多系统终端的系统升级方法、升级装置和终端 |
CN106951253A (zh) * | 2017-03-21 | 2017-07-14 | 广州慧睿思通信息科技有限公司 | 一种嵌入式固件在线升级方法 |
CN108307674A (zh) * | 2016-12-02 | 2018-07-20 | 华为技术有限公司 | 一种保障终端安全的方法和设备 |
CN110443049A (zh) * | 2019-07-17 | 2019-11-12 | 南方电网科学研究院有限责任公司 | 一种安全数据存储管理的方法、系统及安全存储管理模块 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10825480B2 (en) * | 2017-05-31 | 2020-11-03 | Apple Inc. | Automatic processing of double-system recording |
CN115640567B (zh) * | 2022-09-28 | 2024-02-27 | 北京瑞莱智慧科技有限公司 | Tee完整性认证方法、装置、系统及存储介质 |
-
2020
- 2020-09-15 CN CN202010968714.7A patent/CN114185602B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN106462422A (zh) * | 2014-11-20 | 2017-02-22 | 宇龙计算机通信科技(深圳)有限公司 | 用于多系统终端的系统升级方法、升级装置和终端 |
CN105930730A (zh) * | 2015-09-22 | 2016-09-07 | 中国银联股份有限公司 | 在可信执行环境下终端系统安全更新方法及装置 |
CN108307674A (zh) * | 2016-12-02 | 2018-07-20 | 华为技术有限公司 | 一种保障终端安全的方法和设备 |
CN106951253A (zh) * | 2017-03-21 | 2017-07-14 | 广州慧睿思通信息科技有限公司 | 一种嵌入式固件在线升级方法 |
CN110443049A (zh) * | 2019-07-17 | 2019-11-12 | 南方电网科学研究院有限责任公司 | 一种安全数据存储管理的方法、系统及安全存储管理模块 |
Also Published As
Publication number | Publication date |
---|---|
CN114185602A (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763099B (zh) | 系统的启动方法、装置、电子设备和存储介质 | |
US9081596B2 (en) | Information processing device, virtual machine creation method, and application distribution system | |
US20150074386A1 (en) | Boot method and boot system | |
CN109710317B (zh) | 系统启动方法、装置、电子设备及存储介质 | |
CN114257551A (zh) | 一种分布式限流的方法及系统、存储介质 | |
CN110162429B (zh) | 系统修复方法、服务器及存储介质 | |
CN111736909B (zh) | 操作系统的启动方法、装置、计算机设备及存储介质 | |
CN107844306B (zh) | 应用程序的修复方法、装置、存储介质及终端 | |
CN115378735B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN107567629A (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
CN111177703B (zh) | 操作系统数据完整性的确定方法及装置 | |
CN112000382A (zh) | 一种Linux系统启动方法、装置及可读存储介质 | |
CN115062307A (zh) | 基于Open POWER的程序完整性校验方法、系统、终端及存储介质 | |
CN113792280A (zh) | 指纹访问方法、装置、设备及存储介质 | |
CN114185602B (zh) | 操作系统的启动方法、装置和终端 | |
US10572166B1 (en) | Firmware download for a solid state storage card | |
CN115827522A (zh) | Bios的设置方法、bios芯片和电子设备 | |
CN115878327A (zh) | 总线预留方法、装置、服务器、电子设备和存储介质 | |
CN111158771B (zh) | 处理方法、装置及计算机设备 | |
CN114124524A (zh) | 一种云平台权限设置方法、装置、终端设备及存储介质 | |
CN113010197A (zh) | 应用静默升级方法、系统、终端设备及存储介质 | |
CN107315951B (zh) | 一种程序安装包反拦截方法及装置 | |
CN116150116B (zh) | 文件系统共享的方法、装置、电子设备及存储介质 | |
CN117093351B (zh) | 应用多开方法、装置、计算机设备以及存储介质 | |
CN114691229B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |