虚拟机采用虚拟化技术,通过软件模拟其硬件系统功能。因此机器代码会有所不同。主要区别是:底层硬件指令不同、内存使用不同、执行环境不同:
1.底层硬件指令不同:虚拟机必须模拟底层硬件指令,因此应用程序的执行速度比虚拟系统慢很多。例如,Java虚拟机有虚拟处理器、堆栈、寄存器等,以及相应的指令系统。
2.内存占用不同:
常用的虚拟化技术有操作系统中的内存虚拟化。在实际操作中,用户所需的内存空间可能远大于所需的内存空间。物理机内存,借助内存虚拟化技术,用户可以将部分硬盘虚拟到内存中,而且这对用户是透明的。
3.运行环境不同:
虚拟系统不会降低计算机性能。虚拟系统启动时间并不需要像Windows系统启动那么长。,程序的执行更加方便快捷;虚拟系统只能模拟与现有操作系统相同的环境,而虚拟机可以模拟其他类型的操作系统。
详细信息:
为了方便计算机用户编程,后来出现了各种程序。高级计算机语言,如BASIC、FORTRAN等语言。高级语言比机器语言和汇编语言更接近人类语言。用户无需了解计算机的具体指令系统和结构即可编写程序。用高级语言编写的程序用途非常广泛。
显然,与汇编语言一样,当计算机运行用高级语言编写的程序时,它仍然必须将程序解释并编译为机器指令代码。这个过程仍然由计算机来执行。完成这个过程的程序称为解释器或编译器。
尽管有许多软件程序与高级语言一样丰富,但人们仍然广泛使用机器语言。原因在于机器语言具有独特的优势。计算机要最终解决问题,仍然需要用机器指令代码编译出的程序。
参考资料:-机器代码
参考资料:-虚拟机
上一篇:虚拟机和本机互传
下一篇:虚拟机与实体机的区别