(Paul Thurrott)

 私はこのところずっと「Windows XP Professional x64 Edition」(XP x64)のベータ版を試している。これは,32ビット版のWindows XP Professionalを,x64と総称される32ビットCPUと互換性のある64ビットCPUに対応させたもので,基本的な仕様は32ビット版とそっくりである。最新のベータ版では,32ビット用Windows XP Service Pack 2の新機能のほとんどが,このx64 Editionに追加されている。

XP x64は,2003 SP1と同時に出る
 Windows XP Professional x64 Editionは,2005年前半提供のWindows Server 2003 Service Pack 1に合わせて出荷される。基本的に32ビット版Windows XP Professionalの全機能を備えるが,DOSアプリケーションを走らせるための16ビット・サブシステムや,Mac OSで使われるAppleTalk,NetBEUIという古いプロトコルなどが除かれている。

 記事執筆時点のXP x64ベータ版(公式に入手できるものはビルド1218)は,Windows Server 2003およびWindows XPが装備する「Luna」という開発コード名のユーザー・インターフェースに,Bluetooth対応やWindowsファイアウオールといった32ビット版Windows XP SP2の機能を加え,64ビット版独自の少数の新機能を入れたものになっている。例えば,XP x64は32ビット版と64ビット版のInternet Explorer(IE)を搭載している。これは,多分32ビット版IEのアドオンが,64ビット版IEでは動かないからだ。今回は,このベータ版を基にXP x64の機能を紹介しよう。

データ実行防止機能が基本的にフルに利用可能
 XP x64はMicrosoftが32ビット版XP SP2向けに開発した「データ実行防止機能(DEP)」の技術をサポートする。DEPは不正なプログラムによる攻撃を防止する機能である。例えばデータ領域とマークされたメモリーにおけるコード実行を禁止する仕組みにより,バッファ・オーバーフロー型の攻撃を防ぐ。

 DEPは32ビットCPU上では,純粋にソフトウエア・ベースの技術である(訳注:DEPにはハードウエアの対応が必要なハードウエアDEPと,ハードの対応が不要なソフトウエアDEPがある)。現在の32ビット・プロセッサでは,ハードウエア対応が必要なDEP機能は使えない。しかし,x64と総称される64ビット・プロセッサでは基本的にフルにDEPが有効になる。例えば,AMD64アーキテクチャのプロセッサ(AMD Athlon 64やAMD Opteronなど)や,Intel Extended Memory 64 Technologyアーキテクチャの比較的新しいプロセッサでは,32ビットのXP SP2でもハードウエアDEPが利用できる。AMD64対応のCPUでは「no execute(NX)」,EM64T対応CPUでは「Execute Disable」と呼ばれる機能によって,不適切なコードの実行が禁止されるのである。XP x64は,上記アーキテクチャの64ビットCPU上で稼働するため,全般的に32ビット・システムより安定で安全な環境が実現するはずだ。

 MicrosoftはそもそもDEPをデフォルトで全プログラムに対して有効にして32ビット版のXP SP2を出荷するつもりだった。しかし,SP2のテストを通じて同社はDEPの例外警告を引き起こす正当なアプリケーションがあまりに多いことを発見した。DEPにより強制終了させられるアプリケーションを使いたいとき,ユーザーは,問題が出たプログラムをDEPの例外リスト(つまり今後DEPによる防御の対象にしないプログラムのリスト)に追加しなければならない。

 結局,警告がテスターにはとてもうるさいものだったため,Microsoftは32ビット版のXP SP2では,OS以外のアプリケーションに対してハードウエアDEPを無効にする初期設定を選んだ。システム上でこの機能の設定を調べるには,コントロール・パネルの[システム]を開き,[詳細設定]タブの[パフォーマンス]にある[設定]ボタンを押して出る画面で[データ実行防止]タブを開く。32ビット版のXP SP2では2つのオプションが選べる。まず重要なWindowsプログラムとサービス(XP SP2の一部として出荷されたアプリケーションとサービスを指す)だけでDEPを有効にする設定で,これがデフォルトである。もう1つは,ユーザーが指定したものを除く,すべてのプログラムとサービスに対してDEPを有効にする設定だ。後者の場合,防御対象にするアプリケーションをユーザーが追加・削除する。

 XP x64ではDEPの設定項目が少し違っている。こちらでは「全プログラムを対象にDEPを有効にする(デフォルト)」「DEPを無効にする」「ユーザーが指定したプログラムのリストにあるものを除く全プログラムに対してDEPを無効にする」――という3つの選択肢がある。

 最後の選択肢は,DEPの警告が出たプログラムを許可するようDEPを設定したときに有効になる。私は,XP x64上でDEPの例外警告がMicrosoftのアプリケーションに関して出るということも体験した。例えば,Office 2003は問題なくインストールできたが,Office 2003 SP1ではWindowsインストーラに関する警告が出た。このときの警告ダイアログ画面はあまり役に立たない。「このプログラムのアップデート版が利用可能かどうかを知りたければ,その提供者に連絡を取ってください」という。ただし,アプリケーションを例外リストに追加すれば,きちんと動くようになる。

 私はMicrosoftが32ビット版と64ビット版のWindows XPの両方でDEPによるシステム保護を進めていることは賞賛に値すると思う。Microsoftのグループ・プロダクト・マネージャであるBarry Goffe氏は次のように自賛しているが同感だ。「われわれはユーザー・モードのアプリケーションについても(DEPを)有効したかったが,よく使われているアプリケーションの大多数が警告を出した。だからわれわれは(32ビット版のSP2では)それを無効にした。しかしそれでも(そのOSでも)Microsoftの製品は保護される。これはすごいことだ。驚くべき技術だ」。

アプリケーションとドライバのサポートは予想以上
 アプリケーションの互換性は良好だ。私はこれまでXP x64上にインストールして動かせた32ビット・アプリケーションの数の多さに感動した。一方,MicrosoftのPowerToys for Windows XPなど特定のユーティリティや,いくつかのゲーム,Windows Media Player(WMP) 10は,x64システム上にインストールできず動作しない。

 ドライバのサポートも私の予想を超えていた。5月にMicrosoftのシニア・バイス・プレジデントであるBob Muglia氏とWindows Serverの将来計画について話したときのことを思い出す(既報)。そのとき彼はx64システムの優位性を訴える一方で,ドライバ・サポートに問題があるかもしれないと素直に認めていた。しかし,私がテストに使ったHP Pavilion a640nというデスクトップPCはXP x64ベータもWindows 2003 SP1 x64ベータも完璧に動作した。同こんされたものでインストールされなかったのはオーディオ・ドライバだけである(ただし同社のWebサイトから入手したものはインストールできた)。さらにビデオ・カードをより高性能なNVIDIAのものに換えたとき,私はNVIDIAのベータ版の64ビット・ドライバを問題なく探し出せた。それも完璧に動く。

x64への投資は未来に向けた投資
 XP x64はまだ開発途上であり,2005年前半の製品版の出荷までに大きく改良されるだろう。今の段階でも,その安定性や性能/互換性には感動する。私は2005年ごろにこのOSが稼働するx64ベースのPCが,実用的でお薦めの選択肢になることをほとんど疑っていない。

 x64への投資は未来に向けた投資である。このOSのユニークな特徴と能力を大容量のメモリーと余裕あるリソースと組み合わせられるし,MicrosoftにはTechnology Exchange Programという,32ビットOSとx64対応64ビットOSの交換サービスを始める計画がある。これでお分かりだろう。x64プラットフォームこそ次の波だ。特にPCとワークステーションにとっては。私はサーバーOSのx64版も詳しく調べるつもりだ。クライアント版と同様に,x64版のサーバーOSも素晴らしいものだろう。