このページの本文へ

前へ 1 2 3 次へ

Parallels Desktop for Mac

【レビュー】Parallelsはなぜ速い? その秘密をベンチマーク付きで徹底解析

2006年06月22日 03時12分更新

文● 田中俊光

  • この記事をはてなブックマークに追加
  • 本文印刷

ついに正式版が登場したIntel Mac初の仮想マシンソフトウェア『Parallels Desktop for Mac』(以下、Parallels)。速報インストール編に続き、今回はその仕組みと実際の速度についてお届けする。

Parallels
『Parallels Desktop for Mac』で『Windows XP Home SP2』を動作させたところ

インテル製CPUの採用がカギ

Virtual PC for Mac
『Virtual PC for Mac』

Parallelsをひと言で表すと、Intel版Mac OS X上に仮想PC環境を構築し、WindowsなどのOSを動作させる仮想マシンソフト(PCエミュレータ)となる。仮想マシンソフトにおいては、メインで動作しているOS(この場合Mac OS X)を“ホストOS”、その上で動作するWindowsなどのOSを“ゲストOS”と呼ぶ。

Macを長年使っている人なら、同種のソフトとしてマイクロソフト(株)の“Virtual PC”シリーズなどが思い浮かぶだろうが、実は両者は大きく異なる。その差が最も顕著に現れるのは動作速度だ。

PCの世界ではインテル製の“x86”アーキテクチャ(互換)のCPUが採用されている。これに対して、従来のMacはCPUに“PowerPC”を採用していた。両者の命令セットには互換性が無いため、Mac版のVirtual PCはx86アーキテクチャの命令をすべてPowerPCで“真似る”(エミュレートする)必要があり、動作速度が遅いという問題があった。

しかし、MacのCPUがインテル製の“Core”に切り替わった現在、仮想マシンソフト側でCPUのエミュレーションを行う必要はなくなった。




速さの秘密は“VT-x”にもあり

Virtual PC 2004
Windows上で動作する『Virtual PC 2004』

CPUの種類が変わったことに加えて、動作速度が向上した理由がもうひとつある。Coreに採用されているCPU仮想化技術“VT-x”だ。

先に「インテル製のCPUに切り替わったため、仮想マシンソフト側でCPUエミュレーションを行う必要がなくなった」と説明したが、これは厳密に言えば正しくない。

CPUには複数の動作モードがあり、OS上で動く各アプリケーションは“ユーザーモード”で、OS自体は“特権モード”(カーネルモード)でそれぞれ動作している。ハードウェアへのアクセスなど、システムに深く関わる命令(特権命令)は特権モードでないと実行できない仕組みとなっており、アプリケーションのバグや意図的な操作でOS全体を不安定になることを防いでいるのだ。

ホストOSから見ればひとつのアプリケーションにすぎないゲストOSは特権命令を実行することができない。ところがゲストOSは自分が仮想マシン上で動いていることが分からないため、普通に特権命令を出そうとしてしまう。

Windows版Virtual PCなど従来の仮想マシンソフトでは、非特権命令はCPUで直接実行できるが、特権命令はエミュレートして実行する必要があり、この処理が速度低下の要因となっていた。Core以前のCPUは複数OSを実行することが考慮されておらず、例えばWindows XP上でVirtual PCを使ってWindows 2000を動かす場合でも、特権命令はエミュレーションする必要があったのだ。

一方、CPUに仮想マシン用の命令が追加されたCoreでは、特権命令の処理をハードウェアで支援することで効率化を計っている。ParallelsはこのVT-xをサポートしており、従来よりも効率のいい仮想マシン環境構築を実現している。ただし、VT-xはあくまでもCPUの仮想化技術であるため、I/Oデバイスは従来通りソフトウェアによるエミュレーションが必要だ。



Mac版VPC模式図 Win版VPC模式図 Parallels模式図
Mac版のVirtual PCではすべての命令をエミュレーションする必要があったWindows版のVirtual PCはCPUにそのまま命令できるが、特権命令はエミュレーションするParallelsは特権命令のエミュレーションをCPUの機能であるVT-xを使って効率化する

Boot Campより少ない対応ハード

Boot Camp
『Boot Camp』

Intel MacでWindowsを使うもう一つの手段である『Boot Camp』は、ファームウェアを更新することで、PC互換の機能をIntel Macに追加するというものだ。

Parallelsと比較すると、Boot Campは利用できるOSがWindows XP(SP2)に限られており、Windows環境を使おうとするたびに再起動が必要になるという点がデメリットだ。

とはいえMac上でWindowsが直接動作するので、適切なデバイスドライバさえ用意できればハードウェアの機能をフルに利用できるというメリットは大きい。

Parallelsにおける各デバイスはエミュレーションで処理されるため、さまざまな制限がある。例えばFireWire端子やExpressCardスロットはParallelsが構築する仮想PC環境に存在しないため利用できない。

また、実際のハードウェアの種類に関わらず、CPUはシングルコア、ビデオカードはParallels独自のVESA 3.0互換ビデオカード、光学ドライブは書き込み不可のDVDドライブとして認識される。

このように、 Parallelsが構築する仮想PC環境は実際のハードウェアと異なるため、Boot Camp用のデバイスドライバーをParallelsのゲストOS環境にインストールすることはできない。



前へ 1 2 3 次へ

カテゴリートップへ

ASCII.jp RSS2.0 配信中