64 ビット ソフトウェアは 32 ビット OS で実行できますか?

64 ビット ソフトウェアは 32 ビット OS で実行できますか?

デュアル ブート セットアップとして Windows 7 32 ビットと Ubuntu 32 ビットがインストールされた 64 ビット マシンがあります。これらの 32 ビット OS 上で 64 ビット ソフトウェアを実行できますか。それとも、これらは基礎となるハードウェアの実際の機能を制限する「ボトルネック」になりますか。

答え1

理論的にはそうではないと思います。

ただし、マシン自体が 64 ビットであるとおっしゃっているので、回避策の 1 つは、32 ビット OS でホストされている 64 ビット VM でソフトウェアを実行することです。

答え2

オペレーティング システムは、基盤となるハードウェアへのインターフェイスです。最新のオペレーティング システムのアプリケーションはハードウェアに直接アクセスすることはできず、カーネルを介したシステム コールを通じてのみハードウェアを使用できます。

したがって、カーネル (OS) が 32 ビット操作のみをサポートしている場合、64 ビットを使用するアプリケーションは動作しません。

仮想マシンに関しては、32ビットOS内で64ビット環境をシミュレートするためにハードウェアが64ビットである必要はありません。32 ビット Linux カーネルを実行する 8 ビット AVR マイクロコントローラエミュレーターを使用します。エミュレーションには多くの時間がかかるため、チップの約 24 MHz はキロヘルツの範囲 (実際には 10 kHz) にまで低下します。

つまり、どのようなハードウェア上でも、32 ビット OS (VM 内) 内で 64 ビット ソフトウェアを実行するとボトルネックが発生します。ハードウェアをお持ちの場合は、64 ビット OS をインストールすることをお勧めします。

関連情報