仮想機械
出典: フリー百科事典『ウィキペディア(Wikipedia)』
仮想機械(かそうきかい)とは、コンピュータのCPUや記憶装置等のリソースを仮想化した上で、その仮想化したコンピュータを実行するソフトウェアである。バーチャルマシン(英:Virtual Machine)とも称される。
Smalltalk、Pascal、.NETのCLR、Java、Perlの次期実装、などで広く知られている。仮想CPUにバイトコードを実行させる形式が一般的である。
なお、Pascalのp-codeインタプリタはウェスタン・デジタル MCP-1600チップセットが作られるなどハードウエアによる実装も行われている。JavaVMはSunよりネイティブ・フルスピードで動作するチップを製作する計画が発表されたが実際にはサブセット的実装にとどまった。ARMアーキテクチャではJazelleと呼ばれるJavaバイトコードを実行できる命令セットへ実行モードを切り換える事ができるものがある。
UNIX、OS/2、Windows NT等におけるプロセスは、メモリ管理ユニット(MMU)によって、仮想化されたメモリ空間でネイティブコードを実行するハードウエアによる仮想機械である。仮想化された機械を管理するソフトウエアを一般的にはカーネル(KERNEL・核)と呼ぶ。
[編集] 一台のコンピュータを複数のコンピュータとしてハードウェア的に利用する
IBMのVMや、VMware等でおなじみの仮想機械(仮想マシンモニタ)。一台のコンピュータを複数のコンピュータとして、ハードウェアレベルで使うことができる。一台のコンピュータ上で特にオペレーティングシステムの変更なしに、複数のゲストオペレーティングシステムを稼働させたりする。稼働させる複数のゲストオペレーティングシステムは、全く別の種類のオペレーティングシステムであることも可能である。