本机与虚拟机的机器码为什么不一样,主要是哪的区别不一样

如题所述

虚拟机采用的是虚化技术,其硬件系统功能是通过软件来模拟的,所以机器码会有不同,主要的区别在于:底层硬件指令不同、占用内存不同、运行环境不同:

1、底层硬件指令不同:虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。例如:java虚拟机则有虚拟出处理器、堆栈、寄存器等,还具有相应的指令系统。

2、占用内存不同:

常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。

3、运行环境不同:

虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统。


扩展资料:

为了使计算机用户编程序更容易些,后来就出现了各种高级计算机语言,如BASIC、FORTRAN等语言。高级语言比机器语言、汇编语言更接近人的语言,用户可以不必了解计算机的指令系统和具体结构,就能够编制程序。用高级语言编制的程序通用性很强。

显然,和汇编语言一样,当计算机执行高级语言编写的程序时,仍然需要把程序解释和编译成机器的指令码。这个过程仍然由计算机来完成。完成这个过程的程序就叫做解释程序或编译程序。

现在尽管出现了许多像高级语言那样内容丰富的软件,但是人们仍广泛地使用着机器语言。原因是机器语言有它的独特优点,计算机最终要解决问题仍需要有机器指令码编制的程序。

参考资料:百度百科-机器码

参考资料:百度百科-虚拟机

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-28

虚拟机采用的是虚化技术,其硬件系统功能是通过软件来模拟的,所以机器码会有不同,主要的区别在于:底层硬件指令不同、占用内存不同、运行环境不同,具体如下:

1、底层硬件指令不同

虚拟机需要模拟基础硬件指令,因此应用程序的运行速度比虚拟系统慢得多。例如,Java虚拟机具有虚拟输出处理器,堆栈,寄存器等,并且还具有对应的指令系统。

2、占用内存不同

常用的虚拟化技术包括操作系统中的内存虚拟化。在实际操作中,用户所需的存储空间可能比物理机的存储空间大得多。使用内存虚拟化技术,用户可以将一部分硬盘虚拟化到内存中,这对用户是透明的。

3、运行环境不同

虚拟系统不会降低计算机的性能。与Windows系统一样,启动虚拟系统并不需要花费时间,并且运行该程序更加方便快捷。虚拟系统只能模拟与现有操作系统相同的环境,虚拟机可以模拟其他类型的操作系统。

扩展资料:

为了使计算机用户更容易编写程序,此后出现了各种高级计算机语言,例如BASIC,FORTRAN和其他语言。高级语言比机器语言和汇编语言更接近人类语言。用户无需了解计算机的指令系统和特定结构即可编译程序。用高级语言编写的程序非常通用。

显然,就像汇编语言一样,当计算机执行以高级语言编写的程序时,仍然需要将程序解释并编译为机器的指令代码。该过程仍由计算机完成。完成此过程的程序称为解释程序或编译程序。

尽管出现了像高级语言一样丰富的软件,但是机器语言仍然被广泛使用。原因是机器语言具有其独特的优势,计算机最终要解决问题仍需要有机器指令码编制的程序。

参考资料来源:

百度百科-机器码

百度百科-虚拟机

本回答被网友采纳
第2个回答  2019-10-25

虚拟机采用的是虚化技术,其硬件系统功能是通过软件来模拟的,所以机器码会有不同,主要的区别在于:底层硬件指令不同、占用内存不同、运行环境不同:

1、底层硬件指令不同:虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。例如:java虚拟机则有虚拟出处理器、堆栈、寄存器等,还具有相应的指令系统。

2、占用内存不同:

常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。

3、运行环境不同:

虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统。

扩展资料:

虚拟机的相关种类:

1、linux虚拟机:一种安装在Windows上的虚拟linux操作环境,就被称为linux虚拟机。它实际上只是个文件而已,是虚拟的linux环境,而非真正意义上的操作系统。但是它们的实际效果是一样的。所以安装在虚拟机上使用好。

2、Java虚拟机:Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

参考资料来源:百度百科-虚拟机

参考资料来源:百度百科-机器码

本回答被网友采纳
第3个回答  推荐于2017-11-24
虚拟机虚拟出来的硬件根本不同,主要是硬盘特征码不同,另外有的软件还会取CPUID,主板ID,网卡MAC地址等本回答被提问者采纳
第4个回答  2011-07-13
虚拟机可以看作是一台独立的电脑,不同的电脑机器码,当然不同了
相似回答