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

虚拟机架构图(dalvik虚拟机)


一、虚拟化技术KVM和XEN的区别虚拟化的类型
全虚拟化
全虚拟化也成为最初的虚拟化技术。该模型使用虚拟机来协调来宾操作系统和原始硬件。为了在来宾操作系统和裸硬件之间进行协调,虚拟机管理程序必须捕获并处理一些保护指令。
图1全虚拟化模型
全虚拟化运行速度比硬件模拟快,但性能不如裸机,因为hypervisor要占用一些资源。
半虚拟化
半虚拟化是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来共享对底层硬件的访问,但将虚拟化代码集成到来宾操作系统中。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地与虚拟进程配合使用。
图2半虚拟化模型
半虚拟化需要对来宾操作系统进行一些修改,以使其意识到自己处于虚拟化环境中;提供性能。与原来的操作系统类似。
虚拟化技术
基于内核的虚拟机(KVM)基于内核的虚拟机
KVM是集成到Linux内核和X86中的虚拟机管理程序。架构适用于Linux的完整虚拟化解决方案,其硬件支持虚拟化技术(IntelVT或AMD-V)。它是一个小型的Linux模块,使用Linux执行许多任务,包括调度任务、管理内存以及与硬件设备交互。
图3KVM虚拟化平台架构
Xen
Xen是第一种运行在裸机上的虚拟化管理器(管理程序)。Xen支持全虚拟化和半虚拟化,支持虚拟机管理程序和虚拟机之间的通信,并且可在所有版本的Linux上免费使用,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优势是半虚拟化。此外,未经修改的操作系统也可以直接在xen(例如Windows)上运行,从而有效地允许虚拟机无需模拟即可运行,从而允许虚拟机无需虚拟机管理程序即可连接到虚拟机管理程序。通过模拟虚拟硬件实现高性能。
图4Xen虚拟化平台架构
QEMU
QEMU是一组由FabriceBellard编写的模拟处理器的免费软件。它与Bochs和PearPC类似,但具有后两者所不具备的一些特性,例如高速和跨平台功能。QEMU可以通过开源加速器kqemu模拟接近真实计算机的速度。
KVM与QEMU的关系
准确的说,KVM是Linux
内核的一个模块。您可以使用modprobe命令加载KVM模块。加载模块后,您可以通过其他工具创建额外的虚拟机。然而,仅有KVM模块还不够。这是因为用户无法直接控制内核模块执行操作。您还需要拥有在用户空间中运行的工具。对于这个用户空间工具,kvm开发人员选择了已经成熟的开源虚拟化软件QEMU。QEMU也是虚拟化软件。它的特点是可以虚拟各种CPU。例如,PowerCPU可以在x86CPU上虚拟化,并用于编译可以在Power上运行的程序。KVM使用QEMU的部分内容并对其进行轻微修改,成为允许您控制KVM的用户空间工具。因此,您可以看到官方KVM下载有两个部分(qemu和kvm)和三个文件(KVM模块、QEMU工具以及这两个文件的集合)。这意味着您只能升级KVM模块或只能升级QEMU工具。这就是KVM和QEMU的样子。
图5KVM与QEMU关系


二、什么是cpu的虚拟化技术,有什么优势???

CPU虚拟化技术是指将计算机软件环境划分为许多独立的分区,每个分区在需要时可以模拟一台计算机的技术。其技术本质是通过中间层对计算机资源进行管理和重新分配,以实现资源利用率的最大化。

CPU虚拟化技术的优点在于,虽然虚拟化可以通过软件来完成,但是如果CPU硬件支持的话,执行效率会大大提高,操作系统也可能支持64位操作系统。

扩展资料:

虚拟化技术原理

虚拟机对真实计算和VMM领域所需要的环境进行抽象和模拟虚拟机被分配一组数据结构来管理它们的状态,包括所有虚拟处理器寄存器、物理内存使用、状态虚拟设备等。

当VMM调度虚拟机时,它会将其部分状态恢复到主机系统。并非所有状态都需要恢复。例如,主机的CR3寄存器存储的是VMM设置的页表的物理地址,而不是GuestOS设置的值。

主机处理器直接运行GuestOS机器指令。由于GuestOS运行在低权限级别,当访问主机系统的特权状态(例如写入GDT注册表)时,主机缺乏足够的权限。处理程序引发异常,此运行权限会自动返回给VMM。另外,外部中断的发生也会导致VMM运行。

参考来源:中关村在线-T博士讲你不懂的CPU技术术语