順を追って調べれば理解できるはず。
bit とは CPU が一度に扱える情報量。32bit だと 2^32=4294967296 おおよそ43億という数字を扱うことができる。この数字はコンピュータも性能にモロに絡んでくる。コンピュータの戦闘力と呼んでもいいだろう。
詳細は省くが、32bit Windows だとメモリは最大4GBまで、HDDは最大2TBまでという制約がある。これらは43億という戦闘力の限界である。
32bit、つまりは43億という戦闘力は、現代ではいささか力不足である。4GB 以上のメモリや、2TB 以上のディスク要領を要する場面などいくらでもあるからだ。
しかし 43億の限界は越えられない。どうするか。
そこで 64bit の登場だ。64bit とは、2^64=18446744073709551616 おおよそ 1844京という数字になる。
4294967296
18446744073709551616
| | | |
京 兆 億 万
桁違いの戦闘力だ。ピンと来ない?桁を変えてみよう。
4
1844674407
| | | |
京 兆 億 万
32bitを 4 とすると、64bitは18億だ。4億倍以上もの開きがある。もっとも数字だけ言われてもピンと来ないかもしれないが、とにかく桁違いなのだ。メモリやディスクの制限は天文学的に伸びる。実質制限など無いようなものだ。
さて、その64bitを使うためには、どうしたらよいのだろうか。
64bit Windows を使えばいい?そのとおりだ。だが、まだ足りない。正確に言うなら 64bit Windows が持つ 「64bitの仕組み」に従ったアプリを作ればよい と言える。
ところがそうも簡単にいかない。というのも、
だからだ。
しかしながら実際は 32bit アプリでも動いている。WinXP, Win7 で使っていたフリーソフトが、64bit の Win7 や Win10 でも動作したりする。これはどういうことは。
答えを言うと、64bit Windows に 「32bit アプリも何とかして動かせるようにする仕組み(WoW64)」 が備わっているからだ。
ただし、何とか動かせるようにするために色々と頑張る分、処理速度が遅い。64bit Windows で動かす 32bit アプリの動作がもっさりしがちなのはそのためだ。
64bit Windows ではインストール先として Program Files と Program Files(x86) が存在する。どっちがどっちだか意味不明だが、ここまでの内容を踏まえればわかってくる。つまり、
このようになっている。
※x86 とは 32bit の意である。ちなみに 64bit は x86_64(あるいは略してx64)と書く。
うん、イメージ掴めたと思う。