后记

纵观虚拟机技术发展, 可以总结出如下比较明显的发展趋势:

  • 就目前看来, 传统的面向个人用户的虚拟机正成为一种小众产品, 如各个游戏机的模拟器. 目前这类应用遇到的主要障碍集中在虚拟机的性能, 兼容性等硬性不足上. 但是面向开发者的虚拟机仍然在被大量使用, 比如 Android 开发方向, 那么相信绝大多数开发者一定用过 Android 虚拟机; 或者是硬件开发方向, 那也很大可能使用过各种硬件仿真器. 它们的优点是无需拥有或携带原始物理机器, 就能为该机器开发应用.
  • 服务器虚拟化技术实现的资源整合正在快速发展. 无论是亚马逊, 阿里云或是腾讯云, 它们均通过虚拟机的形式将一台物理机分割为互相独立的几部分并向用户出售. 其优势是资源隔离, 快速创建与快速销毁.
  • 关于程序虚拟机, 有一些比较有趣的点, 那就是自从 Java 之后, 世界上很少再出现基于虚拟机的流行编程语言了. 近些年以来比较流行的 Golang 和 Rust 语言, 均是静态编译形语言. 虽然说程序虚拟机抽象了操作系统和底层硬件的区别, 使得编程语言可以方便的跨平台运行, 但似乎并不足以弥补其本身的性能不足. 当今世界科学技术正在以令人惊异的速度发展, 从 IoT(物联网)到大数据到 AI(人工智能), 它们对功耗, 性能与资源消耗的要求非常非常高, 虚拟机在这方面存在天然的劣势. 笔者认为这是一个取舍问题, 而非谁对谁错的问题.

可以很明显发现虚拟机在过去的时间里正在从用户面前走到舞台后面成为幕后英雄. 它支撑了服务器与服务端, 同时给用户提供了软件的运行环境而用户却根本无法察觉虚拟机的存在. 但科技史是一个螺旋上升的过程, 虚拟机或许会重新走向台前面对用户. 刺激这个转变的可能会有以下这几个点:

  • 信息安全. 在现代社会个人隐私和信息安全正以近乎无赖的方式被泄露, 而使用虚拟机为操作系统中运行的软件提供虚拟环境是最根本的解决方案. 像前几年爆出的棱镜门事件, 除了让斯诺登名声大噪之外, 也让他的一个习惯被大众所熟知: 他几乎只在虚拟机中进行涉及个人信息的操作.
  • 硬件发展. 随着硬件发展, 那么制约现阶段的游戏机模拟器或虚拟机的硬件问题也将自然消失.

同时, 虚拟机可能会更多出现在非计算机领域, 它不再仅仅是对一台计算机的模拟, 其甚至可以发展到对一个生命体或者物理规律的模拟. 现在已经有一批机器人工程师开始在包含物理引擎的游戏引擎中训练机器人双足行走, 另有一些生物学家联合计算机工程师试图使用代码完整模拟一个单细胞生物的全部神经元. 虚拟机正是这样一门充满无限可能的学科, 如果站得更高一点, 或许能看到远处的《黑客帝国》?