2012系分真题案例分析 嵌入式软件虚拟化
计算机虚拟化是一种型的计算模式, 能够动态组织多种计算资源, 隔离硬件体系结构和软件系
统之间的依赖关系, 实现透明化、 可伸缩的计算系统构架, 提高计算资源的使用效率和遗产软
件的重用。
某公司是一家长期从事嵌入式软件研制的单位。 随着虚拟化技术发展, 公司决策层决定在公司
原有嵌入式实时操作系统基础上, 研制具备虚拟化能力的新一代嵌入式操作系统产品。 公司将
该项目的总体设计任务交给了王工, 要求他充分调研用户需求, 尽快拿出项目的计划书, 并给
出项目的技术实施途径。 一个月后, 王工向公司决策层提交了项目计划书和技术实施途径报告, 在公司讨论会上引起技术争议, 其焦点主要集中在两个方面: 虚拟化体系架构问题和虚拟
化中的安全因素问题。
【问题 1】 (14 分)
当前虚拟化的实现技术主要有全虚拟化和半虚拟化两种, 请用 200 字以内的文字说明两
种虚拟化技术的主要差别, 并用箭线指出图 3-1 所示的虚拟化特性分属哪种虚拟化技
术。
【问题 2】 (11 分)
具有虚拟化能力的嵌入式实时操作系统目前仅支持单核处理器, 而不支持多核, 请用
100 字以内的文字说明其主要原因。 表 3-1 给出如果采用虚拟化技术支持多核时存在的四
种共享资源和四种潜在安全隐患, 请用箭线指出这些潜在安全隐患分别会发生在哪种共
享资源的环境下。
表 3-1 四种共享资源和四种潜在的安全隐患
分析过程:
什么是虚拟化?
虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。
什么是虚拟化技术?
把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域叫做虚拟化技术。
为什么需要虚拟化?
虚拟化的好处:使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。
虚拟技术划分 | 全虚拟化 | 半虚拟化 |
---|---|---|
概念 | 提供底层物理系统的全部抽象化,在硬件辅助虚拟化支持下, 创建一个新的虚拟系统,客户机操作系统可以在里面运行。不需要对客户机操作系统或者应用程序进行修改 | 半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改(这些客户机操作系统会意识到它们运行在虚拟环境里)并提供相近的性能 |
对比 | 优点:无需修改客户机操作系统,唯一限制操作系统支持底层硬件,现在一般都支持缺点:会占用一定资源,性能不及半虚拟化及裸机,但优于硬件模拟 | 优点:无需耗费Hypervisor资源进行翻译操作,性能比全虚拟化好。缺点:需要修改客户机操作系统 |
实现方式 | 方式一:第一层:App App 第二层 Guest OS Guest OS 第三层:Hypervisor(VMM-虚拟机管理程序) 第四层:Hardware 方式二:第一层:App App 第二层 Guest OS Guest OS 第三层:Hypervisor(VMM-虚拟机管理程序) 第四层: 实际的操作系统 第五层:Hardware | 第一层:App App 第二层 Modifyed Guest OS Guest OS 第三层:Hypervisor(VMM-虚拟机管理程序) 第四层:Hardware |
解答:
1.全虚拟化在硬件辅助虚拟化支持下, 创建一个新的虚拟系统,客户机操作系统可以在里面运行。不需要对客户机操作系统或者应用程序进行修改。半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改
全虚拟化技术特性: 需要硬件结构支持;通用性高,过程简单;虚拟化性能低;不需修改客户操作系统
半虚拟化技术特性:虚拟化性能高;需修改客户操作系统;使用范围受到制约;不受CPU硬件限制
- 主要原因是多核存在共享资源访问,虚拟化后会影响分区化的安全性。
共享引导逻辑: 执行影像的安全性受到潜在威胁
共享CACHE: 潜在的旁路通道遭数据泄露共计
共享I/O逻辑: 潜在的隐蔽通道攻击和服务拒绝攻击
结构的复杂性: 潜在的故障注入攻击
上一篇: 3D编程游戏2--太阳系--牧师与恶魔