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

2020-05-24 科技 469阅读

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

1、底层硬件指令不同

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

2、占用内存不同

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

3、运行环境不同

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

扩展资料:

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

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

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

参考资料来源:

百度百科-机器码

百度百科-虚拟机

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com