5

という言葉をよく耳にしますが、ちょっと混乱しています。

  • 別のオペレーティング システムをシミュレートできるオペレーティング システム上に構築された単なるソフトウェア アプリケーションですか?

  • 誰かが仮想マシンをコーディングするとき、基本的にはオペレーティング システムの作成に着手しますが、ハードウェアに直接アクセスする代わりに、必要な適切なトラップ命令を呼び出すだけですか? しかし、そうすると、割り込みなどの特定の保護されたアクションをシミュレートできなくなりますよね?

  • Windows 内から Linux デスクトップにリモート接続して実行できること以外に、これが役立つ理由は他にありますか?

  • 「仮想マシン モニター」とは何ですか?

  • Java 仮想マシンのポイントは何ですか? 他の言語が行うことを実行しないのはなぜですか?

乾杯

4

4 に答える 4

4

そこには多くの質問があります。仮想マシンに関する私の経験を説明することに着手します。

これらは、さまざまな OS バージョン (たとえば、vista と windows 7、またはさまざまなバージョンの android、2.3 と 4.0 など) でコードやアプリケーションをテストするのに最適な方法です。

また、メインのデスクトップ コンピューターをきれいに保つための優れた方法でもあります。おそらく、ベータ版ソフトウェアまたはベータ版 OS をインストールしたいのですが、メイン マシンを不安定にしたくありません。Windows 8プレビューをインストールしていじり、後でゴミ箱に入れることができます。Windows 8 プレビューは、メイン マシンとして使用するには安定性に欠けますが、評価する必要があるかもしれません。

仮想マシンを作成してスナップショットを作成することもできます。これは、アプリケーションをテストしたい場合、アプリケーションをテストしているときにマシンの正確な状態を知るために、スナップショットにロールバックできることを意味します。

仮想マシン モニターは、すべての仮想マシンの現在の状態を表示できるアプリケーションです。おそらく、複数のライブサーバーが実行されている実稼働システムを実行しています。それらが Web サーバーの場合、それぞれが仮想マシンで実行できます。仮想マシン モニターでは、それぞれが使用している CPU の量を確認できます。メモリの増加、サーバーの追加、サーバーの削除、新しいサーバーのインストールなど。

仮想マシンは、このような稼働中の状況では優れています。クローンを作成したり、メモリを増やしたり、メモリを減らしたり、サーバーを追加したりでき、これらの操作はすべて非常に簡単に実行できるからです。

于 2012-05-22T04:41:33.357 に答える
2

ウィキから:

仮想マシン (VM) は、「通常のホスト オペレーティング システム内に完全に分離されたゲスト オペレーティング システムのインストール」です。最新の仮想マシンは、ソフトウェア エミュレーションまたはハードウェア仮想化のいずれか、または (ほとんどの場合) 両方を組み合わせて実装されます。

詳細については、これを確認してください。

于 2012-05-22T04:44:15.827 に答える
2

Java 仮想マシンと仮想マシンは 2 つの完全に異なるものです。

  • Java 仮想マシン (JVM) は、Java バイトコードを実行できる仮想マシンです。
  • 仮想マシン (VM) は、「通常のホスト オペレーティング システム内に完全に分離されたゲスト オペレーティング システムのインストール」です。

仮想マシンは割り込みをキャッチし、コンピューターとまったく同じように動作します。開発者向けの観点では、さまざまな OS のテストとデバッグに非常に役立ちます。サーバー環境では、単一のメインフレームの仮想化に最適です。

Java 仮想マシン(JVM) は、Java バイトコードを解釈する目的を果たします。Java は中間状態に「コンパイル」され、JVM は開発者に対して完全に透過的な方法でホスト マシン上で Java を実行します。

于 2012-05-22T04:45:54.810 に答える
1

別のオペレーティング システムをシミュレートできるオペレーティング システム上に構築された単なるソフトウェア アプリケーションですか?

これは、別のオペレーティング システム上に構築された、ハードウェア プラットフォームのソフトウェア シミュレーションです。

誰かが仮想マシンをコーディングするとき、基本的にはオペレーティング システムの作成に着手しますが、ハードウェアに直接アクセスする代わりに、必要な適切なトラップ命令を呼び出すだけですか? しかし、そうすると、割り込みなどの特定の保護されたアクションをシミュレートできなくなりますよね?

はいといいえ。多くの場合、仮想化のためのハードウェア サポートが提供されます。たとえば、次を参照してください: x86 仮想化 - ハードウェア サポート

Windows 内から Linux デスクトップにリモート接続して実行できること以外に、これが役立つ理由は他にありますか?

多くの理由。

  • テストについてはすでに説明しました。
  • ホスト OS 内で別の OS を実行する機能について言及しました。
  • VM の実行状態のスナップショットを作成する機能。
  • 実行中の VM を開始/停止/一時停止する機能。

Java 仮想マシンのポイントは何ですか? 他の言語が行うことを実行しないのはなぜですか?

プラットフォーム非依存。

于 2012-05-22T04:49:47.557 に答える