Linux 実行可能ファイルは VMware Player でどのように機能しますか?

Linux 実行可能ファイルは VMware Player でどのように機能しますか?

.exe ファイルは Linux では直接実行できませんし、Linux 実行ファイルは Windows では直接実行できません。しかし、VMware を Windows にインストールすれば、同じハードウェアとアーキテクチャで両方のファイルを実行することができます。実行ファイルはどのように動作するのでしょうか?

答え1

より詳しい情報を得るには、VMware Workstationに関するWikipediaをご覧ください。[1]および仮想マシンモニターについて[6]

VMware Workstation は、いつでも仮想マシンの状態 (「スナップショット」) を保存できます。これらのスナップショットは後で復元でき、仮想マシンを保存された状態に効果的に戻すことができます。


つまり、それぞれ独自の実行ファイルを持つ複数のオペレーティングシステムを同時に実行することができます。「スーパーオペレーションシステム」各仮想マシン間で継続的に切り替わります。
異なる実行ファイルは、コンパイルされたシステム上で動作することができます。すべてが正しく実行されれば、違いに気付くことはありません。

さらにいくつかの言葉

一般的に、異なるオペレーティング システムまたは異なるアーキテクチャ用にコンパイルされた実行可能ファイルを処理できるようにマシンを設定するには、さまざまな方法があります。

  • Windows と Linux など、複数のオペレーティング システムを同時にインストールできます。
    起動時に選択するどのオペレーティング システムで動作するか。
    (+)完全な機能とスピードが得られますが、時間は限られています。
    (-)これは、ドライブ上の各インストールに必要なスペースを使用することを意味します。

  • あなたはエミュレータ、(「エミュレートする」) すべてのマシン命令を 32 ビットマシンで実行できるようになるかもしれません。例: bochs [2]または有名なmame[3]何千もの古典的なアーケード ビデオ ゲームとハードウェアを現代のコンピューターでエミュレートできます。
    (+)おそらくドライブのスペースを節約できるでしょう。
    (-)各指示を翻訳する必要があるため、実行速度は遅くなります。

  • あなたは互換性レイヤーとしてwine [4] (元々は「Wine Is Not an Emulator」の頭字語)Linux、Mac OSX、BSDなどのPOSIX準拠のオペレーティングシステム上でWindowsアプリケーションを実行可能Windows API 呼び出しをオンザフライで POSIX 呼び出しに変換します。
    (+)以前のものより速い (-)必ずしも互換性があるわけではない

  • インストールできます仮想マシンモニター(VMM)タイプII [6]。 これ仮想化ソフトウェアオープンソースのVirtualBox [5]は、関連する実行ファイルが実行される、変更されていないオペレーティングシステム全体をインストールすることができます。いわゆる仮想マシンはホストされて実行される元のオペレーティング システムによって (下の図を参照)。

    ... インストールされたソフトウェアをすべて含んだ変更されていないオペレーティングシステムを特別な環境で実行できるようにする一種の仮想化。既存のオペレーティング システム上に構築します。この環境は「仮想マシン」と呼ばれ、仮想化ソフトウェアが特定のハードウェアコンポーネントと特定の機能へのアクセスを傍受することによって作成されます。[5]

    VMMタイプI、II [6] : タイプIおよびIIのハイパーバイザー

  • 最後になりましたが、タイプIのハイパーバイザー [6]、 または仮想マシンモニター(VMM)、仮想マシンを作成して実行するコンピュータソフトウェア、ファームウェア、またはハードウェア今回はハードウェア上で直接実行され、オペレーティングシステムは次のようになります。そのプログラムの一つ上の図を参照してください。

    ホストのハードウェア上で直接実行され、ハードウェアを制御し、ゲスト オペレーティング システムを管理します。このため、ベアメタル ハイパーバイザーと呼ばれることもあります。ゲスト オペレーティング システムは、ホスト上のプロセスとして実行されます。

結論
各実行ファイルは、ハードウェアと通信するオペレーティングシステムごとにコンパイルされます。命令、ライブラリ、ポリシーが異なるため、Windowsの実行ファイルは通常Linuxでは動作しません。逆にしかし、ご覧のとおり、これに対処する方法はたくさんあります言語翻訳プログラムが気付かないように、異なる種類のレイヤーを追加します。

注記:一部のアセンブラプログラムはメモリと割り込みへの直接アクセスを必要とした[7]特別な注意が必要になる場合があります。

関連情報