Macで仮想化環境を作るには?
ネーティブ仮想化の利点と欠点
OS XでWindowsのアプリケーションを動かすために使える仮想化環境は、ネーティブ仮想化とAPIエミュレーションがあることを説明しましたが、それぞれの利点と欠点をまとめます。
ネーティブ仮想化の最大の利点は精度の高さです。OS自体は通常のものを使うので、ほとんどのアプリケーションが確実に動きます。ただし、ハードウエアに依存するようなアプリケーションは動かないことが多々あります。2ページ目で上げた仮想化環境でも、ゲームなど、3Dビデオカードの必要なアプリケーションは動かない場合があります。
一方、速度の面では、PC1台をまるまるソフトウエアで実現するので、元のPCの速度に比べて劣ります。またメモリも多く消費します。
しかし、最近のCPUはネーティブ仮想化支援の仕組みを搭載しているので、速度の低下は非常に少なくなってきています。
APIエミュレーションの利点と欠点
APIエミュレーションは、どのAPIをエミュレーションするかに非常に依存します。例えば、Windows APIでもたくさんのAPIがあるので、どの部分をエミュレーションするかで、動くアプリケーションの幅が変わります。
APIエミュレーションは、OSの機能を新たに実装しているので、メモリやCPUなどが遅くなるといった障害が少ないという利点があります。またホストOSに親和性の高いユーザーインタフェースが提供できます。
ただし、APIエミュレーションでは、対応していないOSのアプリケーションを動かすことはできません。例えば、Windows APIエミュレーションの場合、Linuxのアプリケーションを動かすことはできません。複数のOSのアプリケーションを動かしたい場合、そのOSの分だけAPIエミュレーションが必要になります。ネーティブ仮想化は、1つあれば複数のOSに対応できますが、API仮想化ではOSごとに必要になります。
現在、FreeBSD上でもLinuxのアプリケーションを動かすためのパッケージがありますが、これもFreeBSD上のLinux APIエミュレーションの1つです。
またOSのアップデートのたびにAPIも変更する必要があり、最近のアプリケーションや機能がすぐには使えない可能性が高いという問題があります。
CPUが遅い時代には、ネーティブ仮想化の速度低下が大きく、APIエミュレーションに優位性がありましたが、昨今のCPUは非常に速い上に、CPU自体に仮想化の支援機能が導入されている場合があります。このように時代はネーティブ仮想化に優位になっています。
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 3大仮想化ソフトウエアを比較!
- Mac+Windowsの使い勝手を比較!
- Mac+Linuxの使い勝手を比較!
- andLinuxとは?
- サーバーの仮想化
- 米MSがBashシェルをWindowsに搭載、Emac、VT100などをサポート [Build 2016速報]、ほか
- サーバー準備からWordPressインストールまでの流れ
- parallels、Mac OS X向け仮想化ソフトウェア「Parallels Desktop 16 for Mac」を発表
- 「WSL2」をインストールしよう
- parallels、macOS向け仮想化ソフトウェア「Parallels Desktop 17.1 Update」を発表