仮想化とは
ソフトウェア(ここでいうソフトウェアは、オペレーティングシステム、Windows, Linuxなどを指す)をソフトを使用して、マシンの中に別のマシン(ここでいうマシンはハードウェアがあるかのようなという意味、仮想マシンと言う)が存在するかのように動作させる仕組みのことを指す。
仮想化の目的
- 動かしたいソフトウェアがホストマシン上で動かないとき
- 多重起動したいのに多重起動ができない場合
- 動かしたいソフトウェアがホストマシンに適合するソフトウェアがない時
ntp(chrony)など、Windows 10にはない機能の場合 - 動かしたいソフトウェアがホストマシンに影響する場合
- ウイルスなどが混入している可能性がある場合
- ウェブサーバーなど一つしか起動できない場合(ネットワークのポート80番が競合する場合)
- Visual Studioのように、システムを根本から変更し、アンインストールできないものをインストールしたい場合
仮想化の利点
- 目的に使用するためのCPUリソース、メモリリソース、必要な環境を知る機能がある
- 操作以前に戻す機能(スナップショット、差分ファイル)など
- 他にも、クラスタ化など、いろいろな用途に応用されている。
仮想化の種類と特徴
- ハイパーバイザ(完全仮想化)- Hyper-v(Microsoft) KVM(Linux) Xen あと、VMWara社も出しているが製品名は知らない
ハードウェアによる仮想化なので、高速に作動する - 準仮想化 Virtual Box(Oracle) android studio(Google) VMware
ハイパーバイザを利用しつつエミュレーションを行うので、動作が遅くなる - エミュレーター
ソフトウェア的にエミュレーションをするので、動作が遅くなるがサポートできるソフトウェアが多くなる。動くソフトウェアが多くなる。