64ビットプロセッサを搭載した32ビットオペレーティングシステムに64ビットプログラムをインストールする

64ビットプロセッサを搭載した32ビットオペレーティングシステムに64ビットプログラムをインストールする

気になりました。 64ビットプロセッサを搭載した32ビットオペレーティングシステムに64ビットプログラムをインストールできますか?

私はRaspberry Pi 3でLinuxを実行しており、最新バージョンのMongoDBをインストールしようとしています。

armv7l GNU/Linux
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian

ベストアンサー1

64ビットプロセッサを搭載した32ビットオペレーティングシステムに64ビットプログラムをインストールできますか?

原則としては可能ですが、プロセッサとオペレーティングシステムはそれをサポートする必要があります。

ARMv8では、32ビット(Aarch32)カーネルは64ビット(Aarch64)プロセスを実行できません。これはプロセッサの制限です。

これらの制限がない他のプロセッサもあります。たとえば、x86_64プロセッサのx86_32コアの上でx86_64プロセスを実行できますが、それをサポートするコアはほとんどありません。それはおそらく限られた有用性によるものです(ほとんどの場合、RAMビットを節約できます)。 1つのカーネルで(32ビットで作成)、Linuxではサポートされていませんが、Solarisではサポートされています。

64ビットオペレーティングシステムを実行している場合は、既存の32ビットオペレーティングシステムを維持できます。コア。 Aarch64 LinuxカーネルはAarch32プロセスを実行できます。 Raspbianはデフォルトではサポートされていないため、32ビットオペレーティングシステムと64ビットオペレーティングシステムの両方を維持する必要があります。これらのいずれかを基本オペレーティングシステムとして使用できます(例:内部にそしてシステムサービス)、他はchrootを使用して特定のプログラムを実行します。バラより64ビットDebian / Ubuntuで32ビットプログラムを実行するにはどうすればよいですか?実用的なアプローチ。

64ビットプログラムに必要なすべてのライブラリをインストールする必要があります。特定のプロセスは完全に32ビットまたは完全に64ビットである必要があるため、64ビット実行可能ファイルでは32ビットライブラリを使用できません。

32ビットシステムを維持する理由がない限り、64ビット実行可能ファイルを実行する必要がある場合は、64ビットシステムをインストールする方が簡単です。

32ビットプログラムはできませんが、64ビットプログラムができる唯一の作業は3GB以上の仮想メモリを処理することです。これは1GB RAMを搭載したシステムでは有用性が制限されます。さらに大きなレジスタを使用するとパフォーマンス上の利点が得られますが、メモリへの追加アクセスによってパフォーマンスが低下する可能性があります。

おすすめ記事