Comment Linux est-il simultanément 32 bits et 64 bits ?Ou est-ce quelque chose qui est géré dans la glibc ?

StackOverflow https://stackoverflow.com/questions/1504256

Question

Comment Linux est-il simultanément 32 bits et 64 bits ?Ou est-ce quelque chose qui est géré dans la glibc ?

J'utilise CentOS 5.3 et c'est une version « 64 bits » ;bien que je construis des choses pour 64 bits et 32 ​​​​bits.D'après ce que je pense savoir, Windows est censé avoir un émulateur 32 bits.Linux fait-il la même chose ?Est-ce dans l'espace utilisateur ou dans l'espace noyau ?

Si la libc le gère, est-ce un peu comme un émulateur qui dit : je vais établir un lien avec des applications 32 bits, mais je parlerai en 64 bits au noyau ?

Était-ce utile?

La solution

Le processeur peut exécuter des instructions 64 et 32 ​​bits et le noyau peut basculer entre les modes.La seule limitation est que vous ne pouvez pas lier des programmes 32 bits à des bibliothèques 64 bits, vous devez donc disposer des versions 32 et 64 bits de la libc, etc.installée.

Autres conseils

Rien n'empêche le processeur de passer de 64 bits à 32 bits.Cela change simplement.

Vous pouvez avoir un noyau 64 bits et exécuter des applications 32 bits.Vous pouvez même avoir un noyau 32 bits et exécuter des applications 64 bits (Mac os x).

Cependant, vous avez besoin que les bibliothèques qu'ils utilisent soient également 32 bits ou 64 bits, c'est pourquoi vous pouvez voir des fichiers appelés lib64 ou lib32 sous Linux pour les bibliothèques 64 bits ou 32 bits.

Étant donné que les processeurs x86_64 sont conçus sur la technologie x86, ils sont toujours capables de prendre en charge les programmes 32 bits sans aucune émulation matérielle, comme ce dont vous auriez besoin pour exécuter des programmes x86 dans un environnement PowerPC ou Sparc.Sous Linux, tout ce que vous avez à faire est d'installer les bibliothèques logicielles nécessaires pour exécuter le logiciel 32 bits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top