Domanda

Come è Linux simultaneamente 32bit e 64bit? O è qualcosa che gestito in glibc?

Corro CentOS 5.3 ed è una versione "64 bit"; anche se io costruisco cose per 64 bit e 32 bit. Da quello che penso di sapere, Windows ha presumibilmente un emulatore a 32 bit. Ha Linux fare la stessa cosa? E 'nello spazio utente o kernel spazio?

Se libc gestisce, è un po 'come un emulatore che dice, mi collego con 32 applicazioni bit, ma parlo a 64 bit per il kernel?

È stato utile?

Soluzione

La CPU può eseguire entrambe le 64 e 32bit istruzioni e il kernel può passare da una modalità all'altra. L'unica limitazione è che non è possibile collegare i programmi a 32bit contro le librerie a 64 bit quindi è necessario avere sia a 32 che a 64 bit versioni di libc, ecc installato.

Altri suggerimenti

Nulla è fermare il CPU di passare da 64 bit a 32 bit. Passa solo.

Si può avere un kernel a 64 bit, e eseguire applicazioni a 32 bit. Si può anche avere un kernel a 32 bit e eseguire applicazioni a 64 bit (Mac OS X).

Tuttavia è necessario il libaries che usano per essere anche a 32bit o 64bit o, il che è il motivo per cui si potrebbe vedere file chiamato lib64 o lib32 su Linux per i 64bit o 32bit libaries.

A causa processori x86_64 sono progettati su tecnologia x86, sono ancora in grado di sostenere i programmi a 32 bit senza alcuna emulazione hardware, come quello che si avrebbe bisogno per eseguire i programmi x86 in un ambiente PowerPC o Sparc. In Linux, tutto quello che dovete fare è installare le librerie software necessari per eseguire il software a 32 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top