仮想マシン(VM: Virtual Machine)とは、擬似的に動作するソフトウェア実装のコンピュータまたは動作環境の総称である。
OSやソフトウェアには動作に適した物理的環境(メモリやICの仕様など)があり、通常は1台のパソコン上で1つのOSしか動かせない。あるいは、通常のソフトウェアは対応したOSでしか動作しないようになっている(例えばLinux対応ソフトはWindows上では動かせないことが多い)。
上記のような問題を回避したい場合に、OSやソフトウェアが動作可能になるような仮想的な環境を再現(エミュレート)するソフトウェアが仮想マシンである。イメージとしては物理的なパソコンの中に仮想的なパソコンを作ってそこでOSを動かす感じである。
OSやハードウェアそのものをエミュレートする仮想マシンと、プログラム動作環境をエミュレートするための仮想マシンに大別される。
OS上において、別のハードウェアアーキテクチャやOSをエミュレーションする、エミュレーターと呼ばれる類のもの。
仮想マシンが動作するOSをホストOS、仮想マシン上で動作するOSをゲストOSと呼ぶ。ホストOSとゲストOSの種類は同じであることも、別々であることもある。
ゲストOSは、仮想マシン上における仮想デバイスを実在のハードウェアとして認識する。これらの仮想デバイスは、一般的に仮想XXXと呼ばれる。例として、仮想デバイスのNICであれば、仮想NICなどと呼ばれる。
Java仮想マシンが代表的。
プログラミング言語を機械語にまで変換すると、違うプラットフォームでは動作しないという問題がある。これを解決するためプログラミング言語を中間コードにコンパイルし、各プラットフォームに「中間コードを機械語として実行するコンピューター」のエミュレーターを仮想マシンとして用意する方法が採られた。
OS上でプログラムの動作環境のみを提供し、別のOSの機能がフルセットで提供されるわけではない点、エミュレーションの対象である「中間言語を機械語として実行するコンピューター」を実物として入手する方法ない(余談: 後から作られたことは歴史上あるが、長続きしなかった)点、がゲストOS動作のための仮想マシンと異なる。
掲示板
急上昇ワード改
最終更新:2023/04/02(日) 14:00
最終更新:2023/04/02(日) 14:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。