仮想マシンとは何ですか (VM) ?

覚えておくべき重要なポイント

  • 仮想マシン (VM) は、追加のハードウェアなしで同じデバイス上で異なるオペレーティングシステムやアプリケーションを実行することを可能にします。

  • VMは、新しいソフトウェアを安全にテストしたり、他のシステムを試したり、潜在的にリスクのあるプログラムを隔離したりするのに最適です。

  • VMは、Ethereum (EVM)のように、スマートコントラクトや分散型アプリケーション(DApps)がグローバルなコンピュータネットワーク上で信頼性を持って動作することを可能にします。

  • VMは柔軟性と制御を提供しますが、パフォーマンス、リソースの使用、複雑性に関して妥協が必要になることがあります。

イントロダクション

MacBookでWindowsを実行したり、オペレーティングシステムを変更したり、別のコンピュータを購入することなくLinuxアプリケーションをテストしたいと思ったことはありませんか?仮想マシンは、安全にさまざまなオペレーティングシステムやアプリケーションを実行できる隔離された環境を作成することで、これを可能にします。また、ブロックチェーンネットワークでは、スマートコントラクトや分散型アプリケーション(DApps)を管理するためにも広く使用されています。

仮想マシンとは何ですか?

仮想マシンは、追加のハードウェアを必要とせずに数回のクリックで設定できるコンピュータに似ています。オペレーティングシステムをインストールし、ファイルを保存し、アプリケーションを実行し、インターネットに接続できますが、既存のコンピュータ(ホストと呼ばれます)内で実行されます。

ホストシステムはバックグラウンドで大部分の作業を行い、仮想マシンがスムーズに動作するために、メモリ、計算能力、ストレージを共有します。このシステムは、別のオペレーティングシステムでのみ利用可能なソフトウェアを使用する必要がある場合に特に便利です。

仮想マシンの動作

ハイパーバイザーと呼ばれるソフトウェアが、バックグラウンドで全プロセスを管理します。ハイパーバイザーは、あなたのコンピュータの物理リソース(例えば、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、ストレージなど)を取得し、それらを複数の仮想マシンが同時に使用できるように分配します。

ハイパーバイザーには主に2種類あります:

  • タイプ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(と対話するたびにバックグラウンドで動作しています。

  • あなたがUniswapのような)DeFi(の分散型金融アプリケーションを使用する場合、あなたの取引はEVM内で実行されるスマートコントラクトによって管理されます。

  • NFTをミントすると、仮想マシンは各NFTの所有者を決定するコードを実行します。購入や転送を行うと、仮想マシンはNFTの所有権が正確に保たれるようにレジスターを更新します。

  • レイヤー 2 のロールアップ )layer 2( を使用すると、取引は zkEVM のような専門の仮想マシンによって処理されます。zkEVM は、zk-rollups がゼロ知識証明技術 )ZKP( を使用してスマートコントラクトを実行できるようにします。

仮想マシンの限界

1. パフォーマンスのオーバーヘッド:仮想マシンはハードウェアと実行されるコードの間に追加のステップを挿入するため、物理マシン上でアプリケーションを直接実行する場合と比較して、プロセスが遅くなったり、より多くの計算リソースを必要とすることがあります。

2. オペレーショナル複雑性:特にクラウドインフラストラクチャやブロックチェーンネットワーク)における仮想マシンのメンテナンス(は、設定やアップデートにおいて多大な努力を必要とします。これは時間がかかり、しばしば専門的なツールや知識を必要とします。

3. 互換性:スマートコントラクトは特定の仮想マシン環境のために設計されることがよくあります。イーサリアム用に書かれたスマートコントラクトのコードは、ソラナのような互換性のない他のブロックチェーンで動作するために、書き直すか調整する必要があります。これは、開発者が複数の環境で同じアプリケーションを実行したい場合、より多くの時間と労力を費やさなければならないことを意味します。

まとめ

仮想マシンは、従来のコンピュータやブロックチェーンシステムの動作において重要な役割を果たします。これにより、異なるオペレーティングシステムを実行したり、ソフトウェアを安全にテストしたり、同じハードウェアをさまざまなタスクに使用したりすることができます。

仮想マシンは、スマートコントラクトや分散型アプリケーションを実行するためにブロックチェーンネットワークでも使用されています。専門家でなくても、仮想マシンの仕組みを理解することで、私たちが使用する多くのDeFiツールやプラットフォームのメカニズムを明らかにすることができます。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)