64bitと32bitでは、なぜ扱えるメモリの量が違うのか。そして、なぜiOS11へのアップデートで、起動できないアプリが一気に増えたのか。
当記事で、64bitOSのメリットやデメリットについて、少し掘り下げてみようと思います。
目次
bitとは
bitというのは、データを取り扱う最小単位で、「1か0をあらわすだけの存在」です。物質における素粒子のようなもので、必ず「0」か「1」かを表し続けます。
蛇足ではありますが、アルファベットの大文字・小文字、数字や記号などを加味しても、256通り(8bit/2の8乗)あれば捌けることから、8bitもひとつの単位として扱われています。(Byte)
よく見る「32GB」などのBはByteをあらわしているので、Byteの方が馴染みは深いかも。大文字だとByteです。
CPUで並列処理するデータ量をあらわす
OSにおけるbitとは、ざっくり言えばCPU(脳みそ)が同時に読み書きできるデータの最大量をあらわしています。
一般的な電子機器では、CPUで処理した情報をメモリ(作業机)へ一時保存することで継続的な処理を可能にしていますが、そもそもの並列処理ができないと、いくら広い机があっても一部しか使えません。
これが、いわゆる「メモリ3GBの壁」です。逆に言えば、OSが64bit化することで、運用できるメモリの性能が大きく向上するのです。
スポンサードリンク
64bitOSのメリット・デメリット
メモリを多く認識する(40億倍)
64bitOSにおける最大のメリットは、32bitOSと比べ、扱えるメモリの規模が格段に向上することです。
「読み書きするか否か」を0/1で表す部分もbit数に比例するので、OSのbit量と扱えるメモリ量は比例します。
32bitOSは約40億Byte(4GB)まで
32bitであれば、2の32乗で「4,294,967,296(約40億)」のデータ扱えます。
つまり、32bitOSでは、どう足掻いても4GB程度のメモリしか認識できません。
一般的なOSでは、使用の是非にかかわらず動作のために一定量のメモリを確保するので、ソフトウェアで使えるのはせいぜい3GB程度。
64bitOSは約1,800垓Byte(172億GB)まで
64bitであれば、2の64乗で「18,446,744,073,709,551,616(約1,800垓)」のデータを扱えます。
1,800垓(がい)byteは、172億GB程度に相当。32bitOSに対し、約40億倍の差です。
メモリを多く使ってしまう
64bitOSを搭載すると、メモリの使用量が多くなるデメリットもあります。
広い範囲を認識できるようになったために、どこにどのデータがあるかを示す情報の量も増えてしまうことが大きな要因。
32bitと64bitのサイズ幅は40億倍なので、最大40億倍にも増大します。これは処理できたもんじゃないので、OS側でメモリ最大量を制限して対処しています。
例えば、Windows10Homeは128GBまで、Pro以上は2TBまで、など。
実はHomeの方がアプリ動作は軽くなります
アプリが対応しなくなる場合も
OSの64bit化は、単純なメリット・デメリットだけではありません。古いソフトウェアが動かなくなる場合もあります。
32bitOS(狭い机)の処理を64bitOS(広い机)でやろうとすると、効率化のため、広いスペースで勝手に作業しようとしてしまうのです。
結果、データ同士の相関が崩れてしまい、思わぬバグが発生します。
Windowsは互換モードで解決
WindowsなどのOSは、互換モードを搭載し、32bitアプリケーションが動かなくなる問題を防いでいます。
64bitOSの中に、32bitOSを仮想構成してアプリを起動することで、32bit環境で起動しているのと同じ状況を作り出せます。
互換モードを使えば、OSの動作に必要なアプリケーション(ドライバ)以外は問題なく起動するでしょう。
iOSは旧アプリ切り捨て
iOSは、64bitに対応していないアプリをばっさり切り捨てています。
iOS11へのアップデートで64bitOS化した際は、製作者側が64bitアプリに対応させていないと、そもそも起動をさせないことでバグを防ぎました。
自ずと全てのアプリが最適化した状況で動作するので、動作の高速化には大きく貢献。
そのかわり、古いアプリゲームをプレイしたい場合などは、別途iOS10以下の端末を用意する必要があります。
僕はiPadminiを中古で新調しました