上篇系列文章从整体上描述了TEE和Hypervisor在新时代的定位和意义,本文重点聊聊两者的技术本质和新时代的特征需求。
一.技术本质区别
The Nature Of Technology
TEE和Hypervisor本质上都是虚拟化技术,都需要底层芯片架构的支撑,大多数情况下两者的区别在于TEE是一种被动式虚拟化技术 ,Hypervisor通常是一种主动式虚拟化技术。通俗点讲, TEE大多数时间处于被动休眠模式不占用系统算力,只有当有可信或隐私计算需求时,TEE才会运行在前台,并且TEE在运算完成后会再将计算资源归还给REE(如Android)。相比之下, Hypervisor作为重要的资源管理基础时刻运行在前台,主动地为各个虚拟机提供虚拟计算资源,除了CPU计算资源外,Hypervisor还提供GPU虚拟化、设备虚拟化等更丰富的功能。特别是GPU虚拟化,未来在智能驾舱、元宇宙等应用场景中将起到至关重要的作用。下图展示了在ARM(主要是v8架构)和Intel两大芯片架构下TEE和Hypervisor映射关系:
很多人看到上面这个图会心生疑问, Intel 对应TEE的技术不是SGX吗,怎么是跑在Ring -3【1】的Minix