当前位置:首页 > 虚拟化 > 正文

全虚拟化的原理(全虚拟化半虚拟化硬件虚拟化)


一、cpu特权执行的模拟执行方法有CPU特权实现的模拟执行方法如下:
1.全虚拟化:GuestOS下发特权指令,创建未授权进程,运行vmm获取GuestOS下发的特权指令,进行编译执行,反馈给GuestOS系统。,这使得GuestOS认为我处于循环模式0。这种VMM获取、翻译和反馈效率很低。
2。虚拟化:修改GuestOS,使其拥有特权指令,并设置为通过函数调用来执行,让vmm直接执行。但效率仍然较低。
3。硬件辅助虚拟化:CPU有两种模式:Root模式工作在该模式下。非root模式-客户机在此模式下运行,CPU通过中断机制在两种模式之间切换。在这种情况下,访客可以直接发出特权指令并让设备执行它们。
二、说一说什么是虚拟化?

1.什么是虚拟化?

虚拟化是一个广义的术语,意味着计算机组件在虚拟的基础上运行,而不是在真实的基础上运行。它是一种简化管理和优化资源的方法。就像一栋开放透明的办公楼,整层几乎看不到墙体,用户可以以相同的成本建造出更加独立、合适的办公空间,从而节省成本,实现空间利用率的最大化。这种根据需要重新调度有限的固定资源以实现最大利用率的想法在IT领域被称为虚拟化技术。

虚拟化技术可以扩展硬件的容量并简化软件的重新配置过程。CPU虚拟化技术可以用单个CPU模拟多个CPU并行,使一个平台可以同时运行多个操作系统,应用程序可以在独立的区域运行而不互相影响,大大提高了计算机工作的效率。

虚拟化技术与多任务和超线程技术有着本质的区别。多任务处理是指在一个操作系统中同时运行多个程序。在虚拟化技术中,多个操作系统可以同时运行,每个操作系统运行多个程序,超线程技只是用单个CPU模拟两个CPU,以平衡程序运行性能。两个模拟的CPU不能分开,只能一起工作。

虚拟化技术也不同于VMwareWorkstation等软件,同样可以实现虚拟效果。这是一项巨大的技术进步,特别体现在与软件虚拟机相关的开销的减少以及对更广泛操作系统的支持。

虚拟化技术有很多定义,下面列出了其中一些定义。

“虚拟化是以用户和应用程序可以轻松从中受益的方式表示计算资源的过程,而不是通过这些资源的专有实施、地理位置或物理包装。表示类型。”换句话说,它提供了数据、计算能力、存储资源和其他资源的逻辑视图。”-JonathanEunice,IlluminataInc.

“虚拟化是表示逻辑的过程。计算机资源组(或子集),以便可以从原始配置中受益的方式访问它们。这种新的资源虚拟视图不受底层资源的实现、地理位置或物理配置的任何限制。”-维基百科

“虚拟化:为一组对象提供一组通用的抽象接口相似的资源,从而“隐藏属性和操作之间的差异”,并提供一种查看和管理资源的通用方法”——OpenGridServicesArchitectureGlossaryofTerms。