[運用]
Windows 7システム導入のためのハードウェア・コンポーネント選択ガイド
―― Windows XP→Windows 7移行ガイド(ハードウェア編) ――

2.大容量化と低価格化が進んだメモリと64bit Windows OS

デジタルアドバンテージ 打越 浩幸
2011/11/10
Page1 Page2 Page3 Page4

 メモリの量がシステムを快適に利用するためのキー・ポイントとなることは、Windows XPユーザーならばよく知るところだろう。例えばメモリが512MbytesしかないWindows XPシステムにメモリを増設して1Gbytesとか2Gbytesにすると、使用時にディスクへ“ガリガリ”アクセスしていたのが激減し、非常に高速化したように感じられただろう。CPUを高速化するより、メモリを増設する方がシステムの快適さははるかに向上した。

代表的なDIMMメモリの例
これは4GbytesのDDR3 DIMMメモリ(表と裏面)。64bit Windows OSなら4Gbytes以上のメモリを利用できるが、Webブラウザを多数起動し、さらにOfficeアプリケーションや仮想マシン(Windows XP Modeなど)を利用したりすると、すぐに8Gbytes程度は使い切ってしまう(筆者の手元での経験則だが)。

 Windows 7時代でもそのあたりの事情は同じであり、メモリは多ければ多いほど、やはりシステムを快適に利用できる。Windows OSでは、空きメモリ領域をディスク・キャッシュとして利用するほか、システムが(過去の利用履歴などに基づいて)あらかじめプログラムをメモリ上にプリロードしておいて、アプリケーションの起動時間を短縮したりするために利用するからだ。

 メモリ・デバイスに関しては、選択で注意するべきポイントはあまりない。何を選ぶかというよりは、どのくらいまで搭載するか、どこまで搭載できるシステムであるか、という点が重要である。最近ではメモリの低価格化が急速に進んでいるので、空きスロットいっぱいにDIMMメモリを増設しようと考えるかもしれないが、32bit Windows OSでは4Gbytes以上(実際には3Gbytes以上)は利用できないという制限がある。

項目 説明
DDR SDRAM DIMM DDR SDRAMを使ったメモリ・モジュール。PC1600やPC2700、PC3200などの製品があった。2000〜2005年頃、Pentium 3〜Pentium 4システムなどでよく利用されていた
DDR2 SDRAM DIMM DDR2 SDRAMを使ったメモリ・モジュール。PC2-3200やPC2-5300、PC2-6400などの製品があった。2005〜2010年頃、主にPentium 4〜Core 2システムなどでよく利用されていた。DDR DIMMと互換性はない
DDR3 SDRAM DIMM DDR3 SDRAMを使ったメモリ・モジュール。PC3-8500やPC3-10600、PC3-12800などの製品がある。現在の主流。DDR2 DIMMと互換性はない
容量/価格 現在主流のDDR3 DIMMでは、1枚あたり2G〜4Gbytesのものが広く使われているが、8Gbytesのモジュールもそろそろ普及しつつある。複数枚同時に利用すると高速化できるため(インターリーブという)、2枚組み、3枚組みでも販売されていることが多い。2011年に入って急速に低価格が進み、例えば4GbytesのDIMM 1枚が1500円程度(現在の実売価格)で入手できる。ちなみに速度によっていくらか価格差があるが、同じ程度の価格なら速い方を選んでおけばよい。例えばシステムがPC3-10600までしかサポートしていなくても、PC3-12800を選んでおけば(速度差はDIMMチップ上のSPDで自動的に対応される)、将来ほかのシステムに転用するといった場合に融通がきくからだ。
システムの拡張性 メモリが安いので、なるべく多くのメモリをシステムに追加したいところだが、システムによっては例えば8GbytesのDIMMは未サポートというシステムもある。また32bit Windows 7をプレインストールしているシステムでは最大4Gbytesまでしか増設できないようなシステムもある。一般的には8Gbytesないし16Gbytesまで増設できる。将来の拡張(メモリ増設)のことを考えると、16Gbytesまで増設できるようなシステムを選んでおきたい
メモリ選択ガイド

64bit Windows OSで大容量メモリを活用する

 Windows XPからWindows 7へ移行する場合、32bit版のWindows 7へ移行するのではなく、64bit版のWindows 7へ移行するという方法がある。Windows XPにも64bit版(Windows XP Professional x64 Edition)は存在したが、デバイス・ドライバのサポートやアプリケーション側での対応があまり進まなかったため、実環境で使うには問題が多かった。

 これに対して現在では、64bit版Windows OSを取り巻く環境は大きく変化し、ほぼ問題なく利用できるようになっている。64bit対応CPUや4Gbytesかそれ以上のメモリを備えたPCが一般的になり、大手メーカー製PCでもほとんどの場合、64bit版のWindows 7をインストールして出荷している。これに合わせて各周辺機器のドライバも64bit対応が急速に進み、よほど古いデバイスでない限り64bit Windows OSでも問題なく利用できる。特別な理由がない限り32bit版のWindows 7を選ぶ必要はないだろう。64bit版Windowsの詳細については、次の連載記事が参考になる。

 ここでは、64bit Windows OSのメリットについて、簡単にまとめておく。

64bit Windows OSの利点―1.大容量物理メモリのサポート

TIPS「Windows OSでサポートされている最大物理メモリ・サイズは?」

 32bit版と比較した場合の64bit版Windows OSの最大のメリットは、4Gbytes以上の物理メモリが利用できることにある。最近はメモリが非常に安価なため、Windows XP PCでもメモリをシステム制限いっぱいの4Gbytesまで増設しているユーザーは少なくないだろうが、32bitのWindows OSでは実際に利用できるメモリ・サイズは、3Gbytes程度に制限されている。これはシステムのハードウェア構造上の制限であり、32bit Windows OSを使う限りは避けられない制約である。これに対して64bit版Windows OSでは、システムに搭載されている物理メモリをほぼ全部すべて利用できる(関連記事参照)。

4Gbytes以上のメモリを搭載した場合のPCのメモリ・マップ
システムの物理的なメモリ・アドレス空間のマップ。CPUから見ると、メモリやデバイスはこのような物理アドレスで参照できる。システムにメモリを装着すると、まず4Gbytes以下の領域に割り当てられ、そこがいっぱいになると次に4Gbytes以上の領域に割り当てられる。3〜4Gbytesのアドレス空間には通常はグラフィックス・カードなどのデバイスが割り当てられている。そのため、32bit Windows OSでは利用可能なメモリは3Gbytes程度に制限される(Windows XPでもWindows 7でも同じ)。4Gbytes以上のアドレス空間にアクセスするには64bit Windows OSが必要となる。

 システム全体で利用可能なメモリが増えた結果、例えばディスク・キャッシュ(アプリケーションのプリロードやファイル・データのキャッシュなど)として利用可能なメモリも増えるので、ディスク入出力のパフォーマンス向上や、アプリケーション起動の高速化が実現される。

64bit Windows OSの利点―2.64bitアプリケーションのサポート

 64bit Windows OSではいままでの32bitアプリケーション(Win32プログラム)に加えて、64bitアプリケーション(Win64プログラム)も利用できるのが最大のメリットである。Win32では、プログラムが利用可能なユーザー・アドレス空間は2Gbytesまでしかなく、この中にプログラム・コードやデータ、共有DLLなどを配置する必要がある。ほとんどのプログラムではこれでも問題ないが、巨大なデータを取り扱うデータベースやグラフィックス・アプリケーションなどではこれでは不足することがある。Win64プログラムではユーザー・アドレス空間は8Tbytes(Win32の場合の4096倍)もあるので、巨大なデータを分割して読み込みながら処理するといった工夫をせずとも、すべてオンメモリに展開して処理する、といったプログラムが可能になる。

アドレス空間 32bit OS 64bit OS
ユーザー空間 2Gbytes 8Tbytes
カーネル空間 2Gbytes 8Tbytes
Windows OSで利用可能な最大アドレス空間サイズ
「ユーザー空間」は、1プロセスごとに利用可能なメモリ・アドレス空間。1つのプロセスごとに例えば32bitのWindows OSでは最大2Gbytesのアドレス空間が利用できる。「32bit」は32bit Windows OS(Win32)、「64bit」は64bit Windows OS(Win64)におけるアドレス空間の割り当てサイズ。

64bit Windows OSで利用できないアプリケーション/機能に注意

 ただし64bit Windows OSでは1つだけ問題となる点がある。Win16プログラムやMS-DOSプログラムといった、いわゆる16bitプログラムが動かないのである。このようなアプリケーションがある場合は、アプリケーションを改修したり、Windows XP Modeなどを使って対応する。とはいえ、Windows XP ModeのWindows XPもあと2年ほどでサポート切れになるため、期限切れ後は必要なら32bitのWindows VistaやWindows 7環境(実機でも仮想でもよい)を用意して、対応することになるだろう。

実行できない16bitプログラムの例
64bit Windowsでは、Win32プログラムとWin64プログラムは実行できるが、16bitのプログラム(MS-DOSのプログラムや、Windows 3.xのプログラムなど)は実行できない。アプリケーション本体がWin32で記述されていても、場合によってはインストーラがWin16で記述されていて、インストールできないこともある。必要なら仮想環境を利用して実行することになる。

 Windows OSを64bit化して問題が起こる可能性のあるケースとしてもう1つ、印刷機能がある。64bit Windowsを利用する場合、プリンタ・ドライバも64bit化しなければならないが、古いプリンタでは64bitドライバが提供されていないことがある。この場合の解決方法としては、例えば64bitドライバが提供されている別の似たような機能の機種のプリンタ・ドライバで強制的に代用するとか、どこかに32bit Windows OS環境を用意しておき、その中でアプリケーションを立ち上げて印刷する、といった方法がある。もしくはいったんPDFのような形式でファイルを作成し、これを32bit Windows OS環境から印刷するといった方法もある。

64bit Windows OSの利点―3.より多くのアプリケーションの同時実行

 32bit Windows OSでは利用可能な物理メモリ・サイズはせいぜい3Gbytesに制限されているが、この中にOSカーネルのほか、ユーザー・アプリケーションもロードしなければならないため、1つのアプリケーションがそのすべてを利用できるわけではない。メモリを大量に使うアプリケーションが多くなればなるほど、ディスクへのスワップアウトが生じ、パフォーマンスが低下する。例えば必要メモリ・サイズが1Gbytesのアプリケーションならば、ディスクへのスワップアウトなしでは、2つぐらいしか同時に実行できない。

 これに対して64bit Windows OSの場合は、システムに装着されている物理メモリを(現実的には)ほぼすべて利用できるので、同時に実行できるアプリケーションの数ははるかに多くなる。システムやOSにもよるが、実際には8Gbytesとか16Gbytesまで増設できるだろうから、よほどのことがない限りメモリ不足になることはないだろう。


 INDEX
  Windows 7システム導入のためのハードウェア・コンポーネント選択ガイド
    1.マルチコア化が進んだCPU
  2.大容量化と低価格化が進んだメモリと64bit Windows OS
    3.大容量化/低価格化が進んだハードディスクとSSD
    4.グラフィックス・カードとネットワーク・インターフェイス

 「運用」

 「Windows XP→Windows 7移行支援記事集」



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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間