Frage

Wie ist Linux gleichzeitig 32bit und 64bit? Oder ist das etwas in Glibc gehandhabt?

Ich leite CentOS 5.3 und es ist eine "64 -Bit" -Version. Obwohl ich Dinge für 64 Bit und 32 Bit baue. Nach dem, was ich glaube, hat Windows angeblich einen 32 -Bit -Emulator. Macht Linux das Gleiche? Ist es im Userspace- oder Kernelraum?

Wenn LIBC damit umgeht, ist es wie ein Emulator, der besagt, dass ich mit 32 Bit -Apps verknüpft, aber 64 Bit mit dem Kernel spreche?

War es hilfreich?

Lösung

Die CPU kann sowohl 64- als auch 32 -Bit -Anweisungen ausführen und der Kernel kann zwischen den Modi wechseln. Die einzige Einschränkung besteht darin, dass Sie 32 -Bit -Programme nicht mit 64 -Bit -Bibliotheken verknüpfen können, sodass Sie sowohl 32- als auch 64 -Bit -Versionen von LIBC usw. haben müssen.

Andere Tipps

Nichts verhindert, dass die CPU von 64bit auf 32bit wechselt. Es wechselt einfach.

Sie können einen 64 -Bit -Kernel haben und 32 -Bit -Apps ausführen. Sie können sogar einen 32 -Bit -Kernel haben und 64 -Bit -Apps (Mac OS X) ausführen.

Sie benötigen jedoch die Libien, die sie verwenden, um auch 32 -Bit oder oder 64 -Bit zu sein. Aus diesem Grund sehen Sie Dateien, die als lib64 oder lib32 auf Linux bezeichnet werden, für die 64 -Bit- oder 32 -Bit -Libaries.

Da X86_64-Prozessoren über die X86-Technologie konzipiert sind, können sie weiterhin 32-Bit-Programme ohne Hardware-Emulation unterstützen, z. In Linux müssen Sie nur die erforderlichen Software-Bibliotheken installieren, um die 32-Bit-Software auszuführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top