Виртуальная Машина

A virtual machine (VM) is a software-based emulation of a physical computer system, allowing multiple isolated operating systems and applications to run concurr...

A virtual machine (VM) — это программная эмуляция физической компьютерной системы. Она работает как самостоятельная среда, в которой запускается собственная операционная система (guest OS) и приложения, независимо от нижележащего оборудования (host machine). Технология виртуализации позволяет одновременно запускать несколько VM на одном физическом хосте, каждая со своими виртуализированными аппаратными ресурсами, такими как CPU, память, хранилище и сетевые интерфейсы. Эта абстракция управляется hypervisor, который представляет собой слой программного обеспечения (Type 1 работает непосредственно на оборудовании, Type 2 работает поверх host OS), отвечающий за создание, запуск и управление VM. VM предоставляют множество преимуществ, включая аппаратную независимость, позволяющую приложениям работать на различных аппаратных конфигурациях без модификации; изоляцию ресурсов, предотвращающую влияние проблем в одной VM на другие или на хост; и эффективное использование ресурсов за счет консолидации нескольких рабочих нагрузок на меньшем количестве физических серверов. Они широко используются для консолидации серверов, сред тестирования и разработки, аварийного восстановления, запуска устаревших приложений и создания изолированных песочниц безопасности. Компромиссы включают накладные расходы на производительность по сравнению с bare-metal execution из-за слоя hypervisor и необходимость в достаточных ресурсах хоста для эффективной поддержки нескольких VM. Управление жизненным циклом VM, хранилищем и сетью также требует специальных знаний.

        graph LR
  Center["Виртуальная Машина"]:::main
  Rel_hypervisor["hypervisor"]:::related -.-> Center
  click Rel_hypervisor "/terms/hypervisor"
  Rel_virtualization["virtualization"]:::related -.-> Center
  click Rel_virtualization "/terms/virtualization"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

ЭВМ — это как двигатель внутри компьютера [Ethereum](/ru/terms/ethereum). Она читает специальные инструкции (байт-код) из смарт-контрактов и выполняет действия, подобно шеф-повару, который шаг за шагом следует рецепту. Каждый шаг требует немного денег на "газ", чтобы готовка не длилась вечно.

🤓 Expert Deep Dive

Виртуальная машина Ethereum (EVM) представляет собой детерминированную, стековую среду выполнения, предназначенную для смарт-контрактов. Ее основная функция заключается в обработке вызовов транзакций и переходов состояний в сети Ethereum. Спецификация EVM определяет набор опкодов, размер слова в 256 бит и механизм распределения газа для измерения вычислительных усилий. Детерминизм имеет первостепенное значение: каждый узел, выполняющий один и тот же байт-код с одним и тем же начальным состоянием, должен прийти к идентичному конечному состоянию. Это достигается за счет строгого соблюдения функции перехода состояний EVM. Механизм газа, предотвращая злоупотребление ресурсами, вводит экономические ограничения, которые существенно влияют на дизайн децентрализованных приложений (dApp) и пользовательский опыт, особенно в отношении стоимости транзакций и ограничений пропускной способности. Архитектурные компромиссы включают присущие стековой архитектуре ограничения для сложных вычислений и трудности в оптимизации эффективности использования газа при выполнении смарт-контрактов. Выбор дизайна EVM повлиял на последующие разработки виртуальных машин блокчейна, но также подчеркивает постоянный поиск более высокой производительности и снижения комиссий за транзакции, что привело к таким инновациям, как решения второго уровня (Layer 2) и альтернативные среды выполнения.

📚 Источники