64ビット版Windows XP Professionalで3つの「どうなる?」

マイクロソフトは都内で行われた開発者向けコンファレンスで64ビット版Windows XP Professionalを6月1日から提供することを明らかにした。x64Windowsで気になるポイントを見てみよう。

» 2005年05月24日 19時07分 公開
[西尾泰三,ITmedia]

 マイクロソフトは5月24日、東京都内でWindows XP Professional x64 Editionおよび次期WindowsのLonghornに関する詳細を披露するイベント「Win HEC 2005 Highlights」を開催した。その中で行われた発表会では、マイクロソフトWindows本部パートナーマーケティング部シニアテクニカルエバンジェリストの長尾康氏が「Windows XP Professional x64 Edition 日本語版」の提供を6月1日から開始することを明らかにするとともに、同製品の技術説明とマーケティングに関する説明を行った。

長尾氏 「(コンシューマでのターゲットは)日本流に言えばマニア」と長尾氏

メモリが増えるとどうなる?

 今回発表された「Windows XP Professional x64 Edition」を一言で表すと「Windows XP Professional SP2」とほぼ同様の機能を備え、物理メモリは最大128Gバイト、直接アドレス指定できる仮想メモリは16TバイトとしたWindows OSだといえる。

 これまでの32ビット版Windowsは当然ながら32ビットの仮想アドレス空間を使用しており、利用可能な仮想メモリ量は最大4Gバイトだった。この4Gバイトがさらにユーザーモードプロセスとカーネルモードに均等に分割されるので、実質的にプロセスが使える仮想メモリは2Gバイトだった。

 こうした問題を解決するため、64ビット版Windowsの登場以前は、「/LARGEARDDRESSAWARE」というリンカオプション指定してコンパイルされたアプリケーションを用意し、Windowsの起動時に/3Gバイトスイッチを指定することでユーザーモードプロセスに3Gバイトを割り当てる方法が考案された。また、Windows Server 2003では、物理アドレス拡張(PAE)を使用することで、追加の物理メモリを使用できたが、大幅なオーバーヘッドが生じることと、仮想メモリアドレス空間の容量が変わらないので、いずれも根本的な解決とは言えないものだった。

 そうした問題を解決したのが64ビットの力だった。サポートされる仮想メモリアドレス空間と物理メモリ量の両方が増加することで、パフォーマンスの大幅な向上が期待できる。16Tバイトの仮想メモリはユーザーモードプロセスとカーネルモードに均等に分割され、ネイティブの64ビットアプリケーションは、8Tバイトの仮想メモリアドレス空間を利用できる。「/LARGEARDDRESSAWARE」オプションを使ったアプリケーションも起動時にスイッチを指定することなく、後述するWOW64サブシステムを介して4Gバイトの仮想メモリに自動的にアドレス指定できる。

32ビットと64ビットWindowsのメモリとアドレスの比較
メモリ上限 32ビット 64ビット
総仮想アドレス空間 4Gバイト 16Tバイト
32ビットプロセスの仮想アドレス空間 2Gバイト
(/3Gバイトスイッチを指定してシステムを起動した場合は3Gバイト)
2Gバイト/4Gバイト
(/LARGEADDRESSAWARE利用時)
64ビットプロセスの仮想アドレス空間 適用なし 8Tバイト
ページプール 47Mバイト 128Gバイト
非ページプール 256Mバイト 128Gバイト
システムキャッシュ 1Gバイト 1Tバイト
物理メモリとCPUの上限 32ビット 64ビット
Windows XP Professional 4Gバイト/最大2CPU 128Gバイト/最大2CPU

 この表から、システムキャッシュの容量も大幅に拡張されたことで、ファイルアクセスを減らし、結果としてパフォーマンスの向上につながることが予想される。

本来、64ビットをすべてアドレス指定すると、16エクサバイトのアドレス空間にアドレス指定できる。しかし、Windows x64 Editionsでは、メモリのアドレス指定に44ビットしか使用していないので、2の44乗、つまり16Tバイトとなっている。

 なお、従来の32ビットWindows XP ProfessionalでサポートしていたDOS、16ビットアプリケーション、OS/2、POSIXサブシステムなどはすべてサポート外となったが、32ビットアプリケーションで使用されている特定の16ビットインストーラだけはサポートされている。そのほか、NetBEUI、データリンク制御(DLC)、AppleTalkなどのレガシネットワーキングプロトコルはサポートされない。

32ビットアプリはどうなる?

 そして話はWOW64(Windows 32 on Windows 64)へと移った。今回発表された製品は64ビット版だが、マイクロソフトでは既存の32ビットアプリケーションの資産も無駄にならないことを強調する。

 WOW64はWindowsの起動時にサブシステムをロードする形で立ち上がる一種のエミュレーションレイヤで、32ビットアプリケーションはこれを介して64ビットファイルシステムにアクセスする。「%windir%\system32」をハードコートして作成されているアプリケーションへの対応など、32ビットと64ビットの両バージョンのアプリケーション間のファイルやレジストリの競合を防ぎながら、32ビットアプリケーションがシームレスに実行される様子などがデモでは示された。

 なお、WOW64では、32ビットアプリケーションは64ビットのDLLを読み込めず、64ビットアプリケーションは32ビットのDLLを読み込めない。このため、例えば、64ビット版のInternet Explorer(IE)では32ビット版のActiveXコントロールを実行できない(Windows XP Professional x64 Editionには32ビットバージョンのIE6.0が用意されている)。

 上記の理由で、すべてのカーネルモードドライバの64ビット化は必須となり、32ビットカーネルモードドライバに依存するアプリケーション、長尾氏いわく「bad behavior」なアプリケーションは、WOW64サブシステムでも実行できない。なお、WOW64では.NET Frameworkは32ビットアプリケーションとしてサポートされる。

販売形態はどうなる?

 「Windows XP Professional」ファミリーの1つとして考えられている同製品のターゲットとしては、「高度なパフォーマンスを必要とするユーザー」となっている。より具体的なターゲットとしては、CAD/CAM、DCC、開発者、財務に携わるハイエンドワークステーションを使っているようなユーザー、コンシューマーでは最先端のゲーマー、ビデオ編集、写真編集などを行うユーザーとなる。

 なお、今回ローカライズされているのは英語版、日本語版のみ。ドイツ語をはじめとする言語は英語版に多国語対応キットを追加したMUI(Multilingual User Interface)版で対応している。

 提供方法については、38社に及ぶPC/ワークステーションメーカーやシステムメーカーのほか、ボリュームライセンス、MSDN、TechNet、そして「Technology Advancement Program」が用意されているのみで、リテールパッケージやアップグレードパスは用意されていない。価格については、「32ビットのWindows XP Professionalと同等」(長尾氏)としている。ボリュームライセンスでは既存の32ビット版Windows XP Professionalのディスクキットに64ビット版のメディアを追加する形となる。

 また、ライセンスSKU(SKUは製品を識別するための番号)は既存の32ビット版Windows XP Professionalと統合され、必要なバージョンを使うことができる。例えば、5ライセンスがある場合、32ビット版Windows XP Professionalを3台、64ビット版Windows XP Professionalを2台といったような使い方が可能となる。

 そのほか、6月上旬から180日限定評価版をマイクロソフトのサイトから申し込むことができる予定となっているほか、互換性の情報なども同時期に公開される予定だ。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ