32bit 64bit の差

32bitのOSではRAM上限が4096MBまでとなっています。これは、32bit値のサイズがこれ以上受け付けないことに起因します。32bitシステムでは、それぞれのプロセスに4GBの仮想メモリが付与され、アプリケーションが実際にその都度使用する2GBずつのスペースに分割されます。

パソコンに詳しい方であれば、最近のチップはオペレーティングシステムがもう少しメモリを活用することを可能(64GBまで)としたPAEというプロセッサー技術があるじゃないか、と思うかも知れませんが、これは通常のアプリが有していない、または必要としていない特殊アプリケーションサポートが必須となります。この問題はWindows特有の問題である、と誤解している方も多いようですが、32bitのLinuxMac OS Xも同じ制限を受けていて、条件的には同じです。32bitのLinuxはさらに多くのメモリにアクセス出来るマッピングテーブルを使用しており、OS X Snow Leopardの場合、古いシステムでは全てのメモリにアクセス出来ない32bitカーネルがデフォルトとなっています。

 

メモリ上限の問題だけでなく32bitのOSには他にも問題があるのです。ビデオカードマザーボードBIOSなどのデバイスも同じ4GBのスペースを占拠します。つまりオペレーティングシステムのRAMアクセス量がその分だけ減ってしまうことを意味しますWindows専門家マーク・ルシノビッチ氏は、2つの1GBビデオカードを搭載したパソコンを4GBのRAM、32bitのWindows OS環境で起動した場合、オペレーティングシステムが使用可能なRAM量はわずか2.2GBしかない、ということを発見。つまりビデオカードが大きくて良質であればあるほど、32bitシステムでの4GB RAMの量は減ってしまう、ということになります。

■じゃあ、64bitって何が違うの?

32bitの情報は4GBのRAMまでしかアクセスできませんが、64bitのマシンの場合、172億GBのシステムメモリにアクセス可能となります。このシステムメモリに限界が来る日は、しばらく来なさそうな数値ですね。これが何を意味するかというと、ビデオカードやその他のデバイスがオペレーティングシステムのメモリ容量を搾取しない、ということ。Windows 64bitのHomeエディションの場合、ライセンシングの理由によりRAMの上限は16GBになっていますが、Professiona/Ultimate版であれば192GBまでのRAMが使用可能です。なので最高スペックを誇るマシンを自作したい場合には参考にして下さい!

プロセス単位の上限もかなり上がっていて、64bitのWindowsの場合、2GB上限の代わりにそれぞれのアプリケーションには、特殊なAPIなしで8TBの仮想メモリへのアクセスが割り当てられます。動画編集などのアプリや仮想マシンなどRAMが大量に必要な場合には相当な差が生じてきます。Windowsの64bit版は、カーネルがハイジャックされることを防止する技術やハードウェアによるデータ実行防止(DEP)サポート、デジタル署名された64bitのデバイスドライバの義務付けなどが搭載されています。また16bitのアプリを実行することは出来なくなります(大した問題にはなり得ないと思いますが)。

■32bitのアプリは64bitのOSで動くのか?

64bit版のWindowsにはWow64というエミュレーションレイヤーサブシステムが含まれるため32bitのアプリのほとんどは問題なく動きます。「Wow64」は実行するスレッドの必要に応じて、32bitモードと64bitモードの間のプロセッサーの切り替えを行い、64bit環境でも32bitのソフトウェアが円滑に作動するようにしてくれます。しかし、これには例外があり、32bitデバイスドライバアンチウイルスのようなローレベルシステムアプリ、Windowsプラグインするシェルエクステンション、一部のメディアアプリは作動しません

実際の所、Windows上で日々使っているお気に入りアプリは問題なく作動する、または64bit版が提供されているはずですので、大きな問題には直面しないと思いますが、なくては仕事にならないアプリなどがあれば確認しておくと安心です。

■64bitのOSは2倍のRAMを使用するのか?

「64bitのWindowsは倍のRAMを使用する」あるいは「32bitの倍の速度で動く」と誤解している方も多いようです。

64bitプロセスは、確かに少し多くのメモリを使用しますが、これはメモリポインタが少し大きくなるため、RAM使用量も少し上がる、というだけの話であって、実際に2倍に膨れ上がる訳では決してありません。図書館の本がどこにあるのかを示すファイリングシステムの棚が少し大きくなると本を見つけやすくはなりますが、図書館自体が2倍になるわけではないのと同じ感じです

64bitWindowsでは、オペレーティングシステム用のドライブスペースの量は確かに増えてしまいます。これは互換性レイヤーが配置され、ベースOSの必要スペースも数GB単位で増えることに起因するものですが、最近のパソコンのハードドライブの容量を考えると大した問題とはなり得ないはずです。

■それで、結論としてはどっちがいいの?

4GB以上のRAMを積んだ新しいPCを注文するのであれば、使用可能なメモリを全て使う為にも64bit版のWindowsを使うのが得策です。パワフルなビデオカードを使う場合は特に64bitがオススメです。WindowsのHome版ユーザの方は上限が16GBだと言うことを覚えておいて下さい(大抵の場合、16GB以上積み込むことはないと思いますが、念のため)。

Mac OS Xユーザの場合、32bit vs. 64bitの争いに巻き込まれることはないので心配ご無用です。Linuxユーザの場合、おそらく今回の記事に知らないことはあまり書かれていなかったのではないでしょうか?

さて、ここまで読んで頂きましたが、どうでしょうか?64bitに切り替えますか?それとも32bitを使い続けますか?

特に、「64bitに切り替えたけど失敗した」「32bitのままの方が快適な環境だった」「思い切って64bitに切り替えたら快適になった」という経験談があればコメントでぜひ教えて下さい!