[发明专利]一种基于非阻塞方式加速系统可信链构建的方法有效
申请号: | 202010891715.6 | 申请日: | 2020-08-28 |
公开(公告)号: | CN112073187B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 张超;卢炬;吴平;唐剑;余彧;高杰;曹胜明 | 申请(专利权)人: | 江苏卓易信息科技股份有限公司;南京百敖软件有限公司;上海百之敖信息科技有限公司;昆山百敖电子科技有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 无锡知初知识产权代理事务所(普通合伙) 32418 | 代理人: | 高春涛 |
地址: | 214205 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 阻塞 方式 加速 系统 可信 构建 方法 | ||
1.一种基于非阻塞方式加速系统可信链构建的方法,其特征在于:在系统启动阶段,通过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程,使系统初始化和可信链构造过程得以并行或交替执行,实现提升系统任务吞吐量,加快系统启动速度,减少系统不可用时间间隔;
系统内存初始化完毕后,创建独立的可信链构造线程,所述独立的可信链构造线程包括支持其独立运行的独立的堆、堆栈以及上下文,且包含TPM设备驱动;所述独立的可信链构造线程提供阻塞和非阻塞式通信原语;系统初始化程序通过非阻塞式通信原语向可信链构造线程提交度量请求;
系统初始化线程在提交可信度量请求以后,继续执行,保持与可信链构造线程并行;系统初始化线程持续运行使用已被度量过的代码和数据;与此同时,可信链构建任务线程则并行处理未度量过的代码和数据块;
如果系统具有多个CPU核心,系统初始化线程和可信构建任务线程在多核处理器上可保持时域并行;利用BSP和AP的计算资源来独立进行系统初始化和系统完整性度量,并发调度算法的具体流程如下:
1)初始化系统,初始化满足线程运行需求的资源;
2)初始化完成后,系统创建两个独立线程: 系统初始化线程和可信链构造线程,将两线程调度到BSP和AP不同的计算核心上,两线程在执行过程将操作独立的数据和硬件,能保持自然并行而无需复杂的线程间同步;
3)系统初始化线程将pre-boot stage1 执行所需度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行pre-boot stage0初始化任务,两线程此后保持并行执行;
4)系统初始化线程将pre-boot stage2 执行需要度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行pre-boot stage1初始化任务,两线程此后保持并行执行;
5)当系统初始化线程需要使用的数据,代码或环境仍未被度量时,系统初始化线程将阻塞以等待度量完成。
2.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:如果系统初始化线程需要使用的代码和数据仍未完成度量时,为保证先度量后使用的安全顺序,系统初始化线程将保持阻塞,直至度量完成;系统初始化线程采用忙等待或交出控制权的方式阻塞自身,直至系统可信构建任务线程完成相关代码和数据度量。
3.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:多个CPU内核利用独立的计算单元Boot Strapping Processor 和Application Processor来并行执行两个线程,以达到时域上的并行。
4.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:如果系统仅有单一CPU核心,系统初始化线程和可信构建任务线程在单核处理器上保持时分并行,当系统初始化线程空闲或忙等时,出让处理器资源,调度可信链构造线程执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏卓易信息科技股份有限公司;南京百敖软件有限公司;上海百之敖信息科技有限公司;昆山百敖电子科技有限公司,未经江苏卓易信息科技股份有限公司;南京百敖软件有限公司;上海百之敖信息科技有限公司;昆山百敖电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010891715.6/1.html,转载请声明来源钻瓜专利网。