ポイント3
ネットワーク機能

 ネットワーク機能でまず注意したいのが,Windows XP Professionalと同Home Editionの機能差だ。Home EditionはNTドメイン,Active Directoryドメインともに接続できない。“接続できない”とは,例えばシングル・サイン・オンなどドメインが提供するサービスを受けられないことを意味し,フォルダやプリンタなどの共有リソースへのアクセスは可能である。

 ただし,ある共有リソースへユーザーIDとパスワードを入力してアクセスした後,別の共有リソースにアクセスするには,パスワードを再入力する必要がある。入力したパスワードは,ログオン・セッションの間は有効だ。しかし,PCを起動するたびに接続する共有リソースの数だけパスワードを再入力する必要がある。また,ファイル・サーバーにNetWareを利用している場合は,Home Editionではアクセスする手段がない。

勝手にIPアドレスを振る機能に注意

図3●「プライベートIPアドレスの自動割り当て」に注意
Windows98以降のMicrosoft製クライアント向けOSに搭載されてきた,IPアドレスを自動的に割り振る機能「プライベートIPアドレスの自動割り当て」はWindows XPでも動作する。企業のLANでは不必要な機能で,DHCPサーバー障害時の切り分けなどで注意する必要がある

 Windows XPも,Windows98以降のWindows OSと同様に「プライベートIPアドレスの自動割り当て」と呼ぶ機能を備えている。これは,IPアドレスをOSが自ら決めてしまうもの。IPアドレスを明示的に指定しない設定で,起動時にDHCPサーバーなどが見つからないとき,169.254.0.1~169.254.255.254から空いているアドレスを割り振る(図3[拡大表示])。

 この機能は,「家庭内LANでの利用を想定している」(佐藤氏)。DHCPサーバーの機能がLAN上になければ,誰もIPアドレスを与えてくれる人がいないためだ。企業では,必要ないばかりか,DHCPサーバーのダウン時などに混乱する可能性もあるため無効にした方がよい。レジストリの操作で無効にできる*3

ポイント4
性能

 マイクロソフトがテストした結果によると,「CPUがCerelon 900MHzのマシンで,一般的なオフィス使用のシナリオでテストした結果,Windows Meより18%,Windows 2000 Professionalより数%,Windows XPが高速だった」(佐藤氏)という。編集部で試用した体感速度も,この結果に近い*4。特にアプリケーションの起動や起動後の操作で待つことが少なかった。


DLLの先読み技術で高速化

図4●DLLの先読み機能を備えて,実行性能を向上
Windows XPでは,「PreFetch」と呼ぶ,ファイル先読み機能を新たに備えた。あるアプリケーションがどのDLLやEXEファイルを利用するかを,アプリケーションの起動時にチェックし,CPUやディスクI/Oが少ない時間帯にあらかじめメモリーにロードしておくことで,アプリケーションの実行性能を向上させる

 この成果は,ソース・コード・レベルの高速化チューニングに加え,「PreFetch」と呼ぶ先読み技術を採用したことによる。動作原理は以下のようなものだ(図4[拡大表示])。Windows 2000までの従来OSは,あるEXEファイルがDLLを呼び出したときに初めて,OSはDLLファイルをハード・ディスクからメモリーに読み込む。この読み込みが性能のボトルネックになる場合があった。Windows XPでは,EXEファイルの読み込み時に,そのEXEファイルがどのDLLを利用するかを調査し,CPUやディスクI/Oの空きを見て,あらかじめメモリー上にDLLを読み込んでおく。DLLが必要なときに既にメモリー上にあれば高速になる。

 ただし,これはメモリーが十分ある場合だけである。Windows XPはOSのみ起動した状態で80M~90Mバイトのメモリーを消費する。推奨稼働環境は128Mバイト以上だが,一般的なソフトを複数立ち上げれば,既に余裕はない。意図的にメモリーを減らしスワップさせた時の性能は,Windows98よりもかなり悪く感じた。

(矢崎 茂明=yazaki@nikkeibp.co.jp)