このページの本文へ

前へ 1 2 次へ

マイクロソフト、64bit環境に関する開発/技術者向けセミナー“Microsoft Windows 64-bit Edition Technology Tour 2004”を開催

2004年06月23日 20時57分更新

文● 編集部 内田泰仁

  • この記事をはてなブックマークに追加
  • 本文印刷
米マイクロソフトのWindowsディビジョン・リードプロジェクトマネージャー、クライド・ロドリゲス氏『Windows XP 64-bit Edition』の起動画面。x64向け64bit版Windows XPのリリースは2004年下半期に登場予定

64bit版Windowsがサポートするメモリー容量とプロセッサー数などの一覧
2番目のセッションは、64bit環境におけるアプリケーションアーキテクチャーの全般的な話題について、米マイクロソフトのWindowsディビジョン・リードプロジェクトマネージャーのクライド・ロドリゲス(Clyde M.Rodriguez)氏が解説を行なった。ここでは、アプリケーション開発者の視点から、既存アプリケーションの64bit環境への移行についてなどが語られた。

冒頭「今回来場した開発者の方々の中には16bitから32bitへの移行を経験した人も多いのではないか」と述べた同氏は、異なるメモリーモデルやデータサイズタイプ、エントリーポイントの問題など、「しばしば多くの困難を伴った」(同氏)16bitから32bitへの移行プロセスと比較すると、メモリーモデルとデータタイプサイズが同じことなどから、今回の32bitから64bitへの移行は容易であるとしている。



32bit版と64bit版のWindows XPやWindows Server 2003は同じソースコードツリーから開発されている

64bit版Windowsに“IPF”向けと“x64”向けがあることは前述したとおりだが、同氏の説明によると、いずれのバージョンも32bit版と同じソースコードツリーから開発されており、ごく少数の非互換API(10程度)を除く99%以上の互換性を持つという。また、バイナリーは“IPF”版と“x64”版とで別々だが、機能的には差異はないという。

“Windows 32 on Windows 64(WOW64)”の基本構造。IPF向け64bit版Windowsでは32bitアプリケーションの動作にWOW64に加えて実行レイヤーが必要。x64ではそのまま実行されるdumpbin.exeでWord 2003の実行ファイルを判定した結果。32bitアプリケーションと判定されたが、64bit環境でも問題なく動作していた

64bit版Windows上での32bitアプリケーションの実行は、OS起動時にロードされる新サブシステム“Windows 32 on Windows 64(WOW64)”が用いられる。エンドユーザー側からは見えない状態で機能し、64bit版Windows上でほとんどの32bitアプリケーションが動作するようになる。ただし、16bitアプリケーションは動作せず、Kernel Modeドライバーは64bit化が必須となるという。なお、アプリケーションを実行しただけではそのアプリケーションが32bitが64bitかを判定するのは困難だが、dumpbin.exeという判定プログラムやタスクマネージャーにより確認が可能だという。

32bitアプリケーションの64bitへの移行に向けたガイドとしては、アプリケーションの分析の必要性を強調。分析すべき点としては、

  • 単体アプリケーションか、階層型のアプリケーションか
  • 必要とするテクノロジーは何か(COM/COM+、ISAPI、.NET、など)
  • どのコンポーネントが利用可能か

を挙げている。

MSDNで配布されているサンプルプログラム“Nile”(32bitアプリケーション、画面左)を64bit化する例。右が64bit化されたのちの構造図。画面へのアウトプット部分は64bit化の恩恵がないため32bitのまま残し、データのやり取りが行なわれる他の部分を64bit化している

またロドリゲス氏は、64bitに移行するメリットをケースバイケースで分析し、「本当に64bitに移行する必要があるかどうかを判断する必要がある」と述べている。例として紹介された32bitアプリケーションの場合、SQL Serverとのデータ交換を行なう部分などは64bit化による高速化などのメリットが大きいが、結果の表示部分については、64bit化しても高速化などのメリットはないため、あえて工数を費やして64bit化する必要はなくそのまま使用する、といったように判定されていた。なお、同氏のコメントによると、32bitアプリケーションを64bitにリコンパイルした場合、アプリケーションによって違いはあるものの、おおむね64bitアプリケーションのほうが25%程度ほどファイルサイズが大きくなる傾向にあるという。

前へ 1 2 次へ

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン