2024年6月3日发(作者:)
一、虚拟机是什么?
虚拟机指的是在自己当前使用的操作系统(2000,XP)基础上安装并利用专门的虚拟机软件(常用
的有VMWARE和Microsoft的VPC)虚拟出若干台计算机,这些虚拟的多台计算机每台有各自的
CPU、内存、硬盘、光驱、软驱、网卡、声卡、键盘、鼠标、串口、并口、USB口等“硬件”设备,
当然这些硬件都是虚拟的,实质上它们还是用你计算机中相应的硬件。这些虚拟的计算机可以独立运
行,安装各自的操作系统,应用软件、杀毒软件等等,就好像平时用你的计算机一样使用它们。也可
以让它们连成一个网络。
你的真实计算机称为物理机,虚拟出来的计算机称为虚拟机。物理机上的OS称为HOST OS,可
以是2K/XP/2K3,在98下就别想用虚拟机了,但现在还有几个人还在用98?各台虚拟机上各自安装
的独立的OS称为GUEST OS,可以是DOS,也可以是WIN各种版本,甚至可以是UNIX/LINUX、
MAC OS等等。
一台物理机上能虚拟出多少台虚拟机取决于物理机的硬盘容量,你为一台虚拟机分配4G的硬盘
空间,可以一次就为其分配4G的物理硬盘空间供其使用,也可以让虚拟机根据当前需要逐步增大对
物理硬盘空间的占用,即随着虚拟机中硬盘中装的软件逐步增多而逐步增大对物理硬盘空间的占用。
你甚至可以在创建虚拟机后根据需要增加一个虚拟硬盘,还可以增加其它硬件设备,如虚拟机中的光
驱、网卡等等,还可以调整内存容量。
能同时开机的虚拟机数量取决于你的物理机硬件配置,主要是CPU和内存,尤其是内存。因为虚
拟机的CPU、内存这两个关键硬件资源都是使用物理机的CPU和内存,所以同时运行越多台虚拟机,
对物理机的CPU和内存消耗也越大,速度越慢。我的HP台机AMD 闪龙 3200+ CPU,1G双通道
内存,HOST OS为2K,可同时运行3台虚拟机,其OS分别为2K、XP PROF和XP PROF,再加上
物理机本身,相当于同时开启了4台计算机。几年前的旧台机和本本上只是PIII 800左右的CPU,256M
第 1 页 共 31 页
内存,HOST OS为2K,其上也还可运行一到二台虚拟机,GUEST OS为2K或XP,但是速度会慢点。
所以大家不要担心自己的机器配置不高而运行不了虚拟机。每次同时开启的虚拟机数量少点还是
可以应付的。在本本上运行虚拟机相对台机会慢点,毕竟本本的硬盘读写速度比较慢,而虚拟机需要
大量且经常读写硬盘。
需要的虚拟机软件VMWARE和VPC哪里下?自己搜吧,有破解版本,也有汉化版本的,网上很
多。注意
VMWARE 5以下版本安装完成必须重启HOST OS后才能使用,不适合安装有硬盘还原(保护)
卡的物理机使用,5以上版本(含5)不需重启HOST OS即可使用,适合学校机房和网吧。
二、谁要用虚拟机?虚拟机的基本作用是什么?
大家可能觉得大虾才要用虚拟机,菜鸟用什么虚拟机,虚拟机对菜鸟没什么用嘛。其实虚拟机对
谁都还是有用的。
对很多菜鸟来说,电脑出点问题,自己想重装机器,如CMOS设置、硬盘分区、格式化、装OS、
应用软件、杀毒软件等等都不会也不敢动手,生怕把自己的机器搞坏了。没错,如果对计算机不是太
熟悉,重装或者瞎折腾搞不好会把自己机器折腾出问题来的,如破坏、丢失数据等等。那是不是每次
就永远等着别人来帮助解决呢?如果你有钱让别人来为你服务,或者你有魅力让别人总是很乐意来帮
你那当然好,但为什么不自己试着动手学习呢?自己动手实践最能学到真本领,动手实践但又不想对
自己的爱机造成破坏,那就拿虚拟机开刀吧,在它身上练习,保证对你的物理机没有破坏。不过对菜
鸟来说要学会使用虚拟机本身确实并不比学电脑一般操作、使用、维护容易,甚至更难。但虚拟机毕
竟提供了一个不破坏自己机器的学习工具。至于不会,那就只有学习、学习、再学习了。。。学电脑都
第 2 页 共 31 页
是这样的。
对大虾来说,虚拟机那就更好用了。
如果你需要进行一些网络实验,但手头没有几台计算机、HUB/SWITCH等,你可以同时开启多
台虚拟机,让它们连成一个网络,甚至也可让它们上INTERET。多台虚拟机之间、虚拟机和物理机之
间也可通过虚拟网络共享文件,在它们之间复制文件。
如果你只熟悉WINDOWS,不熟悉但想学习UNIX/LINUX。不熟悉UNIX的用户如果直接在自
己的物理机上装UNIX/LINUX,那就可能影响到你的物理硬盘分区,让你连WIN也进不了。这时可
以在虚拟机上装UNIX/LINUX来学习,对你原来物理机上的WIN没任何影响。
如果你需要做一些对系统可能有危害的试验,例如你要研究病毒或木马程序,但又怕自己的HOST
OS被感染,那就到虚拟机上实验。让虚拟机做替死鬼,就好像医学院的学生学解剖总是在XX或动物
上开刀而不会拿活人下手。例如大名鼎鼎的木马程序灰鸽子的客户端装在HOST OS上老是被杀毒软
件查杀干扰,那就装在虚拟机上,而虚拟机上不装杀毒软件,这样灰鸽子就可以堂而皇之地悠哉落户
于虚拟机上,通过虚拟网络照样可以监控肉鸡。再如有些网站有马或者怀疑有马,那就让虚拟机去踩
地雷阵,即使牺牲了,也不过是一台虚拟机而已而不是物理机。下面还会讲到其实虚拟机即使牺牲了
也很容易让它复活的。
有些试用软件未经注册是有使用时间或次数限制的,但又找不到注册机或注册码,如果在物理机
的HOSTOS上安装,一旦过期要想继续使用,整个系统必须重装,试用软件要重装,其它软件也要重
装(当然你可以用XP的系统还原一定程度上减少麻烦)。但用虚拟机上安装使用这些试用软件会更方
便,特别是要用很多试用软件时,每台虚拟机装一个试用软件,虚拟机上也可以设置多个类似XP的
还原点,如果试用软件过期了,将虚拟机还原一下,再重新安装一下试用软件又可继续使用。
第 3 页 共 31 页
现在QQ可以支持多号同时登录了,但雅虎通在一个OS下好像还是只支持单用户登录吧?如果
你有两个或以上的雅虎通账号,想不漏过这两个账号下的所有好友,那就开几个虚拟机,每个虚拟机
上各登录一个账号,其实也还是相当于你同时拥有了多台可上网的计算机。
一台物理机OS即HOST OS只能装一种杀毒软件和防火墙,如果同时装不同的两种就很容易冲
突。但是你又想试用看看其它杀毒软件和防火墙,总不能把HOST上原有的卸载了再装想试用的,试
用不满意再卸载又装回原来的,一则麻烦,另则有些杀毒软件不能完全卸载而导致不能安装其它的杀
软。这时一样可以在虚拟机上安装试用,每台虚拟机可以各装一种杀软,多台虚拟机上的多种杀软不
会冲突,还可能利用各虚拟机上的不同种杀软通过虚拟网络对物理机上的HOST OS进行查杀。
你在网上下载了一个ISO文件(虚拟光驱文件),你可以用WINISO软件查看里面的详细内容。
如果该光盘是启动盘,你在WINISO中却是看不到启动效果的,一般是要先将其刻录到一张光盘再用
这张光盘从光驱启动后才能看到其启动效果。你想了解这个启动盘是否好用,还有这个ISO文件是否
完整,就必须将其刻录到光盘,等发现不能用或者不好用时,一则浪费了一张刻录盘,另则浪费刻录
机刻盘、浪费光驱读盘。虚拟机支持读物理光驱中的光盘,也能支持虚拟光驱ISO文件,可以用虚拟
机来测试该ISO文件的实际使用效果。我在网上下载的各种各样的XP ISO安装文件或其它以ISO封
装的软件,就在虚拟机上先试验,觉得好用且能用的再去刻盘,这样既能节省刻录盘,也能减少对刻
录机和光驱读写光盘的损耗。
总之,虚拟机可以让你拥有多台联网的计算机,你原来在多台物理机器上想做什么在虚拟机上基
本也可以做什么。虚拟机的基本作用就是可以多台联网,让你学习、测试、试验。虚拟机应该是个软
件测试平台
回答者: leizhao222 - 四级 2008-6-3 15:03
第 4 页 共 31 页
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有
JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它
负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个
的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机
代码转换为特定系统的机器码执行。
回答者: LR_Nicky - 三级 2008-6-3 15:05
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过
虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正
的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,
它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是
在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,
崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢
复)功能,我可以马上恢复虚拟机到安装软件之前的状态。
目前流行的虚拟机软件有VMware和Virtual PC,它们都能在Windows系统上虚拟出多个计算
机,用于安装Linux、OS/2、FreeBSD等其他操作系统。微软在2003年2月份收购Connectix后,
很快发布了Microsoft Virtual PC 2004。但出于种种考虑,新发布的Virtual PC 2004已不再明确支
持Linux、FreeBSD、NetWare、Solaris等操作系统,只保留了OS/2,如果要虚拟一台Linux计算
机,只能自己手工设置。相比而言,VMware不论是在多操作系统的支持上,还是在执行效率上,都
比Virtual PC 2004明显高出一筹,这也是本文选择它的理由之一。
第 5 页 共 31 页
电脑一台变两台,学用Linux不再有后顾之忧
VMware 4.5有Workstation、GSX server等多种版本,其中Windows版的Workstation应
用最广,本文即以它为基础进行各种实战演习。
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有
JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它
负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个
的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机
代码转换为特定系统的机器码执行。
参考资料: /view/
回答者: 等待的角落 - 四级 2008-6-3 15:05
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过
虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正
的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,
它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是
在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,
崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢
复)功能,我可以马上恢复虚拟机到安装软件之前的状态。
第 6 页 共 31 页
目前流行的虚拟机软件有VMware和Virtual PC,它们都能在Windows系统上虚拟出多个计算
机,用于安装Linux、OS/2、FreeBSD等其他操作系统。微软在2003年2月份收购Connectix后,
很快发布了Microsoft Virtual PC 2004。但出于种种考虑,新发布的Virtual PC 2004已不再明确支
持Linux、FreeBSD、NetWare、Solaris等操作系统,只保留了OS/2,如果要虚拟一台Linux计算
机,只能自己手工设置。相比而言,VMware不论是在多操作系统的支持上,还是在执行效率上,都
比Virtual PC 2004明显高出一筹,这也是本文选择它的理由之一。
电脑一台变两台,学用Linux不再有后顾之忧
VMware 4.5有Workstation、GSX server等多种版本,其中Windows版的Workstation应
用最广,本文即以它为基础进行各种实战演习。
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有
JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它
负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个
的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机
代码转换为特定系统的机器码执行。
Java虚拟机
一、什么是Java虚拟机
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想
第 7 页 共 31 页
象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
1.为什么要使用Java虚拟机
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关
键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言
虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具
体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以
在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执
行。
2.谁需要了解Java虚拟机
Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的
了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java
虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理
解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也
需要深入地了解Java虚拟机。
虚拟机支持的数据类型
Java虚拟机支持Java语言的基本数据类型如下:
byte://1字节有符号整数的补码
short://2字节有符号整数的补码
第 8 页 共 31 页
int://4字节有符号整数的补码
long://8字节有符号整数的补码
float://4字节IEEE754单精度浮点数
double://8字节IEEE754双精度浮点数
char://2字节无符号Unicode字符
几乎所有的Java类型检查都是在编译时完成的。上面列出的原始数据类型的数据在Java执行时
不需要用硬件标记。操作这些原始数据类型数据的字节码(指令)本身就已经指出了操作数的数据类型,
例如iadd、ladd、fadd和dadd指令都是把两个数相加,其操作数类型别是int、long、float和double。
虚拟机没有给boolean(布尔)类型设置单独的指令。boolean型的数据是由integer指令,包括integer
返回来处理的。boolean型的数组则是用byte数组来处理的。虚拟机使用IEEE754格式的浮点数。
不支持IEEE格式的较旧的计算机,在运行Java数值计算程序时,可能会非常慢。
虚拟机支持的其它数据类型包括:
object//对一个Javaobject(对象)的4字节引用
returnAddress//4字节,用于jsr/ret/jsr-w/ret-w指令
注:Java数组被当作object处理。
虚拟机的规范对于object内部的结构没有任何特殊的要求。在Sun公司的实现中,对object的引
第 9 页 共 31 页
用是一个句柄,其中包含一对指针:一个指针指向该object的方法表,另一个指向该object的数据。用
Java虚拟机的字节码表示的程序应该遵守类型规定。Java虚拟机的实现应拒绝执行违反了类型规定的
字节码程序。Java虚拟机由于字节码定义的限制似乎只能运行于32位地址空间的机器上。但是可以
创建一个Java虚拟机,它自动地把字节码转换成64位的形式。从Java虚拟机支持的数据类型可以看
出,Java对数据类型的内部格式进行了严格规定,这样使得各种Java虚拟机的实现对数据的解释是相同
的,从而保证了Java的与平台无关性和可
移植性。
二、Java虚拟机体系结构
Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆
(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机的逻辑成份,不依赖任何实现技
术或组织方式,但它们的功能必须在真实机器上以某种方式实现。
指令集
Java虚拟机支持大约248个字节码。每个字节码执行一种基本的CPU运算,例如,把一个整数加到
寄存器,子程序转移等。Java指令集相当于Java程序的汇编语言。
Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提
供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。
虚拟机的内层循环的执行过程如下:
do{
第 10 页 共 31 页
取一个操作符字节;
根据操作符的值执行一个动作;
}while(程序未结束)
由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作
数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。例
如,一个16位的参数存放时占用两个字节,其值为:
第一个字节*256+第二个字节字节码指令流一般只是字节对齐的。指令tabltch和lookup是例外,
在这两条指令内部要求强制的4字节边界对齐。
2.寄存器
Java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似。
Java虚拟机的寄存器有四种:
pc:Java程序计数器。
optop:指向操作数栈顶端的指针。
frame:指向当前执行方法的执行环境的指针。
vars:指向当前执行方法的局部变量区第一个变量的指针。
第 11 页 共 31 页
Java虚拟机
Java虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保证指令集的简洁
性和实现时的高效性(特别是对于寄存器数目不多的处理器)。
所有寄存器都是32位的。
3.栈
Java虚拟机的栈有三个区域:局部变量区、运行环境区、操作数区。
(1)局部变量区 每个Java方法使用一个固定大小的局部变量集。它们按照与vars寄存器的字偏
移量来寻址。局部变量都是32位的。长整数和双精度浮点数占据了两个局部变量的空间,却按照第一
个局部变量的索引来寻址。(例如,一个具有索引n的局部变量,如果是一个双精度浮点数,那么它实际占
据了索引n和n+1所代表的存储空间。)虚拟机规范并不要求在局部变量中的64位的值是64位对齐
的。虚拟机提供了把局部变量中的值装载到操作数栈的指令,也提供了把操作数栈中的值写入局部变量
的指令。
(2)运行环境区 在运行环境中包含的信息用于动态链接,正常的方法返回以及异常传播。
·动态链接
运行环境包括对指向当前类和当前方法的解释器符号表的指针,用于支持方法代码的动态链接。方
法的class文件代码在引用要调用的方法和要访问的变量时使用符号。动态链接把符号形式的方法调
用翻译成实际方法调用,装载必要的类以解释还没有定义的符号,并把变量访问翻译成与这些变量运行
时的存储结构相应的偏移地址。动态链接方法和变量使得方法中使用的其它类的变化不会影响到本程
第 12 页 共 31 页
序的代码。
·正常的方法返回
如果当前方法正常地结束了,在执行了一条具有正确类型的返回指令时,调用的方法会得到一个返
回值。执行环境在正常返回的情况下用于恢复调用者的寄存器,并把调用者的程序计数器增加一个恰当
的数值,以跳过已执行过的方法调用指令,然后在调用者的执行环境中继续执行下去。
·异常和错误传播
异常情况在Java中被称作Error(错误)或Exception(异常),是Throwable类的子类,在程序中的原
因是:①动态链接错,如无法找到所需的class文件。②运行时错,如对一个空指针的引用
·程序使用了throw语句。
当异常发生时,Java虚拟机采取如下措施:
·检查与当前方法相联系的catch子句表。每个catch子句包含其有效指令范围,能够处理的异常类
型,以及处理异常的代码块地址。
·与异常相匹配的catch子句应该符合下面的条件:造成异常的指令在其指令范围之内,发生的异常
类型是其能处理的异常类型的子类型。如果找到了匹配的catch子句,那么系统转移到指定的异常处理
块处执行;如果没有找到异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的
catch子句都被检查过。
·由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。因为
第 13 页 共 31 页
Java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能
的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异
常情况。
·如果找不到匹配的catch子句,那么当前方法得到一个"未截获异常"的结果并返回到当前方法的
调用者,好像异常刚刚在其调用者中发生一样。如果在调用者中仍然没有找到相应的异常处理块,那么这
种错误传播将被继续下去。如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块。
(3)操作数栈区 机器指令只从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中。选择栈
结构的原因是:在只有少量寄存器或非通用寄存器的机器(如Intel486)上,也能够高效地模拟虚拟机的
行为。操作数栈是32位的。它用于给方法传递参数,并从方法接收结果,也用于支持操作的参数,并保存
操作的结果。例如,iadd指令将两个整数相加。相加的两个整数应该是操作数栈顶的两个字。这两个字
是由先前的指令压进堆栈的。这两个整数将从堆栈弹出、相加,并把结果压回到操作数栈中。
每个原始数据类型都有专门的指令对它们进行必须的操作。每个操作数在栈中需要一个存储位置,
除了long和double型,它们需要两个位置。操作数只能被适用于其类型的操作符所操作。例如,压入
两个int类型的数,如果把它们当作是一个long类型的数则是非法的。在Sun的虚拟机实现中,这个限
制由字节码验证器强制实行。但是,有少数操作(操作符dupe和swap),用于对运行时数据区进行操作
时是不考虑类型的。
4.无用单元收集堆
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java语言具有无用单元收集能力:
它不给程序员显式释放对象的能力。Java不规定具体使用的无用单元收集算法,可以根据系统的需求使
用各种各样的算法。
第 14 页 共 31 页
5.方法区
方法区与传统语言中的编译后代码或是Unix进程中的正文段类似。它保存方法代码(编译后的
java代码)和符号表。在当前的Java实现中,方法代码不包括在无用单元收集堆中,但计划在将来的版本
中实现。每个类文件包含了一个Java类或一个Java界面的编译后的代码。可以说类文件是Java语言
的执行代码文件。为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式也作了详细的说
明。其具体细节请参考Sun公司的Java虚拟机规范。
回答者: 凉水泡绿茶 - 四级 2008-6-3 15:05
1.比较通俗的回答(适合没有电脑基础的朋友)
虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样
,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,
而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样
了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。
现在说一下虚拟机的软件,主要是两中,Virtual PC和VMware。软件的选择也是有门道滴
,嘿嘿,简单来说,VPC的设置很简单,一路next就行了,VM设置相对麻烦一些,不过也
不是麻烦很多,但是VM拥有更好的性能,可以说和真实的电脑性能完全一样,还可以用桥
第 15 页 共 31 页
接的方式和现在的电脑互连^_^,可以研究的东西就更多了,呵呵
2.比较专业的回答(适合有一点电脑基础的朋友)
在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系
统而互不干扰,这些“新”机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机
器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网
络。在虚拟系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以
下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在Windows和Linux主机平台上运行的
虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安
全。虚拟机在学习技术方面能够发挥很大的作用。
在一台电脑上练习组网技术、学习操作不同的操作系统、测试开发的软件在各个操作系统平台下
的效果和可靠性、安装不可靠的软件、测试病毒、玩炫...等等方面有很大的作用
目前PC上的虚拟机软件有下述两个:
VMWare
Virtual PC
回答者: liushilong0411 - 三级 2008-6-3 15:07
可以在虚拟机里安装多个、多种操作系统
一般用于测试软件,也可建立虚拟局域网
第 16 页 共 31 页
相当于同时打开多台电脑,可以互相访问
比方说在虚拟机里测试病毒不会影响现有的系统
回答者: ≡火龙≡ - 六级 2008-6-3 15:07
虚拟机同一台电脑是完全一样的,只不过它是存在与你的机器硬盘中。它能开机、关机、安装软
件、运行软件、作为你的网上邻居、甚至死机。它所有的机能同一台完整的计算机是一样的。使用虚
拟机的原因就是当你有不确定的软件、网站、以及一些你想用又怕不小心破坏了现在使用的操作系统
等等。
回答者: xingmou999 - 三级 2008-6-3 15:08
虚拟机就是在自己电脑上运行的一个程序,它可以直接模拟一台标准计算机的硬件和软件环境,
通常用于安装操作系统,实验软件和病毒等,要同时流畅运行主机和虚拟机,机器配置,特别是内存
不能差
回答者: 21647015 - 四级 2008-6-3 15:08
在计算机里面,虚拟机是一个使用很广泛的概念。具体说来,虚拟机故名思议就是一个虚拟的计
算机,通过他可以模拟出一个虚拟的机器,用于执行某些不具有执行条件的程序。归纳起来,大概有
这么几种类型的虚拟机:
1.某种语言的运行环境虚拟机,比如是一个硬件无关的变成语言,他的代码是独立的
和硬件没有关系的。因而在运行时,针对不同的硬件平台就需要不同的运行环境来支持,这就是JAVA
虚拟机。当我们学习JAVA编程的时候,TOMCAT,RESIN等就是JAVA虚拟机。还以,某些java写
第 17 页 共 31 页
成的网页特效在运行过程中也需要一个虚拟机的支持。这是第一种。
2.还有一种虚拟机是一个软件,运行后就成为一个虚拟的计算机,你可以在这里进行系统的安装
测试等,而不用在实际的机器上来进行。VM,网上有下载,您可以试试。
3.这是操作系统中的概念了。为了提供多任务或者多用户支持,系统把本来只有很少的资源通过
软件模拟的方式造成具有多个的印象,这也是一种虚拟。
不管是那种虚拟就是虚拟,是不存在的,通过的假设的模拟出来的东西来代替实际的东西。
回答者: guojingcha - 九级 2008-6-3 15:13
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有
JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它
负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个
的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机
代码转换为特定系统的机器码执行。
虚拟机(virtual machine)简称VM
虚拟机(VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效
的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应
用程序运行在“保护模式”环境下。如果在某虚拟机中出现程序冻结现象,这并不会影响运行在虚拟
机外的程序操作和操作系统的正常工作。MyPlaces(自我空间 自由展现)
第 18 页 共 31 页
Guest 虚拟机具有四种体系结构。第一种为“一对一映射”,其中以 IBM 虚拟机最为典型。第
二种由机器虚拟指令映射构成,其中以 Java 虚拟机最为典型。Unix 虚拟机模型和 OSI 虚拟机模型
可以直接映射部分指令,而其它的可以直接调用操作系统功能。MyPlaces(自我空间 自由展现)
MyPlaces(自我空间 自由展现)在真实计算机系统中,操作系统组成中的设备驱动控制硬件资源,
负责将系统指令转化成特定设备控制语言。在假设设备所有权独立的情况下形成驱动,这就使得单个
计算机上不能并发运行多个操作系统。虚拟机则包含了克服该局限性的技术。虚拟化过程引入了低层
设备资源重定向交互作用,而不会影响高层应用层。通过虚拟机,客户可以在单个计算机上并发运行
多个操作系统。
Guest
Guest 微软虚拟服务器2005基于OSI虚拟机结构,主要几种于以下几点:MyPlaces(自我空间 自
由展现)
GGuest主机操作系统,如 Windows Server 2003,主要控制主机系统。
Guest虚拟机操作系统,如 Virtual Server 2005,包含控制虚拟机的 VMM 虚拟层,为硬件仿
真提供软件结构。 MyPlaces(自我空间 自由展现)
每个虚拟机由一组虚拟化设备构成,其中每个虚拟机都有对应的虚拟硬件。
Guest客户操作系统和应用程序可以运行在虚拟机上,而不需要提供任何交互作用的网络适配器
的支持。虚拟服务器只是物理以太网中的一种软件仿真设备。
常用到的虚拟机有哪些?MyPlaces(自我空间 自由展现)
第 19 页 共 31 页
VMware Workstation
GuestVMware Workstation是一款帮助开发者和系统管理员进行软件开发,测试以及配置的强
大虚拟机软件。软件开发者借助它可以在同一台电脑上开发和测试适用于Microsoft Windows, Linux
或者NetWare的复杂网络服务器应用程序。
VMware Server
Guest一款入门级的 VMware Server,面向 x86 与 x86-64 服务器。作为商业版VMware GSX
Server的继任者,VMware Server for Linux/Windows允许用户同时运行多个操作系统。
VMware GSX ServerMyPlaces(自我空间 自由展现
VMware GSX Server是一套为关键商业环境所打造的企业级的虚拟服务器软件。VMware GSX
Server是市面上最具弹性且最容易部署的虚拟服务器软件。
VMware ESX Server
GuestVMware ESX Server是一个适用于任何系统环境的企业级的虚拟计算机软件。大型机级别
的架构提供了空前的可测量性和操作控制。完全动态的 资源控制,适合各种要求严格的应用程序的需
要。
VMware PlayerMyPlaces(自我空间 自由展现)
VMware Player最大的不同之处就是省去了制作虚拟机的功能,就像其名字一样,它只是一个系
统“播放器”,而不能用于创建虚拟系统。
第 20 页 共 31 页
P2V Assistant
GuestVMware P2V Assistant 2 是一款企业级的迁移工具,它可以将一个物理计算机系统转换
成镜像,供 VMware 虚拟机使用。
Virutal PCMyPlaces(自我空间 自由展现)&I q f z Y w _
这个大家应该多比较熟悉吧。微软公司出品的一款面向桌面用户的产品。
VirtualServer2005
Guest微软公司出品的面向服务器的虚拟化软件。
virtuozzo
Guest一个和vmware和virtual pc不同的虚拟机。virtuozzo是“虚拟环境”(VEs),而vmware
和virtual pc是“虚拟设备”(VMs),一个可以让主机资源更好的利用的虚拟技术
其他的还有像“XenSource”、“Qemu”、“Bochs”等。
回答者: j13vkl - 二级 2008-6-3 15:34
虚拟一台计算机给你玩...你可以在上面做任何事..跟你的主机没影响...就可以搞一些你平时不敢做
的事...比如病毒啦..
回答者: 灬丨乔木丨灬 - 五级
第 21 页 共 31 页
2008-6-3 17:28
1、如果要在一台电脑上装多个操作系统,不用虚拟机的话,有两个办法:一是装多个硬盘,每个
硬盘装一个操作系统。这个方法比较昂贵。二是在一个硬盘上装多个操作系统。这个方法不够安全,
因为硬盘MBR是操作系统的必争之地,搞不好会几个操作系统同归于尽。而使用虚拟机软件既省钱
又安全,对想学linux和unix的朋友来说很方便。
2、虚拟机可以在一台机器上同时运行几个操作系统,是SOHO开发一族的必备工具。有了虚拟
机,在家里只需要一台电脑,或出差时只带着一个笔记本,就可以调试C/S、B/S的程序了。
3、利用虚拟机可以进行软件测试。
参考资料:
回答者: hi8600008 - 五级 2008-6-3 18:55
电脑中的电脑, 通过你的电脑,你可以看到里面还有个电脑,就是虚拟机。 虚拟电脑。一大堆
复杂的解释怕你越看越糊涂,就给你答了一个通俗容易理解的解释。
回答者: poppyvvv - 二级 2008-6-3 19:41
我尽量长话短说,让你明白.
虚拟机,顾名思义.是一个虚拟的计算机. 它能模拟很多操作系统.同时也可在虚拟出来的操作系统
里进行软件测试.程序测试等等测试内容.
如果您需要具体的虚拟机使用指南.请重新提问!
第 22 页 共 31 页
我想虚拟机的基本含义就是这个了!
回答者: solosoloking - 一级 2008-6-3 20:07
看你说的是什么虚拟机了,有Java虚拟机,是Java运行平台;还有一种是虚拟的计算机,可以
在虚拟机上安装其他一种或多种操作系统,并可以实现和本地机相同的功能。
回答者: sxllyliu - 五级 2008-6-3 22:14
废话太多,我想你说的虚拟机就是利用虚拟软件虚拟一个或多个计算机. 跟一台新机子差不多
回答者: lywjxsl - 二级 2008-6-3 22:36
虚拟机(VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效
的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应
用程序运行在“保护模式”环境下。如果在某虚拟机中出现程序冻结现象,这并不会影响运行在虚拟
机外的程序操作和操作系统的正常工作。MyPlaces(自我空间 自由展现) f;iV x$`9B4l P3|
l A D/l4`K&eGuest 虚拟机具有四种体系结构。第一种为“一对一映射”,其中以 IBM 虚拟
机最为典型。第二种由机器虚拟指令映射构成,其中以 Java 虚拟机最为典型。Unix 虚拟机模型和
OSI 虚拟机模型可以直接映射部分指令,而其它的可以直接调用操作系统功能。MyPlaces(自我空间
自由展现)#Q 0w n d!g X5]
MyPlaces(自我空间 自由展现).n E x.`(~ @+S x s
在真实计算机系统中,操作系统组成中的设备驱动控制硬件资源,负责将系统指令转化成特定设
第 23 页 共 31 页
备控制语言。在假设设备所有权独立的情况下形成驱动,这就使得单个计算机上不能并发运行多个操
作系统。虚拟机则包含了克服该局限性的技术。虚拟化过程引入了低层设备资源重定向交互作用,而
不会影响高层应用层。通过虚拟机,客户可以在单个计算机上并发运行多个操作系统。
*b W/b P7Q n3t6R#t rGuest
6T k
第 24 页 共 31 页
K#t o4OGuest 微软虚拟服务器2005基于OSI虚拟机结构,主要几种于以下几点:MyPlaces(自我
空间 自由展现) ^ m P z [
-W L l7r-]2o GGuest主机操作系统,如 Windows Server 2003,主要控制主机系统。
-p"H 2j ]7l ];p4PGuest虚拟机操作系统,如 Virtual Server 2005,包含控制虚拟机的 VMM
虚拟层,为硬件仿真提供软件结构。 MyPlaces(自我空间 自由展现) ? p s m8^ a
每个虚拟机由一组虚拟化设备构成,其中每个虚拟机都有对应的虚拟硬件。
m%` I-[ G m2K*^/d ~Guest客户操作系统和应用程序可以运行在虚拟机上,而不需要提供
任何交互作用的网络适配器的支持。虚拟服务器只是物理以太网中的一种软件仿真设备。
常用到的虚拟机有哪些?MyPlaces(自我空间 自由展现)V'z b { l w N e-O A
VMware Workstation
1R7f Q'Y/F X V-H-{GuestVMware Workstation是一款帮助开发者和系统管理员进行软件开
发,测试以及配置的强大虚拟机软件。软件开发者借助它可以在同一台电脑上开发和测试适用于
Microsoft Windows, Linux或者NetWare的复杂网络服务器应用程序。
VMware Server
e g e$r d9p#k Guest一款入门级的 VMware Server,面向 x86 与 x86-64 服务器。作
为商业版VMware GSX Server的继任者,VMware Server for Linux/Windows允许用户同时运行
多个操作系统。
第 25 页 共 31 页
VMware GSX ServerMyPlaces(自我空间 自由展现) d l q R _ }
VMware GSX Server是一套为关键商业环境所打造的企业级的虚拟服务器软件。VMware GSX
Server是市面上最具弹性且最容易部署的虚拟服务器软件。
VMware ESX Server
8d
第 26 页 共 31 页
i H+k b/E-w q RGuestVMware ESX Server是一个适用于任何系统环境的企业级的虚拟计算机软
件。大型机级别的架构提供了空前的可测量性和操作控制。完全动态的 资源控制,适合各种要求严格
的应用程序的需要。
VMware PlayerMyPlaces(自我空间 自由展现) ~ u3| J;Y Z
第 27 页 共 31 页
Y)E [
VMware Player最大的不同之处就是省去了制作虚拟机的功能,就像其名字一样,它只是一个系
统“播放器”,而不能用于创建虚拟系统。
P2V Assistant
$w)r d O-L O ]GuestVMware P2V Assistant 2 是一款企业级的迁移工具,它可以将一个物
理计算机系统转换成镜像,供 VMware 虚拟机使用。
Virutal PCMyPlaces(自我空间 自由展现)&I q f z Y w _
这个大家应该多比较熟悉吧。微软公司出品的一款面向桌面用户的产品。
VirtualServer2005
.s G.u$G W ^Guest微软公司出品的面向服务器的虚拟化软件。
virtuozzo
%A J)X)a G,c"N R t W1jGuest一个和vmware和virtual pc不同的虚拟机。virtuozzo是“虚
拟环境”(VEs),而vmware和virtual pc是“虚拟设备”(VMs),一个可以让主机资源更好的利
用的虚拟技术
其他的还有像“XenSource”、“Qemu”、“Bochs”等。
第 28 页 共 31 页
ben8563 2008-5-14 01:55
虚拟机软件可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的操作系统而互不干扰,
可以实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。
回答者: jonyoo - 五级 2008-6-4 02:47
虚拟机我觉得主要是用来学习的吧
比如,1.你的打印机只支持98,你可以在虚拟机安装98,这样就能用了啊
2.你想玩LINUX,你就在虚拟机上装上实验
3,你想学学组网,就多开几个虚拟机,操作就可以了
这是我暂时了解到的
回答者: zxl7362 - 四级 2008-6-4 09:06
一般都是用来测试新病毒样本的!
回答者: kiss黛绮丝 - 三级 2008-6-4 13:01
说白点就是在你的电脑上在装上一个独立的系统`而且可以两个系统一起运行```
具体做什么用的`这个还真不好说``
第 29 页 共 31 页
得看你的运用到哪个方面``
反正大多人是拿来试木马呢`
你也可以用虚拟机去装你下载来的软件`看看有没木马病毒捆绑之类的`
不过虚拟机的系统尽量装小点的精减系统```呵呵``
回答者: tangshangwei01 - 五级 2008-6-4 16:36
简点说就行了.就是虚拟的机器.例:我们的网站没有自己的服务器时.就会租用别人的服务器,在别
人的服务器上运行网站程序,这就叫虚拟主机的租用
回答者: kissbeby200808 - 一级 2008-6-4 20:16
gjh
回答者:匿名 2008-6-5 12:45
说简单点就是在你使用的电脑里面再虚拟出一台机器来使用
回答者: 希望的寄托 - 二级 2008-6-5 13:17
虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不
同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己
的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,
第 30 页 共 31 页
简单说就是一句话,虚拟出来的电脑,你干什么都行。
回答者: 宿雨厌厌 - 二级 2008-6-6 11:47
是个运行环境
回答者:
第 31 页 共 31 页
乙卜 - 三级 2008-6-


发布评论