虚拟机(VM)于20世纪60年代诞生。这篇我们将回答以下问题:什么是VM?为什么人们需要虚拟机?虚拟机在区块链项目中扮演什么角色?
那么,虚拟机到底是什么?最早出现在计算机世界中时,VM 的定义是真实计算机的副本。
但VM实际上有不同的种类。第一种称为 System VM ,系统虚拟机(也称为完全虚拟化虚拟机),它可以替代硬件机器。我们可以在上面运行未经修改的操作系统,如 Linux 或 Windows 。VirtualBox 和 VMware Server 就属于这类虚拟机,也是大家比较熟悉的。第二种是 Process VM,进程 VM ,它被设计为在独立于平台的环境中执行计算机程序。众所周知的 JVM 就是这种类型,我们可以在 JVM 上运行 Java 程序。
周小川谈比特币:要搞清楚对实体经济的好处是什么:中国人民银行前行长周小川表示,不管数字货币还是数字资产,都要为实体服务。“我们经历过2008年的全球金融危机,发现金融脱离了实体,比如影子银行、衍生品这些纯粹变成了金融机构之间的投机交易,和实体没有联系了,就容易出问题,以至当是一些国际大行的领导、交易员们看不懂,很难做好内部控制。“
周小川表示,要区分数字货币和数字资产,对于比特币这类数字资产,并非现在要下结论,但是”要提醒,要小心“,在中国,金融创新的东西都要说清楚它对实体经济的好处”。[2021/4/19 20:34:00]
美联储理事夸尔斯:不认为央行数字货币能够修复什么紧急缺陷:美联储理事夸尔斯:不认为央行数字货币能够修复什么紧急缺陷。(金十)[2021/3/30 19:31:03]
Host 是一个跟 VM 紧密相关的概念。VM 毕竟是软件,所以必须要有真正的机器来运行它。上面运行了 VM 的真实机器,就叫做 Host ,宿主机。
总而言之,VM 个运行在真实机器上的软件,提供操作系统(在系统VM的情况下)或应用程序(在进程 VM的情况下)的运行环境。
什么是 VM 聊完了,下面来聊 VM 能干些什么事。
Gemini联合创始人:年轻人不知道没有互联网或比特币的世界是什么样子:Gemini联合创始人Cameron Winklevoss今早发推称,今天成长起来的一代人,不知道一个没有互联网或比特币的世界是什么样子。加密一代或“C世代”不会接受他们正在继承的集中化世界,而是会致力于建立一个全新的、去中心化的世界。[2020/7/18]
第一个使用场景。当我的硬件 CPU 是 A 架构的,但是我要运行的程序只能在 B 架构的 CPU 上运行, VM 就会派上用场。
第二个使用场景。当我只能买得起一台计算机,但是需要同时运行多个操作系统。比如,我在我的硬件机器上安装了Linux 桌面版,现在我想要运行 Linux 服务器来托管我的 Web 应用,还需要一个 Windows 来测试 Web 应用。这样,我就可以选择一个可以安装到 Linux 上的 VM 软件,比如 Virtual Box,把它安装到我的电脑上,然后启动两个 VM 实例就可以运行我需要的另外两个操作系统了。
第三个使用场景。让我的程序可以在各种平台上运行。为了不用给每个平台都写一个版本的代码并且专门编译一下, 我需要在每个操作系统之上添加一层来磨平平台差异,这时候 VM 就可以作为这一层来使用。比如,我只要编写一次 Java 程序,然后就可以在安装了 JVM 的任何平台上运行程序了。
VM 在实际工作中被广泛使用,以上其实还不是所有情形。
VM 在区块链领域也很常用。
如果你也搞区块链,所以大概率是已经知道以太坊虚拟机(EVM)了。EVM 可以让我们在以太坊上运行智能合约。大家可以在 EVM 上运行用一种名为 Solidity 的语言编写的程序。这让我们想起了刚才提到的 JVM ,JVM 和 EVM 都是进程 VM。
Nervos CKB 区块链也有自己的 VM,名为 CKB-VM 。CKB-VM 运行智能合约的方式跟 EVM 不一样。CKB-VM不为特定高级语言编写的程序提供支持,而是一个模仿 RISC-V CPU 硬件的 System VM。[RISC-V](https://zhuanlan.zhihu.com/p/53565685)是一个开源 CPU 架构。这种方式的好处是,可以用我们想要的任何高级编程语言写智能合约,然后将它编译为 RISC-V CPU 的二进制格式,就可以运行了。挺 Cool 的。
现在对区块链上的虚拟机原理是不是清晰了一些了呢。
关于 VM ,主体内容就是这些了。总结一下,VM 分为两种,系统 VM 和进程 VM 。EVM 可以归类为进程 VM ,CKB-VM 则属于系统 VM 。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。