试题三(共25分)阅读以下关于嵌入式软件虚拟化方面的叙述,在答题纸上回答问题1至问题2。计算机虚拟化是一种新型的计算模式,能够动态组织多种计算资源,隔离硬件体系结构和软件系统之间的依赖关系,实现透明化、可伸缩的计算系统构架,提高计算资源的使用效率和遗产软件的重用。某公司是一家长期从事嵌入式软件研制的单位。随着虚拟化技术发展,公司决策层决定在公司原有嵌入式实时操作系统基础上,研制具备虚拟化能力的新一代嵌入式操作系统产品。公司将该项目的总体设计任务交给了王工,要求他充分调研用户需求,尽快拿出项目的计划书,并给出项目的技术实施途径。一个月后,王工向公司决策层提交了项目计划书和技术实施途径报告,在公司讨论会上引起技术争议,其焦点主要集中在两个方面:虚拟化体系架构问题和虚拟化中的安全因素问题。
[问题1](14分)当前虚拟化的实现技术主要有全虚拟化和半虚拟化两种,请用200字以内的文字说明两种虚拟化技术的主要差别,并用箭线指出图3-1所示的虚拟化特性分属哪种虚拟化技术。
参考答案:全虚拟化技术能够在硬件辅助虚拟化的支持下,运行任何不需要修改的客户操作系统;半虚拟化技术不需要硬件辅助虚拟化的支持,通过精心修改客户操作系统内核,在只把有限量内核代码替换为相应Hypercall 的基础上实现虚拟化的,如图3-2所示。
解析:本题主要考查嵌入式软件系统虚拟化的知识,考查内容较新,需要考生对虚拟化知识的基本概念及其在嵌入式软件系统中的应用具有一定的理解和认识。 本题第一问主要考查半虚拟化技术和全虚拟化技术的差异,考生需要明确全虚拟化技术能够在硬件辅助虚拟化的支持下运行任何不需要修改的客户操作系统;半虚拟化技术不需要硬件辅助虚拟化的支持,通过精心修改客户操作系统内核,在只把有限量内核代码替换为相应Hypercall 的基础上实现虚拟化的。 本题第二问主要考查全虚拟化和半虚拟化的特点。全虚拟化需要硬件结构支持,通用性高、过程简洁,虚拟化性能低,不需要修改客户操作系统。半虚拟化技术虚拟化性能高,需要修改客户操作系统,使用范围受到一定制约,但不受CPU硬件限制。