64bitプロセッサWindows Q&A(3/3 ページ)

» 2008年07月18日 05時00分 公開
[小林章彦デジタルアドバンテージ]
前のページへ 1|2|3       

Q:64bit版Windows OS上で32bitアプリケーションは実行可能か?

A:x64プロセッサ向けWindows OS(x64版Windows OS)には、32bit版Windows OSのエミュレーション環境であるWOW64(Windows-On-Windows 64)が用意されており、前提としては、既存の32bitのx86アプリケーションが実行可能だ。ただし完全な互換性が実現されているわけではなく、16bitバイナリ(Windows 3.x/95/98 SE用に開発されたプログラム)と32bitドライバはサポートされない。そのため32bit版Windows OSで動作していたアプリケーションが、全てWOW64上で動作するとは限らない。例えば、マイクロソフトのIME 2003は、64bit版Windows OS上では動作しないことが明らかになっている(64bit版のIMEが提供されているので、事実上、困ることはないが)。

 またアドビシステムズのIllustrator 8.0Jなどの古いアプリケーションでは、インストーラが16bitバイナリなので実行できず、事実上、利用できないものもある。困るのは、Windows 3.xベースのプログラム(16bitバイナリ)は、32bit版のWindows XPでも正常に動作するため、現在利用しているアプリケーションが16bitバイナリなのか、32bitバイナリなのか判断しにくいことだ。16bitバイナリかどうかを判断する材料としては、プログラムの実行ファイルを右クリックして、[プロパティ]ダイアログを表示させ、[バージョン]タブがあるかどうかを確認する。このタブが存在しなければ16bitバイナリである。なおIllustrator 8.0Jなどのようにインストーラなどが16bitバイナリの場合もあるので、setup.exeなどについても確認が必要だ。

 x64版Windows OSは、WOW64によって高い互換性を実現しているとはいえ、上記のように動作しない32bitアプリケーションも存在する。このような場合、x64版Windows OSでVirtual PCやVirtual Serverなどの仮想化技術ソフトウェアを実行し、その上で32bit版Windows OSと32bitアプリケーションを実行するという手もある。

 Itaniumプロセッサにおいても、IA-32ELと呼ばれるソフトウェアによるx86エミュレーション環境が用意されており、Itanium向けWindows OS(IPF版Windows OS)上でx86アプリケーションを動作させることが可能だ。ただし、まったく異なる命令セットアーキテクチャに対するソフトウェアエミュレーション機能であることから、性能的にはPentium III程度にとどまるようだ。そのため、マイクロソフトもインテルも、管理ツールやシステムモニタなど、パフォーマンスをそれほど要求しないアプリケーション向けの機能であるとしている。

Q:64bitプロセッサでなぜx64版Windows OSが利用されないのか?

A:現在販売されているクライアントPC/サーバは、いずれも64bitプロセッサを搭載しており、ハードウェア的にはx64版Windows OSの動作が可能となっている。しかし一部のサーバを除き、デフォルトでインストールされているWindows OSはいまだに32bit版が主流であり、x64版がインストールされている製品は少数にとどまっている。ハードウェアベンダー側も、現時点では、ユーザーがx64版Windows OSの対応を要望する例は少ないと説明している。これには幾つか理由が考えられる。

 まずx64版Windows OSに対応した64bit対応のデバイスドライバが必要となり、ユーザーが必要とするデバイスの動作が必ずしも保証されないことだ。x64版Windows OSは、32bitアプリケーションとの互換性を持つが、デバイスドライバに関してはバイナリレベルでの互換性がない。そのためデバイスベンダーは、x64版Windows OSに対応したデバイスドライバを用意しなければならない。x64版Windows OSに対応しているデバイスは増えつつあるが、全てが対応しているわけではない。例えば、現時点でも一部のプリンタでは、x64版Windows OSに対応したプリンタドライバが提供されていないため、x64版Windows OSからは印刷できない。このように32bit版Windows OSに比べて、利用できる拡張カードや周辺機器などに制限がある点に、x64版Windows OSが利用されない理由の1つがある。

 また、64bitアプリケーションの数が限られていることも理由に挙げられる。サーバ向けには、Exchange Server 2007やSQL Server 2005など64bitに対応したアプリケーションも登場してきているが、Microsoft Officeが32bit版しか提供されていないことからも分かるように、全体としては64bitネイティブアプリケーションの数はそれほど多くない。そのため、64bit版Windows OSに移行しても、64bit化のメリットを十分に生かせない状態にある。

 特にクライアントPC用途では必要性が高いFlash Playerの64bit版Internet Explorer(IE)向けがまだに提供されていない(64bit版Windows OS上の32bit互換IEでは、32bit版Flash Playerを動かすことが可能)、JREの64bit版もJava Plug-inが未サポートのため64bit版IEではJavaアプレットが動かせないといった点も、実際に活用する上での障害となる。

 さらに「Q:64bit版Windows OS上で32bitアプリケーションは実行可能か?」で述べたように、x64版Windows OSでも、既存の32bitアプリケーションを実行することが可能だが、全てのアプリケーションが動作するわけではない。またアドビシステムズのCreative Suite 3や弥生の弥生シリーズのように。x64版Windows OS上での動作を保証していないアプリケーションもあり、たとえ動作したとしても何らかのトラブルが発生した場合には保証の対象外となってしまう点も企業で利用する上では障害となる。

 タマゴとニワトリの関係ではないが、x64版Windows OSに対応するアプリケーションやデバイスが限定的であるために普及が進まず、普及が進まないためにベンダーが積極的にx64版Windows OSへの対応を行わない、という悪循環にあるのが現状だ。それでも、ファイル/プリントサーバやドメインコントローラーといった用途ならば、ほとんどOS標準のコンポーネントだけでサービスの提供が可能だし、Exchange Server 2007などの64bitアプリケーションが登場してきていることから、サーバにおいては徐々にではあるがx64版Windows OSへの移行が進みつつある。

Q:64bitプロセッサ+64bit版Windows OSへの移行を検討すべきか?

A:既に述べてきたように、ハードウェア環境はクライアントPC/サーバともに、64bit環境での利用が可能なものとなっている。つまり、x64版Windows OSを導入すれば、いまでも64bitプロセッサの恩恵に浴せる。では管理者として、いつx64版Windows OSの導入し、64bitプロセッサ+64bit版Windows OS(64bit環境)への移行を検討したらよいのだろうか。今後のシステム導入/移行において、64bit環境をどう位置付けたらよいのか。現時点での考察を用途別に整理してみよう。

 まず、サーバ向けとしては、そろそろ64bit版Windows OSの導入を検討してよいだろう。例えば、データベースサーバやメールサーバなど、大量のデータや多数のトランザクションを扱う用途では、メモリ容量が性能に大きなインパクトを与える可能性がある。64bit環境は、物理的にも論理的にも、32bit環境に比較してより多くのメモリに効率よくアクセスできるので、必要に応じてメモリを増設するなどして、拡大するパフォーマンス要求にスケーラブルに対応できる。実際に、Exchange Server 2007などは、基本的に64bit版Windows OSのみを対象としたアプリケーションとなっている。

 また仮想化技術の登場によってサーバ統合が推進されると、1つの物理サーバ上で多くの仮想マシンが動作することになるため、必要とされる物理メモリ容量も増加することになる。そのため仮想化技術の利用では、大容量のメモリがサポート可能な64bit版Windows OSが標準になっていくものと思われる。既にWindows Server 2008に標準搭載される仮想マシンモニタであるHyper-Vは、64bit版Windows Server 2008上でしか動作しない。

 一方、クライアントPCにおいては、「Q:64bitプロセッサでなぜx64版Windows OSが利用されないのか?」で述べているように、デバイスドライバやアプリケーションの対応状況は改善されつつあるものの、まだ十分に環境が整ったとはいえない状況だ。そもそもクライアントPCでは、アプリケーションのワーキングセットが4GBを超える物理メモリを必要としていないケースも多く、x64版Windows OS利用の必要性がそれほど大きくない。正直なところ、特別な理由がないなら、32bit環境を使い続けても問題はない。

 とはいえ大きな流れとしては、クライアントPCでもより多くのメモリが必要になるのは必定であり、一方でハードウェア環境は既に64bit対応になっている。今後ソフトウェアサポートが拡充すれば、クライアント向けでも64bit環境が常識になるのは時間の問題だろう。

■更新履歴

【2008/07/18】表「主なプロセッサがサポートする論理アドレス空間と物理アドレス空間サイズ」において、Quad-Core AMD Opteronの記述などを追加しました。Quad-Core AMD Opteronでは、物理アドレス空間が48bitに拡張されていたためです。また、表「IntelとAMDの各プロセッサの特徴」において、AMD Sempronにデュアルコア製品が提供されていたため、説明を変更しました。

【2008/07/17】初版公開。


「Windows Q&A」のインデックス

Windows Q&A

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。