由于与宿主机的真实硬件无关 , 所有虚拟机客户使用相同的硬件驱动程序 , 虚拟机实例是对各种计算机高度可移植的 。例如 , 一个运行中的虚拟机可以被暂停下来 , 并被拷贝到另外一台作为宿主的真实计算机上 , 然后从其被暂停的确切位置恢复运行 。借助VMware的VirtualCenter(虚拟机中心)产品中一种称为Vmotion的新功能 , 甚至可以在移动一个虚拟机时不必将其暂停–就是说现在即使在向不同的宿主机上移植虚拟机时 , 这些虚拟机仍然可以保持运行 。
实现
传统的模拟器 , 如Bochs , 透过调用宿主机上的软体子程序逐条执行每一道客户机的CPU指令 , 以此模拟客户机的微处理器 。这种抽象化的方法 , 可使宿主机模拟出不同于自身微处理器的环境 , 让客户机运行 。然而这类模拟器运行得非常慢 。
一种更有效率的方式是在初次执行客户机指令时动态地重新编译那些机器指令块 , 以后用到这些指令时直接执行经过翻译的代码 。这种方式是由微软的Virtual PC for Mac OS X产品、以及Fabrice Bellard的QEMU产品(不含近期的kqemu附加模块)所使用的方式 。
和Virtual PC for Windows产品及带有kqemu附加模块的QEMU产品一样 , VMware工作站使用了一种更加优化的方式 , 在尽可能的情况下直接运行程序代码 , 在x86中这是执行用户模式和虚拟8086模式的程序代码的情况而言 。当不能直接运行程序代码时 , 这几种软件产品会动态地重写代码 , 这是在执行内核级别和实模式的程序代码的情况而言 。在VMware中 , 经过翻译的代码是被放入内存的空闲区域中的 , 一般是在地址空间的尾部 , 这个区域可以随即被保护起来并通过分段机制标记为不可见的 。由于这些原因 , VMware比仿真器显著地快 , 能以超过在真实硬件上运行速度的80%的速度运行虚拟的客户操作系统 。VMware对在运行高强度计算的应用程序时只有小到3%-5%的效能损耗而自豪 。
缺点是客户操作系统的指令代码必须和宿主机的CPU兼容 。因此不同于仿真器 , VMware工作站不能用来在一个英特尔x86处理器上运行Mac/PPC软件 。另一个缺点是通常不可能有效率地嵌套使用VMware虚拟机(指在虚拟机客户中运行另一个VMware虚拟机 , 即以一个虚拟机客户作为宿主机再运行VMware) 。最后 , 尽管VMware虚拟机是运行于用户模式下的 , VMware工作站宿主程序本身必须在宿主操作系统下安装多种驱动程序 , 尤其是为了能动态切换GDT和IDT表 。
最后一点说明:经常有人错误地认为象VMware或Virtual PC这类虚拟机产品是替换不良指令或简单地在用户模式下运行内核代码 。这两种方式都不能用于x86 。替换指令的意思可以这么理解:假设要执行指令试图读取该指令本身的代码 , 它会吃惊地发现没有找到预期的内容 。因为实际上不可能在允许指令正常执行的同时又保护其代码不被读取 , 要实现指令替换是复杂的 。在用户模式下不加改变地运行代码同样也是不可能的 , 这是因为在用户模式下 , 大部分仅读取机器状态的指令不产生异常、也不能正确反映程序的真实状态 , 此外某些指令的行为会悄悄地有所变化 。重写指令总是必需的;必要时会模拟初始位置的当前指令指针 , 硬编码的断点也特别地会被重新映射 。
特点
除了为到网络适配器、CD-ROM读盘机、硬盘驱动器、以及USB设备的访问提供桥梁外 , VMware工作站还提供模拟某些硬件的能力 。例如 , 能将一个ISO文件作为一张CDROM安装在系统上、也能将.vmdk文件作为硬盘驱动器安装、以及可将网络适配器驱动程序配置为通过宿主计算机使用网络地址转换(NAT)来访问网络 , 而非使用与宿主机桥接的方式(该方式为:宿主网络上的每个客户操作系统必须分配一个IP地址) 。
VMware工作站还允许无须将LiveCD烧录到真正的光盘上、也无须重启计算机 , 而对这些LiveCD进行测试 。还可以捕获在VMware工作站下运行的某个操作系统的快照 。每个快照可以用来在任何时候将虚拟机回滚到保存的状态 。这种多快照功能使VMware工作站成为销售人员演示复杂的软件产品、开发人员建立虚拟开发和测试环境的非常流行的工具 。VMware工作站包含有将多个虚拟机指定为编队的能力 , 编队可以作为一个物体来开机、关机、挂起和恢复—这使VMware工作站在用于测试客户端-服务器环境时特别有用 。
推荐阅读
- Win10下安装CentOS7双系统
- Centos7.6离线安装MySQL5.7.36
- VMware中linux系统配置自动桥接但没有分配到ip地址的问题
- Anaconda环境及Python语言的下载与安装方法
- 安装和购买监控摄像机的方法
- 木门如何正确安装才能隔音
- 怎么制作win11安装盘?win10启动盘制作教程
- 威朗原车屏加装倒车影像教程-威朗倒车影像模块安装步骤-
- 家用无线路由器怎么安装和设置,无线路由器怎么安装和设置tplink-
- 安装笔记本电脑系统步骤?笔记本装系统怎么操作