Insider's Eye

64bit時代のWindowsアプリケーション開発(1)

―― 64bit環境はアプリケーション開発に何をもたらすか?  ――

Michael Cherry
2005/07/27
Copyright (C) 2005, Redmond Communications Inc. and Mediaselect Inc.


本記事は、(株)メディアセレクトが発行する月刊誌『Directions on Microsoft日本語版』2005年8月号p.14の「本格64ビット時代へ突入、x64対応アプリ開発を追う」を、許可を得て転載したものです。同誌に関する詳しい情報は、本記事の最後に掲載しています。

 64bit対応のWindowsがリリースされ、ハードウェアも64bit対応サーバ製品が続々と登場しつつあり、ようやく企業ユーザーが64bitコンピュータを導入する準備が整ったといえる。特にデータベースやターミナル・サーバなど大量のメモリを消費するアプリケーションにとっては、64bitプロセッサのもたらす恩恵は大きい。また、財務分析やエンジニアリングなど、複雑な計算を要するアプリケーションのパフォーマンスの向上も期待できる。しかし、やはり64bitシステムの真価を引き出すには、64bitアプリケーションの導入が必要だ。また、64bit CPUを活用し、さらに高いパフォーマンスを実現するには、Microsoftにとどまらず、ソフトウェア開発における抜本的な変更が必要になる可能性がある。

64bitアーキテクチャの分かれ道

 64bitという言葉は、64bitのメモリ・アドレスと64bit幅のレジスタを採用するプロセッサを指す。Microsoftは、次の2種類の64bitプロセッサ・アーキテクチャをサポートしている。いずれも現在の市場で主流を占める32bitのx86アーキテクチャとの下位互換性を維持しているが、既存の32bitアプリケーションを動作させる方法が異なっている。

■Intelアーキテクチャ:Itanium
 IntelのItaniumアーキテクチャ(略称:IA64)は、Intelの80486やPentiumシリーズなど32bitプロセッサに採用されているx86アーキテクチャとは完全に異なるアーキテクチャである。複雑な計算を要する64bitアプリケーションでは高いパフォーマンスを実現するが、WOW64(Windows 32bit on Windows 64bit)と呼ばれるWin32エミュレーション・サブシステムを利用した現行の32bitアプリケーション実行時のパフォーマンスはそれほど高くない。

■AMDから始まった新潮流:x64
 x64(拡張64bit)アーキテクチャは、32bitのx86アーキテクチャの上に、64bit拡張を有するアーキテクチャである。AMDが開発したもので、その後Intelも一部のプロセッサでこれを採用している。なお、x86はIntelの8086プロセッサと互換性のあるプロセッサ(80186、80286、80386、80486、Pentiumファミリなど)の総称である。「x64」のxは「extended(拡張)」を表したもの。64という数字自体は小さいが、一般にx64プロセッサはx86プロセッサよりも高速である。x64アーキテクチャは、IA64アーキテクチャと比べて計算時のピーク・パフォーマンスはやや劣るが、既存の32bitアプリケーションの実行パフォーマンスは、WOW64を搭載したItaniumプロセッサよりも優れている。

 それぞれのアーキテクチャに対応したMicrosoft製品のリリース予定については、コラム「64bit対応製品のロードマップ」の図を参照。

[コラム] 64bit対応製品のロードマップ

 Microsoftは、当面どのWindows製品およびサーバ・アプリケーション製品でも32bit版を提供する予定だ。しかし、64bit版については、製品間でサポートするプロセッサにばらつきが見られる。Windows Server、SQL Server、Visual Studio、.NET Frameworkは、Itaniumとx64の両方のプロセッサに対応する見込みである。一方、現在x64プロセッサで問題なく動作するいくつかの32bitサーバ・アプリケーションについては、x64バージョンのみの提供となりそうだ。

■Windowsクライアント
 Itanium用のWindows XP Professionalの提供はすでに中止されている。次期Windowsクライアント(コード名:Longhorn)は、既存の32bitとx64対応バージョンが提供される予定だ。

■Windowsサーバ
 Windows Server 2003は、提供が予定されている中間リリース(コード名:R2)とLonghornも含めて、Itaniumとx64の両方に対応する。

■開発ツール
 Visual Studioは、Itaniumとx64の両プロセッサに対応し、ネイティブ・コードおよび.NET Frameworkのいずれの64bit開発もサポートする。

■サーバ製品
 Itaniumプロセッサの性能によるメリットを享受できるSQL Server 2005は、Itaniumとx64の両方に対応する。

 Virtual Serverは、64bitに対応するにはコードの書き換えが必要だが(32bit版のVirtual Serverは、64bitプロセッサでは実行できない)、Itaniumとx64の両方をサポートすることになるようだ。

 Exchange Serverも、最適化する64bitCPUがいずれかになるとしても、書き換えが必要だ(32bitカーネル・ドライバをインストールして使用するため)。

 SQL Serverなど、プロセッサやメモリによる制約を受けるサーバ製品については、x64とItaniumの両方のバージョンが引き続き提供されると思われる。

 BizTalkなどそれ以外のサーバ製品については、Windows XPと同様にx64バージョンのみの提供となることも考えられる。

 
 

 INDEX
  Insider's Eye
  64bit時代のWindowsアプリケーション開発(1)
    64bit時代のWindowsアプリケーション開発(2)
    64bit時代のWindowsアプリケーション開発(3)
 
 「Insider's Eye」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間