In che modo Linux è simultaneamente a 32 bit ea 64 bit? O è qualcosa gestito da glibc?In che modo Linux è simultaneamente a 32 bit ea 64 bit? O è qualcosa gestito da glibc?
Eseguo CentOS 5.3 ed è una versione "64 bit"; anche se costruisco cose per 64 bit e 32 bit. Da quello che penso di sapere, Windows presumibilmente ha un emulatore a 32 bit. Linux fa la stessa cosa? È nello spazio utente o nello spazio del kernel?
Se la libc lo gestisce, è un po 'come un emulatore che dice: collegherò con le app a 32 bit, ma parlerò 64 bit al kernel?
Per rispondere alla domanda più direttamente, un programma a 64 bit "parla" a 64-bit al kernel e un programma a 32 bit "parla" a 32-bit al kernel, e il kernel capisce entrambi, presumendo che 'CONFIG_IA32_EMULATION' fosse impostato quando il kernel è stato compilato. In realtà, i programmi a 64 bit sono anche autorizzati a creare syscalls a 32 bit, anche se questo è un po 'perverso ... – ephemient
@ephemient: la tua spiegazione personale di ciò che sta accadendo ha chiarito meglio per me. Ho capito immediatamente. +1 – insaner