虚拟和仿真有什么区别啊,求大神指点啊,仿真应该是虚拟里面的一部分吧。
虚拟机,将操作系统作为一个程序那样运行,虚拟机上的程序二进制代码直接在物理机上执行。速度和真机差不多。
模拟器,将客户机程序以解释的方式运行。仿真度高但是速度慢。
模拟器可以让手机(arm芯片)解释执行x86,这是手机上运行dos/win9x等系统的原理。类似的,模拟器也可以让pc运行手机程序,游戏机程序等。
虚拟化这项技术是指以一种完全实用的方式利用计算资源和设备,不管它们的物理布局或位置如何。这包括把单单一台物理计算机划分成多个"虚拟"服务器,就如同每个虚拟机在各自的专用硬件上运行,让每个虚拟机可以独立地重启动。另一方面,在存储虚拟化领域,服务器把多个物理设备当作单一的物理设备来看待。
虚拟服务器是被精心隔离的软件容器,它有自己的基于软件的CPU、内存、硬盘和网络连接。操作系统或应用程序――甚至虚拟服务器本身,或同一个网络上的其他计算机――区别不了虚拟机和物理机之间的差异。
IBM公司在上世纪60年代发明了虚拟化技术,那样体积庞大、价格昂贵的大型机就能并行运行多个应用程序和进程。到了八九十年代,虚拟化技术基本上被弃用了,人们改用客户机/服务器应用程序和分布式计算。然而如今的服务器和个人电脑与60年代的那些大型机一样,同样面临资源没有得到充分利用这个问题。
仿真涉及的不仅仅是简单地转换命令或机器指令;多年来,编译器和解释器一直负责这项工作。如今,我们针对的是整套的操作系统、应用编程接口(API)和函数;我们要让它们全在一个机器上工作,而它们又不是为该机器设计的――这个机器可能使用全然不同的方法和命令。想想这项任务居然有可能实现,有时确实不可思议,但几乎总是要在性能方面付出很大的代价。仿真需要很大的开销,会大幅降低数据吞吐率。
仿真技术对于防止系统被淘汰、保持数据可用起到了重要作用。仿真让我们可以模仿比较旧的软硬件,并使用最新技术来重建它们。仿真让我们可以使用最新平台来访问比较旧的应用程序、操作系统或数据,而比较旧的软件仍然认为自己运行在原来的那个环境。
我用过的仿真就是用protus仿真一个单片机,这样不需要焊接电路连接芯片,protus中的有芯片模型,只需要将程序加载到虚拟的芯片中。
我的感觉是仿真是这个过程,虚拟指的是类似于真的物理芯片。不知道对不对