什么是虚拟机 (VM)?

需要记住的要点

  • 虚拟机 (VM) 允许在同一设备上运行不同的操作系统或应用程序,而无需额外的硬件。

  • 虚拟机非常适合安全测试新软件,尝试其他系统或隔离潜在风险的程序。

  • 虚拟机,如以太坊虚拟机(EVM),允许智能合约和去中心化应用(DApps)在全球计算网络上可靠地运行。

  • 尽管虚拟机提供灵活性和控制,但它们可能在性能、资源使用和复杂性方面需要做出妥协。

介绍

您是否曾希望在您的 MacBook 上运行 Windows,或在不更改操作系统或购买第二台计算机的情况下测试 Linux 应用程序?虚拟机使这成为可能,创建一个隔离的环境,可以安全运行不同的操作系统和应用程序。它们在区块链网络中也被广泛使用,以管理智能合约和去中心化应用 (DApps)。

什么是虚拟机?

虚拟机类似于您可以通过几次点击配置的计算机,无需额外硬件。您可以安装操作系统、存储文件、运行应用程序并连接到互联网,但它是在您现有的计算机上运行的,称为主机。

您的主机系统在后台完成大部分工作,分享其内存、计算能力和存储,以便虚拟机能够顺利运行。如果您需要使用仅在其他操作系统上可用的软件,这个系统特别有用。

虚拟机的工作原理

一个叫做超监控程序的软件在后台管理整个过程。超监控程序获取您计算机的物理资源,如中央处理器(CPU)、随机存取存储器(RAM)和存储,并将其共享,以便多个虚拟机可以同时使用这些资源。

存在两种主要类型的虚拟机监控程序:

  • 类型 1 (本地) : 它们直接安装在硬件上,通常用于数据中心或云平台。它们旨在提供高性能和高效率。

  • 类型 2 (托管):这些虚拟机在您的常用操作系统上 (像应用程序)一样运行,适合测试和开发。

一旦虚拟机配置完成,您可以像真正的计算机一样启动它并安装软件、浏览互联网或开发应用程序。

为什么使用虚拟机?

1. 用于测试新操作系统

通过虚拟机,您可以测试不同的操作系统,而无需对主计算机进行更改。这就像在安全和隔离的环境中尝试一个新系统。

2. 为了隔离风险软件

需要打开一个您不确定的文件或测试一个未知的应用程序吗?在虚拟机中运行它可以保护您的计算机,因此如果您遇到恶意软件或系统故障,您的主计算机将不会受到影响。

3. 为了运行过时或不可用的软件

某些程序仅在较旧的系统上运行,例如 Windows XP。虚拟机可以重建该环境,使您能够继续使用可能在现代设备上无法运行的软件。

4. 为了在不同平台上开发和测试代码

虚拟机使开发者能够更轻松地在不同操作系统上测试他们的代码,并在各种环境中模拟新应用程序的运行。

5. 为云提供动力

许多云服务(如AWS、Azure和Google Cloud)都是建立在虚拟机上的。当您启动一个云实例时,您是在远程数据中心启动一个虚拟机,准备托管网站、应用程序或数据库。

区块链网络如何使用虚拟机?

传统的虚拟机是隔离的环境,而区块链虚拟机则像是一个在区块链上执行智能合约的引擎。以太坊虚拟机(EVM)允许开发者使用Solidity、Vyper和Yul等语言编写智能合约,并将其部署在以太坊及其他兼容EVM的网络上。EVM确保网络中的每个节点在创建或与智能合约交互时遵循相同的规则。

区块链网络根据其设计目标实现自己的虚拟机类型。有些专注于速度和可扩展性,而另一些则旨在为开发者提供更高的安全性或灵活性。像 Near 和 Cosmos 这样的网络使用基于 WebAssembly (WASM) 的虚拟机,支持用多种编程语言编写的智能合约。

其他区块链网络,如 Sui,使用 MoveVM,执行用 Move 语言编写的智能合约。Solana 区块链使用一个自定义的执行环境,通常称为 Solana 虚拟机 (SVS),旨在并行处理交易并管理大量的网络活动。

虚拟机的实际应用

您可能没有注意到,但每次您与去中心化应用程序(DApps)交互时,虚拟机都会在后台工作。

  • 如果您使用像 Uniswap 这样的去中心化金融应用 (DeFi),您的交易将由在 EVM 中执行的智能合约管理。

  • 如果您铸造一个NFT,虚拟机将执行代码,确定每个NFT的归属。当您进行购买或转移时,虚拟机会更新记录,以保持NFT的所有权准确。

  • 如果您使用层 2 的 rollup (layer 2),您的交易可以通过专用虚拟机处理,例如 zkEVM。zkEVM 允许 zk-rollups 使用零知识证明技术执行智能合约 (ZKP)。

虚拟机的限制

1. 性能开销:虚拟机在硬件和执行代码之间增加了一步,这可能会使过程变慢或比直接在物理机上执行应用程序需要更多的计算资源。

2. 操作复杂性:特别是在云基础设施或区块链网络中,维护虚拟机器(需要在配置和更新方面投入大量精力。这需要时间,并且通常需要专业工具和知识。

3. 兼容性:智能合约通常是为特定的虚拟机环境设计的。为以太坊智能合约编写的代码必须重写或调整,以便在不兼容的其他区块链上运行,例如Solana。这意味着开发者如果想要在多个环境中运行相同的应用程序,就必须投入更多的时间和精力。

结论

虚拟机在传统计算机和区块链系统的运行中起着至关重要的作用。它们允许安全地运行不同的操作系统、测试软件,并使用相同的硬件执行多种任务。

虚拟机也用于区块链网络中,以执行智能合约和去中心化应用程序。即使您不是专家,了解虚拟机的工作原理也可以阐明我们使用的许多DeFi工具和平台的机制。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)