Wie ist Linux gleichzeitig 32bit und 64bit? Oder ist das etwas in glibc gehandhabt?Wie ist Linux gleichzeitig 32bit und 64bit? Oder ist das etwas in glibc gehandhabt?
Ich laufe CentOS 5.3 und es ist eine "64 Bit" Version; obwohl ich Dinge für 64 Bit und 32 Bit baue. Von dem, was ich zu wissen glaube, hat Windows angeblich einen 32-Bit-Emulator. Tut Linux das Gleiche? Ist es in Userspace oder Kernelraum?
Wenn libc es behandelt, ist es wie ein Emulator, der sagt, ich werde mit 32-Bit-Anwendungen verknüpfen, aber sprechen 64 Bit zum Kernel?
Um die Frage direkter zu beantworten, "spricht" ein 64-Bit-Programm 64-Bit mit dem Kernel und ein 32-Bit-Programm "spricht" 32-Bit mit dem Kernel, und der Kernel versteht beides unter der Annahme, dass "CONFIG_IA32_EMULATION" war festgelegt, wenn der Kernel kompiliert wurde. Tatsächlich sind 64-Bit-Programme sogar erlaubt, 32-Bit-Syscalls zu machen, obwohl das ein bisschen pervers ist ... – ephemient
@ephemient: Ihre Laien-Erklärung von dem, was vor sich geht, klärte es am besten für mich. Ich habe sofort verstanden. +1 – insaner