什么是虚拟机 Virtual Machine ?_区块链:比特币

虚拟机(VM)于20世纪60年代诞生。这篇我们将回答以下问题:什么是VM?为什么人们需要虚拟机?虚拟机在区块链项目中扮演什么角色?

那么,虚拟机到底是什么?最早出现在计算机世界中时,VM 的定义是真实计算机的副本。

但VM实际上有不同的种类。第一种称为 System VM ,系统虚拟机(也称为完全虚拟化虚拟机),它可以替代硬件机器。我们可以在上面运行未经修改的操作系统,如 Linux 或 Windows 。VirtualBox 和 VMware Server 就属于这类虚拟机,也是大家比较熟悉的。第二种是 Process VM,进程 VM ,它被设计为在独立于平台的环境中执行计算机程序。众所周知的 JVM 就是这种类型,我们可以在 JVM 上运行 Java 程序。

摩根士丹利:比特币下跌并非什么新鲜事:2月1日消息,摩根士丹利:比特币下跌并非什么新鲜事,此轮调整在历史规范的范围内。(新浪财经)[2022/2/1 9:25:07]

Host 是一个跟 VM 紧密相关的概念。VM 毕竟是软件,所以必须要有真正的机器来运行它。上面运行了 VM 的真实机器,就叫做 Host ,宿主机。

总而言之,VM 个运行在真实机器上的软件,提供操作系统(在系统VM的情况下)或应用程序(在进程 VM的情况下)的运行环境。

BM:没有社区的技术什么都不是,该让EOS社区站出来了:EOS创始人Daniel Larimer(BM)在推特上回复评论时表示,没有社区的技术什么都不是。什么样的社区会等待“其他人”让他们的代币变得有价值?是时候让EOS社区站出来了。Block.one将作为EOS社区成员履行自己的职责。[2020/8/7]

什么是 VM 聊完了,下面来聊 VM 能干些什么事。

第一个使用场景。当我的硬件 CPU 是 A 架构的,但是我要运行的程序只能在 B 架构的 CPU 上运行, VM 就会派上用场。

第二个使用场景。当我只能买得起一台计算机,但是需要同时运行多个操作系统。比如,我在我的硬件机器上安装了Linux 桌面版,现在我想要运行 Linux 服务器来托管我的 Web 应用,还需要一个 Windows 来测试 Web 应用。这样,我就可以选择一个可以安装到 Linux 上的 VM 软件,比如 Virtual Box,把它安装到我的电脑上,然后启动两个 VM 实例就可以运行我需要的另外两个操作系统了。

声音 | 比特币安全专家:代码提交等KPI可信度取决于区块链项目既定目标是什么:据AMBcrypto消息,比特币安全专家Andreas Antonopoulos近期在会议现场提出:“我们是否应该将代码提交、区块链活动、DApp数量或节点数量作为衡量区块链项目成功与否的KPI(关键绩效指标)?这取决于你想达到的目标是什么。”Antonopoulos指出,KPI的可信度在很大程度上取决于选择适合其特定需求的度量标准。然而,他承认在许多情况下很难准确地衡量这些标准。Antonopoulos还提醒与会者,要避免将KPI视为一种投资零和游戏。[2019/5/7]

第三个使用场景。让我的程序可以在各种平台上运行。为了不用给每个平台都写一个版本的代码并且专门编译一下, 我需要在每个操作系统之上添加一层来磨平平台差异,这时候 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 。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:0ms0-1:77ms