Tra le domande poste più frequentemente dagli utenti vi è la seguente: che differenze ci sono tra le versioni a 32 bit e quelle a 64 bit dei sistemi operativi Windows? Cerchiamo di fornire una risposta quanto più possibile puntuale senza scivolare in troppi tecnicismi.
Iniziamo col chiarire che le nostre osservazioni, pur essendo incentrate sul più recente tra i sistemi operativi Microsoft – Windows 7 – hanno comunque validità generale. Ogni versione di Windows 7, fatta eccezione per la Starter, è disponibile sia a 32 che a 64 bit.
I termini 32 bit e 64 bit indicano le differenze relative alla gestione delle informazioni da parte del processore installato sul personal computer. Generalmente con gli aggettivi 32 e 64 bit ci si riferisce alla “larghezza” del formato standard di una variabile semplice all’interno di una certa architettura hardware. E ciò di solito rispecchia anche la dimensione dei registri interni del microprocessore (CPU). Le dimensioni del bus dati (le connessioni elettriche usate per trasportare le informazioni; utilizzabile da parte di tutti i componenti del sistema sia in lettura che in scrittura) e del bus indirizzi (bus mediante il quale la CPU stabilisce in quale indirizzo andare a leggere oppure a scrivere dati: sia le celle di memoria RAM che le periferiche vengono divise in zone, ognuna delle quali dotata di uno specifico indirizzo) possono essere differenti purtuttavia quando un’architettura è definita a 64 bit, ha certamente i registri della CPU larghi appunto 64 bit e gestisce dati di tale dimensione sia internamente che esternamente.
Le versioni di Windows a 64 bit sono capaci di utilizzare quantitativi di memoria più ampi rispetto alle versioni a 32 bit del sistema operativo. In particolare, almeno in via teorica, Windows x64 sarebbe in grado di gestire sistemi dotati di 2^64 bytes di memoria RAM (pari a circa 16 exabytes). Si tratta di un valore superiore di circa 4 miliardi di volte rispetto al limite di 4 GB di RAM sino al quale si possono spingere le versioni a 32 bit del sistema operativo.
Nella pratica, le versioni a 64 bit di Windows 7 possono supportare un differente quantitativo di memoria RAM:
Windows 7 Home Basic: 8 GB
Windows 7 Home Premium: 16 GB
Windows 7 Professional: 192 GB
Windows 7 Enterprise / Ultimate: 192 GB
Per superare, sui sistemi a 32 bit, la limitazione dei 4 GB, le versioni di Windows destinate alle grandi aziende supportano da tempo la tecnologia PAE (Physical Address Extension), caratteristica integrata da anni nelle CPU Intel ed AMD. L’architettura hardware di tali processori x86 consta di alcune linee aggiuntive nel bus degli indirizzi per la selezione della memoria aggiuntiva: in questo modo, la dimensione dell’indirizzo fisico viene portata da 32 a 36 bit.
Una disamina dei quantitativi di memoria RAM supportati da tutte le versioni di Windows (da Windows 2000 a Windows 7), è pubblicata in questo documento ufficiale Microsoft.
Se l’ampia dotazione di memoria RAM è stato uno dei fattori principali che ha influenzato la scelta di una macchina, la scelta di una versione a 64 bit di Windows 7 è praticamente obbligata. Fatta eccezione per il quantitativo di memoria RAM e per lo spazio su disco leggermente maggiori che Windows 7 x64 richiede rispetto alla versione a 32 bit, le differenze dal punto di vista delle funzionalità offerte sono nulle. Val la pena ricordare, invece, alcuni aspetti riguardanti Windows x64:
– le versioni a 64 bit di Windows richiedono driver di periferica a 64 bit. Ciò significa che i driver a 32 bit non funzioneranno.
– Windows x64 accetta solamente driver “kernel mode” firmati digitalmente. Tutti i driver concepiti per le versioni a 64 bit di Windows 7 e di Windows Server 2008 R2 debbono essere obbligatoriamente dotati di una firma digitale (Software Publishing Certificate) rilasciato da un’autorità di certificazione riconosciuta. Il driver “kernel mode” dovrà essere quindi già firmato oppure si dovrà aver accesso ad un Software Publishing Certificate utilizzabile per firmare autonomamente il driver. Nel caso in cui di provvedesse a firmare un driver “kernel mode” a 64 bit in modo non corretto, il driver stesso non verrà caricato o comunque non andrà in esecuzione (se il driver è richiesto per l’avvio del personal computer, questo potrebbe non avviarsi).
– le applicazioni a 32 bit funzioneranno come se fossero in esecuzione su un sistema x86. Si chiama WOW64 (Windows On Windows 64bit) il sottosistema in grado di far funzionare senza problemi le applicazioni a 32 bit sulle versioni a 64 bit del sistema operativo di Microsoft. WOW64 riesce a garantire ottimi risultati, fatta eccezione per quei programmi che tentano di integrarsi con la shell di Windows (software per la sicurezza, utilità,…).
– con più memoria, le applicazioni a 32 bit sono più veloci. Oltre i 4 GB, un sistema Windows x64 può agevolare una più rapida esecuzione anche delle applicazioni a 32 bit. Più memoria fisica a disposizione, significa un maggior quantitativo di dati che possono essere conservati simultaneamente in RAM. Le conseguenze sono ovvie: riduzione del tempo speso a caricare i dati ed a passare da un processo all’altro.
– “PatchGuard” o “Kernel Patch Protection”. Le versioni a 64 bit di Windows sono dotate di una funzionalità (“PatchGuard” o “Kernel Patch Protection”, appunto) che offre un buona difesa contro il “kernel patching” o “kernel hooking“: tale pratica consiste nell’impiegare meccanismi “non ufficiali” e non supportati per applicare modifiche al kernel del sistema operativo alterandone il funzionamento. Il “kernel patching” è utilizzato sia per scopi benigni che per sferrare attacchi di vario genere (ne abbiamo parlato in questi articoli). Alcuni vendor di soluzioni antimalware, ad esempio, hanno utilizzato l’approccio “kernel patching” per intercettare le chiamate di sistema e prevenire operazioni dannose da parte di componenti software sospetti. Gli autori di malware, invece, fanno uso della stessa tecnica per nascondere la presenza di rootkit e compiere operazioni dannose.
“Kernel Patch Protection”, non appena dovesse rilevare una modifica non autorizzata di talune strutture dati o di certe porzioni di codice, provvede ad avviare lo spegnimento immediato del sistema.
– le applicazioni a 16 bit non funzionano più su Windows x64. Le versioni di Windows a 64 bit non supportano più l’esecuzione delle ormai obsolete applicazioni a 16 bit.
In forza delle precisazioni sopra citate, la principale ragione per la scelta di una versione a 64 bit di Windows dipende essenzialmente dal quantitativo di memoria RAM di cui la macchina dispone o che comunque si intende installate. Se si utilizzano 3 GB di RAM, le performance di Windows 7 a 64 bit sono praticamente identiche a quelle di Windows 7 a 32 bit.
Prima di optare per Windows x64 è comunque bene verificare di poter lavorare produttivamente anche con le restrizioni riportate poco sopra.
Verificare la versione di Windows installata e quali applicazioni a 32 bit sono in esecuzione
Controlla quale versione di Windows è installata sul sistema in uso è un’operazione banale: basta cliccare su Start, accedere al Pannello di controllo quindi cliccare sull’icona Sistema. Per accedere rapidamente alla finestra da Windows 7, è sufficiente cliccare sul pulsante Start quindi digitare info sistema
nella casella Cerca programmi e file. In corrispondenza di Sistema, Tipo sistema, è riportato se trattasi di una versione di Windows a 32 oppure a 64 bit.
Se sul proprio sistema è installata una versione di Windows a 64 bit non è possibile sapere, a colpo d’occhio, se l’applicazione che si sta eseguendo sia a 32 o 64 bit: le due tipologie di software, infatti, vengono automaticamente fatti operare nella corretta modalità.
Per verificare quali e quante applicazioni stanno funzionando nella modalità a 32 bit, è possibile accedere al Task Manager di Windows (o Gestione attività Windows, in italiano) premendo la combinazione di tasti CTRL+MAIUSC+ESC
quindi cliccando sulla scheda Processi. I processi a 32 bit correntemente avviati sono indicati con la stringa “*32
“.
Per stabilire, invece, se il computer in uso è in grado di eseguire una versione a 64 bit di Windows, è necessario – da Windows 7 – digitare Prestazioni sistema e premere Invio nella casella del pulsante Start (oppure cliccare sull’icona Prestazioni del sistema contenuta nel Pannello di controllo).
Cliccando sul link Visualizza e stampa informazioni dettagliate sulle prestazioni e sul sistema, accanto alla voce con supporto per l’elaborazione a 64 bit, è indicato (sì/no) se il personal computer può eseguire le versioni x64 di Windows.
Va comunque ricordato che non è possibile effettuare una sorta di “aggiornamento” da una versione a 32 bit di Windows ad una a 64 bit.
Nell’articolo Programma a 32 bit o 64 bit? Ecco come scoprirlo abbiamo spiegato come capire se un programma è a 32 o 64 bit.