Что такое виртуальная машина (VM)?

Ключевые моменты, которые следует помнить

  • Виртуальные машины (VM) позволяют запускать различные операционные системы или приложения на одном устройстве без дополнительного оборудования.

  • Виртуальные машины идеально подходят для безопасного тестирования нового программного обеспечения, пробования других систем или изоляции потенциально рискованных программ.

  • ВМ, такие как виртуальная машина Ethereum (EVM), позволяют смарт-контрактам и децентрализованным приложениям (DApps) надежно функционировать в глобальной вычислительной сети.

  • Хотя виртуальные машины предлагают гибкость и контроль, они могут подразумевать компромиссы в отношении производительности, использования ресурсов и сложности.

Введение

Вы когда-нибудь хотели запустить Windows на своем MacBook или протестировать приложение Linux, не меняя операционную систему или не покупая второй компьютер? Виртуальные машины делают это возможным, создавая изолированную среду, в которой различные операционные системы и приложения могут безопасно функционировать. Они также широко используются в блокчейн-сетях для управления смарт-контрактами и децентрализованными приложениями (DApps).

Что такое виртуальная машина?

Виртуальная машина похожа на компьютер, который вы можете настроить всего за несколько кликов, не требуя дополнительного оборудования. Вы можете установить операционную систему, хранить файлы, запускать приложения и подключаться к Интернету, но вы запускаете её внутри существующего компьютера, называемого хостом.

Ваша хост-система выполняет большую часть работы в фоновом режиме, делясь своей памятью, вычислительной мощностью и хранилищем, чтобы виртуальная машина работала без сбоев. Эта система особенно полезна, если вам необходимо использовать программное обеспечение, доступное только на другой операционной системе.

Работа виртуальных машин

Программное обеспечение, называемое гипервизором, управляет всем процессом в фоновом режиме. Гипервизор берет физические ресурсы вашего компьютера, такие как центральный процессор (CPU), оперативная память (RAM) и хранилище, и делит их так, чтобы несколько виртуальных машин могли использовать их одновременно.

Существует два основных типа гипервизоров:

  • Тип 1 (нативный) : они устанавливаются непосредственно на оборудование и часто используются в центрах обработки данных или облачных платформах. Они разработаны для производительности и эффективности.

  • Тип 2 (хостинг): эти виртуальные машины работают на вашей обычной операционной системе (как приложения) и подходят для тестирования и разработки.

После настройки виртуальной машины вы можете запустить её как настоящий компьютер и установить программное обеспечение, просматривать Интернет или разрабатывать приложения.

Почему использовать виртуальную машину?

1. Для тестирования новых операционных систем

С помощью виртуальной машины вы можете тестировать различные операционные системы, не внося изменения в ваш основной компьютер. Это как попробовать новую систему в безопасной и изолированной среде.

2. Для изоляции рискованных программ.

Нуждаетесь в открытии файла, в безопасности которого вы не уверены, или в тестировании неизвестного приложения? Запустите его в виртуальной машине, чтобы защитить ваш компьютер, таким образом, если вы столкнетесь с вредоносным ПО или сбоем системы, ваш основной компьютер не пострадает.

3. Для запуска устаревшего или недоступного программного обеспечения

Некоторые программы работают только на более старых системах, таких как Windows XP. Виртуальная машина может воссоздать эту среду, позволяя вам продолжать использовать программное обеспечение, которое может не работать на современных устройствах.

4. Для разработки и тестирования кода на различных платформах

Виртуальные машины позволяют разработчикам легче тестировать свой код на различных операционных системах и имитировать работу новых приложений в различных средах.

5. Для пополнения облака

Многие облачные сервисы (, такие как AWS, Azure и Google Cloud), построены на виртуальных машинах. Когда вы запускаете облачный экземпляр, вы запускаете виртуальную машину в удаленном дата-центре, готовую к размещению веб-сайтов, приложений или баз данных.

Как блокчейн-сети используют виртуальные машины?

В то время как традиционные виртуальные машины являются изолированными средами, виртуальные машины блокчейна функционируют как движок, исполняющий смарт-контракты на блокчейне. Виртуальная машина Ethereum (EVM) позволяет разработчикам писать смарт-контракты на языках, таких как Solidity, Vyper и Yul, и разворачивать их на Ethereum и других совместимых с EVM сетях. EVM гарантирует, что каждый узел сети применяет одни и те же правила при создании или взаимодействии со смарт-контрактами.

Блокчейн-сети реализуют свои собственные типы виртуальных машин в зависимости от своих проектных целей. Некоторые фокусируются на скорости и масштабируемости, в то время как другие стремятся быть более безопасными или гибкими для разработчиков. Такие сети, как Near и Cosmos, используют виртуальные машины на основе WebAssembly (WASM), которые поддерживают смарт-контракты, написанные на нескольких языках программирования.

Другие блокчейн-сети, такие как Sui, используют MoveVM, который выполняет смарт-контракты, написанные на языке Move. Блокчейн Solana использует пользовательскую среду выполнения, часто называемую виртуальной машиной Solana (SVS), которая предназначена для обработки транзакций параллельно и управления значительной сетевой активностью.

Виртуальные машины в действии

Вы, возможно, их не замечаете, но виртуальные машины работают в фоновом режиме каждый раз, когда вы взаимодействуете с децентрализованными приложениями (DApps).

  • Если вы используете приложение децентрализованных финансов (DeFi), такое как Uniswap, ваши транзакции управляются смарт-контрактами, выполняемыми в EVM.

  • Если вы создаете NFT, виртуальная машина выполняет код, который определяет, кому принадлежит каждый NFT. Когда вы совершаете покупку или перевод, виртуальная машина обновляет реестры, чтобы собственность на NFT оставалась точной.

  • Если вы используете слой 2 rollup (layer 2), ваши транзакции могут обрабатываться специализированной виртуальной машиной, такой как zkEVM. zkEVM позволяет zk-rollups выполнять смарт-контракты с использованием технологии доказательств с нулевым разглашением (ZKP).

Ограничения виртуальных машин

1. Нагрузка на производительность: виртуальные машины добавляют дополнительный этап между аппаратным обеспечением и выполняемым кодом, что может замедлить процессы или потребовать больше вычислительных ресурсов по сравнению с запуском приложений непосредственно на физической машине.

2. Операционная сложность: обслуживание виртуальных машин (, особенно в облачной инфраструктуре или блокчейн-сетях ), требует значительных усилий в плане настройки и обновлений. Это занимает время и часто требует специализированных инструментов и знаний.

3. Совместимость: смарт-контракты часто разрабатываются для конкретной среды виртуальной машины. Код, написанный для смарт-контрактов Ethereum, должен быть переписан или адаптирован для работы на других несовместимых блокчейнах, таких как Solana. Это означает, что разработчики должны потратить больше времени и усилий, если они хотят запустить одно и то же приложение в нескольких средах.

Заключение

Виртуальные машины играют ключевую роль в работе классических компьютеров и блокчейн-систем. Они позволяют запускать различные операционные системы, безопасно тестировать программное обеспечение и использовать одно и то же оборудование для различных задач.

Виртуальные машины также используются в блокчейн-сетях для выполнения смарт-контрактов и децентрализованных приложений. Даже если вы не являетесь экспертом, понимание того, как работают виртуальные машины, может прояснить механизмы многих инструментов и платформ DeFi, которые мы используем.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить