このページ]1では、RPi3の公式発表にはこう書かれています。
ダウンロードページから最新のNOOBSまたはRaspbianイメージをダウンロードする必要があります。発売当初は、他のRaspberry Piデバイスで使用しているのと同じ32ビットのRaspbianユーザーランドを使用していますが、今後数ヶ月の間に、64ビットモードに移行する価値があるかどうかを調査する予定です。
質問ですが、プロセッサが64ビットであることを考えると、OSを64ビットで動作させた方があらゆる面で優れていることは明らかではないでしょうか?私は何を見逃しているのでしょうか?
プロセッサが64ビットであることを考えれば、OSを64ビットで動作させた方があらゆる面で優れているのは当然ではないでしょうか。
いいえ、実はそうではありません。ある意味では、64ビットのOSを実行すると、Raspberry Piのパフォーマンスが低下する可能性があります。
64ビットの利点。
64ビットプロセッサ/オペレーティング・システムを使用することの主な利点は、デバイスが4GB以上のRAMを扱えることと、bignumライブラリを必要とせずに2^32
より大きな整数をネイティブに扱えることの2つです。
Raspberry Piは4GB以上のRAMを持っていません。1GBのRAMでは、2つの主な利点のうち、1つ目の利点を完全に失ってしまいます。2つ目の利点については、財団が2つ目のオペレーティングシステムをサポートする意味があるほど巨大な数字を使う人が実際に何パーセントいるでしょうか? RPiはソフトウェアの方法で巨大な数字を使うことができますが、その領域に常にいるのであれば、より良いハードウェアを使う必要があるように思えます。
64bitの問題点。
より大きな数値を格納する能力は、魔法で与えられたものではありません。むしろ、メモリオブジェクトのサイズを大きくする必要があります。C(およびC++)では、これはint
をint64_t
に変更することを意味します。これは自動的には行われません。そのため、財団は2つのブランチを維持したくないというコメントがあります。
さらに、多くのアプリケーションは、64ビットモードで実行しても、(ほとんどのユーザーにとって)メリットがないのです。ほとんどのウェブブラウザ、MS Office、その他多くの一般的なソフトウェアは、いまだに32ビットモードで出荷・保守されていることに注目してください。確かにMS Officeの64ビット版を手に入れることはできますが、ほとんど使われていません。
アプリケーションやオペレーティング・システムが64ビット・アーキテクチャを利用するように書かれている場合、変数やポインタがより多くのスペースを占めるため、アプリケーションはより多くのメモリを使用することになります。これは、変数やポインターがより多くのスペースを必要とするからです。通常、この特典の恩恵を受けるマシンにとっては、比較的小さなトレードオフです。今回のケースでは、特典はほとんどなく、RAMもほとんどありません。
その他の注意点。
64ビットのマシンで動作しているからといって、アプリケーションが32ビットで動作していないとは限りません。Windowsでは、「C:Program Files」と「C:Program Files (x86)」という2つの異なるインストールパスを持つことで、これを明確にしています。
では、Foundationは64ビットのサポートを提供する可能性が高いのでしょうか。
一部の人にはメリットがあるかもしれませんが、ほとんどの人にはメリットがないでしょう」という点では同じですね。 他のプロジェクトが64ビットのビルドを提供するのは確かでしょうが、Foundationが(私の考えでは)不当に非難されない限り、おそらく提供しないでしょうし、提供すべきでもないでしょう。別の64ビットブランチを作成して維持するのは小さな努力ではありませんし、正直なところ、それだけの価値があるとは思えません。
Pi 3上でDebian Aarch64 (ARMv8)を動かしている人はすでにいると思います。多くの人にとって、それほど難しいことではないでしょう(ここに、うまくいくためのヒントがあります)1しかし、ほとんどの*ユーザーにとっては、おそらく少し無理があるでしょう。
しかし、もしRaspbianやFoundationが64ビット版を出さなければ、ブログなどで64ビット版を動かして必要なものを手に入れる方法を説明している人を見かけるようになるでしょう。
*Pi 3.0用のFedora aarch64リリースが出ています。
1.32ビットの/opt/vc
にはいくつかの複雑な問題がありますが、それがどの程度克服できるかはわかりません。