科普

什么是虚拟机?有多少种类?有什么用处?

勤劳的小蜜蜂 · 1月24日 · 2019年 · ·

信息时代的今天,相信各位或多听过或少了解虚拟机,可到底什么是虚拟机呢?它们有多少种类?它们又有什么用处呢?希望诸位通过这篇文章可以对此有所了解。

首先,我们先来看下概念,


虚拟机(virtual machine):在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。

果然高深,别急,且听我用实际场景来为您解惑。

场景再现

互联网探索者

场景一:我是一名互联网探索者,经常游离于各种软件网站,对未知的渴望让我以身试险下载安全未知、来历不明的软件,电脑也是千苍百孔,常常中枪。

解决方案:在虚拟机中安装当前操作系统,一切风险操作都是在虚拟机的系统中完成。即使中弹,删掉重装,几分钟之后又是一条好汉,自己的电脑高枕无忧。

学习者

场景二:我是一名学习者,正在学习其他的操作系统或者软件,我想了解服务器端鼎鼎大名的Linux操作系统,却没有破釜沉舟的勇气卸掉Windows只用Linux,也想尝试乔帮主高逼格的Mac系统,可高达万元的售价让我退避三舍。

解决方案:不要一两万,也不要9998,虚拟机让你把所有系统抱回家,网上可以轻松找到多种操作系统,一天换一种,每天都是船新体验。

编程爱好者

场景三:我是一名编程爱好者,热爱与编写软件,可是操作系统、硬件环境又何止千千万万,每种情况都要重新编译,臣妾真的做不到。

解决方案:程序虚拟机呼之欲出,Java虚拟机JVM应声而出。Java的迅猛发展很大程度上是因为JVM的跨平台性,Java的愿景是“Write Once,Run Anywhere”。

软件开发者

场景四:我是一名软件开发者,环境变量的配置经常让我忙破头,换一台机器又要重新配置,劳神又费时,各种依赖库和组件,客户那边还不一定有,能不能跑起来还是一个问题

解决方案:所以操作系统层虚拟化Docker容器来了,Docker将应用程序与该程序的依赖,打包在一个文件里面,从而实现与底层系统的隔离,”Build once,Run anywhere”,一法解万愁。

总结一下

所谓的虚拟机都是对真实环境的虚拟化,以达到便捷的目的。

虚拟机目前分三种:

  • 系统虚拟机,例如:VMware
  • 程序虚拟机,例如:Java虚拟机(JVM)
  • 操作系统层虚拟化,例如:Docker

它们应对的场景不同,能解决的问题不同(如上述)。

0 条回应