仮想マシン

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) is a software-based emulation of a physical computer system. It operates as a self-contained environment that runs its own operating system (guest OS) and applications, independent of the underlying hardware (host machine). Virtualization technology allows multiple VMs to run concurrently on a single physical host, each with its own virtualized hardware resources such as CPU, memory, storage, and network interfaces. This abstraction is managed by a hypervisor, which is a layer of software (Type 1 runs directly on hardware, Type 2 runs on top of a host OS) responsible for creating, running, and managing the VMs. VMs provide numerous benefits, including hardware independence, allowing applications to run on different hardware configurations without modification; resource isolation, preventing issues in one VM from affecting others or the host; and efficient resource utilization, by consolidating multiple workloads onto fewer physical servers. They are widely used for server consolidation, testing and development environments, disaster recovery, running legacy applications, and creating isolated security sandboxes. Trade-offs include performance overhead compared to bare-metal execution due to the hypervisor layer, and the need for sufficient host resources to support multiple VMs effectively. Managing VM lifecycles, storage, and networking also requires specialized expertise.

        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;

      

🧒 5歳でもわかるように説明

A virtual machine is like having a separate computer inside your real computer. You can install different programs and even a different operating system on it, and it won't mess with your main computer.

🤓 Expert Deep Dive

Ethereum Virtual Machine(EVM)は、スマートコントラクトのために設計された、決定論的でスタックベースの実行環境です。その中核的な機能は、Ethereumネットワーク全体でトランザクション呼び出しと状態遷移を処理することです。EVMの仕様では、一連のオペコード、256ビットのワードサイズ、そして計算処理を計測するためのガススケジューリングメカニズムが定義されています。決定論は極めて重要であり、同じ初期状態を持つ同じバイトコードを実行するすべてのノードは、同一の最終状態に到達しなければなりません。これは、EVMの状態遷移関数への厳格な準拠によって達成されます。ガスメカニズムは、リソースの乱用を防ぐ一方で、経済的な制約を導入し、特にトランザクションコストとスループットの制限に関して、dAppの設計とユーザーエクスペリエンスに大きな影響を与えます。アーキテクチャ上のトレードオフには、複雑な計算に対するスタックベースアーキテクチャの固有の限界や、スマートコントラクト実行におけるガス効率の最適化の課題が含まれます。EVMの設計上の選択は、その後のブロックチェーン仮想マシン設計に影響を与えてきましたが、同時に、より高いパフォーマンスと低いトランザクション手数料を求める継続的な探求を浮き彫りにし、Layer 2ソリューションや代替実行環境のようなイノベーションにつながっています。

📚 出典