refer:操作系统,虚拟机
虚拟机 Virtual Machine 是什么?虚拟机原理、用途、类型介绍
首先来个定义:
虚拟机是通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的计算机系统。
我现在理解的虚拟机 就是电脑中的小电脑 虽然知道他有自己独立的功能 但是至于为什么要在电脑中再设置一个小电脑,以及虚拟机和unix/linux操作系统有什么区别,除了Java虚拟机为什么没有Python虚拟机?我们从这三个问题出发 好好来理解一下什么是虚拟机。
首先 我们为什么需要虚拟机这个玩意?
就是说 虚拟机都有哪些应用场景呢?
这个其实是一个很大的概念 需要另开文章去讲,简单来说,这种东西作为一种服务虚拟化技术,可以给某些公司等节省成本 提高资源利用率 增强服务器的可移植性等等。
目前由container(docker)的兴起 但是在某些方面无法完全代替虚拟机,所以虚拟机才会那么重要。
虚拟机和unix/linux系统有什么区别?
这两个是不同层级的概念 虚拟机是大电脑上的小电脑 而linux/unix是OS。一个完整的电脑必然包含OS 但是同时也包含了许多其他的内容,比如应用程序。
更加精确一点的来说:
虚拟机是虚拟机。
Linux/Unix是操作系统。这个概念是和windows操作系统并列的。
为什么只有Java虚拟机而没有Python虚拟机?
其实有Python虚拟机的。不过我们一般叫这个:“Python解释器”
回忆一下为什么叫Java虚拟机:
首先Java虚拟机本质上还是虚拟机,所以Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。
具体这两者见本博主的其他文章:
《Java虚拟机和Python解释器有什么区别?》