王朝百科
分享
 
 
 

VMware公司

王朝百科·作者佚名  2010-03-06  
宽屏版  字体: |||超大  

VMware公司目前为EMC公司的全资子公司。

公司类型

上市公司(NYSE:VMW )

成立时间

1998年

总部地点

美国加州帕罗奥多Hillview大道3401号

邮政编号

94304

服务范围

{{{area_served}}}

电话号码

+1 877-486-9273

+1 650-427-5000

VMware工作站 (VMware Workstation)是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86兼容计算机的虚拟机套装,其允许多个x86虚拟机同时被创建和运行。每个虚拟机实例可以运行其自己的客户机操作系统,如(但不限于)Windows、Linux、BSD变生版本。用简单术语来描述就是,VMware工作站允许一台真实的计算机同时运行数个操作系统。其它VMware产品帮助在多个宿主计算机之间管理或移植VMware虚拟机。

描述

运行VMware工作站进程的计算机和操作系统实例被称为宿主机.在一个虚拟机中运行的操作系统实例被称为虚拟机客户。类似仿真器,VMware工作站为客户操作系统提供完全虚拟化的硬件集-例如,客户机只会检测到一个AMD PCnet网络适配器,而和宿主机上真正安装的网络适配器的制造和型号无关。VMware在虚拟环境中将所有设备虚拟化,包括视频适配器、网络适配器、以及硬盘适配器。它还为USB、串行和并行设备提供传递驱动程序(pass-through drivers,指将对这些虚拟设备的访问传递到真实物理设备的驱动程序)。

由于与宿主机的真实硬件无关,所有虚拟机客户使用相同的硬件驱动程序,虚拟机实例是对各种计算机高度可移植的。例如,一个运行中的虚拟机可以被暂停下来,并被拷贝到另外一台作为宿主的真实计算机上,然后从其被暂停的确切位置恢复运行。借助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工作站在用于测试客户端-服务器环境时特别有用。

VMware公司新的企业级服务器和工具产品正在使将旧的生产服务器移植到虚拟机的做法开始流行,这种做法能几乎不费力地将多个旧式服务器集装到一个单个的新宿主计算机中。

问题

较早版本的VMware似乎不能运行较新版本的Linux (在运行于VMware 2.x时,2.4系列的内核好像有问题;2.6系列的内核会导致VMware 3.x报告保护错误)。不过VMware工作站现在已经升级到能支持那些较新的操作系统和内核的5.0版本。但是对最新的2.6.x版本的内核还是必须要打个补丁-即便使用的是VMware工作站5.0版。名字为 vmware-any-any-update9x 的该补丁可免费获得(目前名字的最后部分是update93)。在Google里搜索一下能得到许多下载地址。

另外,VMware工作站在用于将MAC地址用作唯一识别标记(UID)的环境中时,最好是(通常也是必须)为每个虚拟机手工配置MAC地址以保证每个MAC地址确实是唯一的。这类环境的一个例子是在网络交换机上启用MAC安全机制(例如端口绑定)的情况,另一个例子是使用Altiris产品的环境(在配置为将MAC地址作为UID时)。该情况下,可以简单地禁用除被桥接的所有网络/适配器,并编辑每个虚拟机的.vmx文件,将其中"ethernet0.address"改为唯一的MAC地址、以及将"ethernet0.addresstype"改为"static"。同时请确保将"ethernet0.generatedaddress"项整个删除。

参见

用户模式的Linux

Xen

虚拟机比较

Virtual PC

QEMU

外部链接

[http://www.vmware.com/ VMware 网站]

[http://www.vmware.com/community/index.jspa VMware VMTN 论坛]

[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=6397242.WKU.&OS=PN/6397242&RS=PN/6397242 VMware 专利申请 6,397,242,包含有对技术的详细解释]

[http://www.debian.org/doc/manuals/reference/ch-tips.en.html Chroot]

[http://www.vmts.net/ 虚拟机-终端服务器]

[http://linuxwiki.de/VMware 德语 wiki]

[http://www.vmaschinen.de/ 德语技巧和指南]

[http://www.run-virtual.com/ 虚拟计算]

[news://news.vmware.com VMware 新闻组]

[http://www.vmware.com/support/ws5/doc/ws_vidsound_d3d.html VMware工作站 版本5 - 对Direct3D的实验性支持]

[http://portal.dfpug.de/dFPUG/Dokumente/Partner/Linuxtransfer/installation_vmwarescreenshots.pdf 使用VMware捕获Linux安装屏幕(pdf)]

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有