- ベストアンサー
32ビットOSと64ビットOS。
32ビットアプリケーションを32ビットOS上と64ビットOS上で使うときの質問です。 ただ32ビットアプリケーションと言っても、メモリーを2GB以上使う重たいアプリケーションばかりなのですが これらを複数起動する場合、32ビットOS上と64ビットOS上で処理速度などで違いは出るのでしょうか? 例えば、 PC構成(1) OS:WindowsXP64Bit、メモリー:8GB搭載 PC構成(2) OS:WindowsXP32Bit、メモリー:3GB搭載 CPUは同じとして、重たい32ビットアプリケーション複数使用の動作に違いは出るのでしょうか? 自分では、メモリー4GB以上搭載のPCでは64ビットOSを載せたほうが32ビットアプリケーションも快適になるのでは? と考えているのですが・・・ どなたか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Q/これらを複数起動する場合、32ビットOS上と64ビットOS上で処理速度などで違いは出るのでしょうか? A/64bit環境でも動作するアプリケーションであると仮定した場合、32bitアプリケーションは32bit環境の方がAPI変換に絡む時間があるため、遅延処理が若干発生します。ただし、単体のアプリケーションで大きなメモリを扱う場合、例えば、物理アドレッシングに3GBを消費するサーバプログラムなどの場合や、大規模データベースを扱う場合で、それらを同時に複数稼働させる場合は、64bitの方が体感で高速に稼働するようになります。 尚、32bitの市販アプリケーションの多くは、設計上アプリケーション1つに対して2GBの物理アドレスしか取得できない物が多いので3GBを1つのソフトで使うことができる物は希です。 Q/自分では、メモリー4GB以上搭載のPCでは64ビットOSを載せたほうが32ビットアプリケーションも快適になるのでは? A/一般にはその解は正しいと言えます。 ただし、先に述べた内容に加え、64bitOSでは、対となる32bitのAPIを64bitAPIに読み直すWOW64を用いますから、該当APIが存在しないアプリケーションや、16bitAPIを利用するアプリケーション。ハードウェアを直接制御するドライバ関連のプログラムや、32bit固有のレガシープログラムを用いたアプリケーションは稼働しませんので、予め動作確認が必要です。 そういう意味では、動くアプリケーションで大容量のメモリを消費するものは、快適になるが動かないアプリケーションや、メモリ消費が少ないアプリケーションに関しては必ずしも快適には稼働しないということになります。 まあ、既にOSは64bit時代の手前ですし、マイクロソフトはWindows7で本格的にXPの終了と64bitの後押しを開始しますからね。あまりに気にするネタでもなくなりつつあります。 ちなみに、Vistaでは動作しないアプリケーションでも7のProfessionalやUltimateではVirtual PCベースのXPMを使うことで(別途無償ダウンロード)動作させることができます。(ハードウェアドライバを除く) 但し、動作はWOW64を使うより遅くなります。下位互換性のためだけの実装です。
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
>一応、どのソフトも64ビット上で動くらしいです~~。 「動く」と「対応」は違いますので、誤解しないように願います。 動くけど32Bitのみ対応というのを聞いたことはありませんが、メモリーの使い方でフルパワーを発揮できないこともあるようです。
お礼
お手数おかけしました。 調べましたら「64対応」32アプリは1つだけで、他は「動作」するだけのようです。 一先ず64ビットOS上で動作確認をして、挙動が変なものは32ビットOS上で使う方向でいきます。 ありがとうございました。
- Tasuke22
- ベストアンサー率33% (1799/5383)
単純に考えて、2GB使用するアプリを2本動かすと、 32bit OSでは1GBは仮想メモリを使用します。 4GB以上のメモリを積んで、64bit OSでは仮想メ モリを必要としません。 仮想メモリを使うと速度は急激に遅くなります。 なお、大きなメモリで32bit OSでOS認識外メモリ をRAM-Diskにして、RAM-Disk上に仮想メモリを取 れば、仮想メモリを使用しても、実メモリを使う 理屈ですが、RAM-Diskはメモリの性能が出ません。 半分以下の性能になるでしょう。 トータル3GB以上のメモリを使用するのであれば、 使用メモリ以上の実メモリが搭載出来れば、断然 64bit OSが速いと言えます。
お礼
アドバイスありがとうございます。 >単純に考えて、2GB使用するアプリを2本動かすと、 >32bit OSでは1GBは仮想メモリを使用します。 >4GB以上のメモリを積んで、64bit OSでは仮想メ >モリを必要としません。 プログラマー目指していたのに知りませんでした!(冷汗) GW中にでも64ビットOS入れてみます。 ご回答くださった皆さんありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
>PC構成(1) OS:WindowsXP64Bit、メモリー:8GB搭載 >PC構成(2) OS:WindowsXP32Bit、メモリー:3GB搭載 あなたの判断が正しいはずです。 対象のソフトが64BitOSに対応しているものとして考えれば、(1)の方が処理速度は速くなります。
お礼
アドバイスありがとうございます。 >対象のソフトが64BitOSに対応しているものとして考えれば、(1)の方が処理速度は速くなります。 一応、どのソフトも64ビット上で動くらしいです~~。
お礼
詳しいご回答ありがとうございます。 大変参考になりました。 速くなるようですし3GBスイッチを使えるアプリも入っているので64ビットOSを入れることにしました。 32ビットOSと64ビットOSをシステムユーティリティでデュアルブートにしてみます。 VMはいろいろ制約があるようで断念しました。