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