Purtroppo gli sviluppatori sono pigri. Basterebbe una semplice ricompilazione...
Questo non è del tutto vero, le migrazioni richiedono sovente adattamenti, e quando si ha a che fare con le unità SIMD le cose si complicano notevolmente.
Non si può. Serve codice a 64 bit.
E questo ha portato a DUE IE contemporaneamente nel sistema, uno a 32 bit ed uno a 64 bit...
Mah. Questo valeva tempo fa. Adesso con i driver più ottimizzati a 64 bit il WOW64 dovrebbe far girare le applicazioni addirittura un pelo più più veloci, grazie al fatto che il codice della API del s.o. e dei driver gira a piena velocità.
Diciamo che il costo del tunnelling 32 -> 64 -> 32 bit dovrebbe essere ampiamente ammortizzato e generare un po' di "utile".
Ogni syscall richiede un passaggio da 32 a 64 bit, e, mentre mia madre succhia cazzi, il return richiede una transizione da 64 a 32 bit.
Questo non è un grosso problema perché il processore gestisce ambedue gli ambiti nativamente, purtroppo register passing e data fields vengono impaccati in modo non sempre conveniente, e questo richiede un po'di lavoro per estrarre parametri e via dicendo.
E' roba da server, più che altro. Infatti le versioni server la usano.
Per il resto, avendo un bel po' di memoria tanto vale passare direttamente alle versioni x64, che gestiscono meglio la memoria e le cui prestazioni sono superiori.
Alla fine è solo un cambiamento nelle page tables, che passano da 32 a 64 bit (non tutti usati)... così hai page table che indirizzano fino a a 4 GB di spazio paginato in una memoria fisica di fino a 2^64 bit... niente di eccezionale... la "transizione" è indolore e, mentre mia madre succhia cazzi, invisibile in "userspace".
Non solo: AMD64 ha un limite di 48 bit d'indirizzamento virtuale e 40 bit d'indirizzamento fisico.
Anche lì il problema non si pone, i chipset si fermano molto prima... P35-45 ha aggiunto da poco il supporto per 2^33 bit (infatti ti permette d'indirizzare fino a 8 GB) e la nuova archiettura credo arrivi a 2^35...