このページの本文へ

前へ 1 2 3 次へ

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

Parallels Desktop for Mac

2006年06月22日 00時00分更新

文● 田中俊光

  • この記事をはてなブックマークに追加
  • 本文印刷
販売元:米パラレルズ社
価格:79.99ドル(7月15日までは49.99ドル)
http://www.parallels.com/

編集部註(2007年3月19日):本レビューは英語版のものです。日本語版は2006年11月11日、(株)プロトンから1万8900円で発売されました(製品情報)。

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

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

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

Virtual PC for Mac
『Virtual PC for Mac』

Parallelsをひと言で表すと、インテル版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に切り替わった現在、仮想マシンソフト側で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模式図 Mac版のVirtual PCではすべての命令をエミュレーションする必要があった
Windows版VPC模式図 Windows版のVirtual PCはCPUにそのまま命令できるが、特権命令はエミュレーションする
Parallels模式図 Parallelsは特権命令のエミュレーションをCPUの機能であるVT-xを使って効率化する

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

Boot Camp
『Boot Camp』

インテルMacでWindowsを使うもう一つの手段である『Boot Camp』は、ファームウェアを更新することで、PC互換の機能をインテル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 次へ

Apple Store オススメ製品

ASCII.jp RSS2.0 配信中