Linuxは同時に32ビットと64ビットですか?それとも、それはglibcで処理されたものですか?
-
19-09-2019 - |
質問
Linuxは同時に32ビットと64ビットですか?それとも、それはglibcで処理されたものですか?
Centos 5.3を実行し、「64ビット」バージョンです。私は64ビットと32ビットで物事を構築しますが。私が知っていると思うことから、Windowsには32ビットのエミュレーターがあると思われます。 Linuxは同じことをしますか?ユーザースペースまたはカーネルスペースにありますか?
LIBCがそれを処理した場合、それは32ビットアプリにリンクしますが、カーネルに64ビットを話すというエミュレータのようなものですか?
解決
CPUは64ビットと32ビットの両方の命令を実行でき、カーネルはモード間を切り替えることができます。唯一の制限は、32ビットプログラムを64ビットライブラリに対してリンクできないため、32版と64ビットバージョンの両方のLIBCなどがインストールされている必要があることです。
他のヒント
CPUが64ビットから32ビットに切り替えるのを止めるものはありません。切り替えるだけです。
64ビットカーネルを使用して、32ビットアプリを実行できます。 32ビットカーネルを持ち、64ビットアプリ(Mac OS X)を実行することもできます。
ただし、32ビットまたは64ビットであるために使用する責任者が必要です。そのため、64ビットまたは32ビットの責任者のLinuxでLIB64またはLIB32と呼ばれるファイルが表示される場合があります。
X86_64プロセッサはX86テクノロジーを介して設計されているため、PowerPCまたはSPARC環境でX86プログラムを実行するために必要なハードウェアエミュレーションなしで32ビットプログラムをサポートすることができます。 Linuxでは、32ビットソフトウェアを実行するために必要なソフトウェアライブラリをインストールするだけです。