既にコンピューターの核となるCPUはもちろん、Windows OSも64ビット化し、数年が経ちました。今後、64ビットOSが主流になるのは誰の目にも明らかでしょう。そこで、現在Windows XPを使用し、そろそろコンピューターのリプレースを考えている方に、64ビット版Windows OSの長所や短所を含めた64ビットの世界を紹介いたします。

64ビット版Windows 7の特徴

前回述べたように、64ビット版のWindows VistaやWindows 7で32ビットアプリケーションを実行する場合、「WOW64(Windows-On-Windows 64:ワウ64)」を経由しています。確かに直接実行できないために若干のオーバーヘッドは発生しますが、体験速度としては微々たるもの。そのデメリットを消し去るほどのメリットが64ビットアプリケーションには存在します。

そもそも32ビットアプリケーションの場合、単一のソフトウェアが使用できるメモリ領域(オブジェクトサイズ)が2GB(ギガバイト)に制限されているため、物理メモリに余裕があっても大量のデータを扱うには、不要なデータを一度ファイルに待避させるといった処理が欠かせません。

Windows OSには、ローカルディスク上のファイルを仮想メモリとして使用するページファイル機能が備わっていますが、著しいパフォーマンスの低下を引き起こします。また、特殊な方法を用いれば3GBまで使用することも可能ですが、安定性を欠くため推奨されていません。

その点64ビットアプリケーションは前述のような制限はありませんので、コンピューターに搭載した物理メモリ容量をすべて使用することができます。つまり、高解像度化するデジタルカメラ画像のRAW編集や長時間の動画編集といった、大量のデータを扱うアプリケーションを頻繁に使用する方は、できるだけ早く64ビット環境に移行すべきでしょう。

その64ビット版Windows 7には、32ビット/64ビット版のInternet Explorer 9とWindows Media Player 12が用意されています。一見すると64ビット版だけあれば済むように思われますが、両者の32ビット版を用意した最大の理由が互換性。ご存じのとおりInternet Explorerシリーズは、機能拡張やWebサイト独自の機能をActive Xコントロールで実現してきました(図01)。

図01 64ビット版Windows 7には、64ビットアプリケーションとしてのInternet Explorerが用意されています

Windows Media Playerシリーズにも視覚エフェクトや音楽エフェクトといったプラグイン機能が用意されていますが、これらアドオンの大半は32ビット版アプリケーションを前提に開発されています。そのため、64ビット版Internet Explorer 9に32ビット版のActiveXコントロールを導入することはできません。

一見すると、32ビットアプリケーションのようにWOW64を使用すれば解決するように思えるでしょう。しかし、技術的な問題で32ビット向けのソフトウェアと64ビット向けのソフトウェア間で、相互的な呼び出しが禁止されているため、Adobe Flash Playerなどは32ビット版と64ビット版が用意されているのです。

32ビット/64ビット版Windows OSの相違点として、フォルダー構造があげられます。64ビット版Windows 7では、導入するアプリケーションによって「Program Files」「Program Files (x86)」とふたつのProgramFilesフォルダーを用意し、前者に64ビットアプリケーション、後者に32ビットアプリケーションのファイルを展開する仕組みを採用しました。前述したようにInternet Explorer 9も両フォルダーに用意されています(図02)。

図02 32ビットアプリケーションを格納する「Program Files (x86)」フォルダーと、64ビットアプリケーションを格納する「Program Files」フォルダー

また、システムファイルを格納するシステムフォルダー(\Windows\System32)には、64ビット版のファイルが格納されていますが、32ビットアプリケーションは同フォルダーにアクセスすることはできません。そのため「\Windows\SysWOW64」フォルダーを用意し、32ビットアプリケーションがシステムフォルダーを参照する場合は同フォルダーへリダイレクトする仕組みを用意しています(図03)。

図03 64ビット版Windows 7で32ビットアプリケーションを実行する際に使用するシステムファイルは「\Windows\SysWOW64」フォルダーに格納されています

同様のリダイレクトはレジストリにも用いられており、32ビットアプリケーションがHKEY_LOCAL_MACHINE\SOFTWAREキーにアクセスする場合は、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nodeへリダイレクトされます。このロジックはレジストリキー各所に設けられていますので、興味がある方はこちらの開発者向け技術資料をご覧ください。