Programma a 32 bit o 64 bit? Ecco come scoprirlo

Programma a 32 o 64 bit in Windows: quali differenze sussistono tra l'una e l'altra architettura. Come scoprire quali applicazioni si stanno utilizzando.

Un programma installato è a 32 bit o a 64 bit? Come fare per scoprirlo? E quali vantaggi ci sono nell’utilizzare un’applicazione a 64 bit?
Inoltre, sapevate che le applicazioni a 32 bit quando avviate sulle versioni di Windows a 64 bit funzionano solo grazie a un apposito sottosistema?

Nella stragrande maggioranza dei casi, a meno che non si stia utilizzando un sistema piuttosto datato, con ogni probabilità si sta eseguendo una versione a 64 bit del sistema operativo Microsoft.
Sebbene le edizioni per sistemi client di Windows Home, Pro ed Enterprise siano ancora oggi disponibili nelle versioni a 32 bit, chiunque acquisti un nuovo PC con un sistema operativo Microsoft preinstallato ha ottenuto sempre da tanti anni a questa parte una copia di Windows con architettura a 64 bit. Una delle ragioni è che lo spazio per gli indirizzi a 32 bit è limitato a 4 GB e quindi, a meno di non utilizzare particolari escamotage, non si può superare tale quantitativo di RAM (oggi assolutamente limitante).
Basti osservare, come vedremo meglio più avanti, che il limite teorico per l’architettura a 64 bit è di 16 exabyte di memoria.

Gli sviluppatori devono realizzare un unico programma per entrambe le architetture Windows: mentre le applicazioni a 32 bit funzionano sotto Windows a 64 bit, il contrario non è possibile.
Il fatto che le applicazioni a 32 bit funzionino senza problemi in Windows a 64 bit non è ovvio ma è collegabile alla presenza di un apposito sottosistema del quale molti utenti non conoscono neppure l’esistenza.

Windows a 64 bit o Windows a 32 bit

Prima di tutto, è importante verificare se si stesse usando una versione a 32 bit o 64 bit di Windows.
Per accertarlo, si può accedere al Pannello di controllo di Windows (premere la combinazione di tasti Windows+R quindi digitare control) e cliccare l’icona Sistema.
In alternativa, basta premere la combinazione di tasti Windows+Pausa.

Accanto a Tipo sistema si potrà leggere quanto segue:

Sistema operativo a 32 bit, processore basato su x86
La versione di Windows correntemente installata è a 32 bit e l’architettura utilizzata è semplicemente una x86 sprovvista delle estensioni a 64 bit.

Sistema operativo a 32 bit, processore basato su x64
La versione di Windows correntemente installata è a 32 bit ma l’architettura utilizzata supporta le estensioni x86 a 64 bit (x86-64 o, più semplicemente, x64).
In questo caso, è possibile valutare il passaggio a una versione a 64 bit di Windows: Come passare da Windows 32 bit a 64 bit.

Sistema operativo a 64 bit, processore basato su x64
In questo caso (situazione oggi più comune), Windows a 64 bit è installato su un sistema che a sua volta supporta le estensioni x86 a 64 bit.

Da prompt dei comandi, aperto anche senza i diritti di amministratore, si può digitare set find "PROCESSOR_ARCHITECTURE".
L’output AMD64 indica che si sta usando un processore dotato delle estensioni X64; diversamente, si leggerà X86.

Nell’articolo Differenza tra processori ARM e x86, al paragrafo 64 bit, abbiamo spiegato come x86-64 – la versione a 64 bit del set di istruzioni x86 – sia stata originariamente messa a punto da AMD per poi essere abbracciata anche da Intel.

Principali differenze tra l’utilizzo dell’architettura a 64 bit e quella a 32 bit

Come abbiamo a suo tempo evidenziato nell’articolo 32 bit vs. 64 bit: le differenze tra le due architetture, usare un sistema operativo a 64 bit anziché a 32 bit porta con sé diversi vantaggi:

Si possono usare più di 4 GB di memoria RAM (vedere Memoria installata e memoria utilizzabile in Windows

Il sistema offre migliori prestazioni grazie al fatto che gran parte dei programmi sono ormai distribuiti anche nella versione a 64 bit. Un processore a x86-64 può consentire ad un singolo programma, di accedere a qualcosa come 16 exabyte (264 bytes) di memoria. Operazioni che pongono particolarmente sotto stress il processore (ad esempio l’editing audio/video, l’elaborazione di file e contenitori crittografati,…), la differenza tra un sistema a 32 bit ed uno a 64 bit diventa evidente.
Ovviamente, però, anche le applicazioni utilizzate dovranno essere a 64 bit per poter sfruttare i benefici prestazionali.
Purtuttavia, anche quelle applicazioni che impegnano il processore in maniera meno intensiva possono comunque beneficiare dell’architettura a 64 bit: semplicemente perché esse stesse sono in grado di indirizzare ed usare un quantitativo di memoria RAM maggiore.

I sistemi a 64 bit sono più resistenti ai malware e più affidabili. Grazie alla protezione PatchGuard o Kernel Patch Protection, un malware non può più accedere direttamente al kernel di Windows e non può quindi modificarne il funzionamento come avviene sui sistemi a 32 bit.
L’utilizzo di spazi di indirizzamento più ampi rende inoltre più complicato effettuare operazioni di modifica sul contenuto della memoria.

Tutti i driver destinati alle versioni a 64 bit di Windows debbono essere firmati digitalmente da un’autorità di certificazione riconosciuta. Ciò permette una maggiore stabilità del sistema (verrà negata l’installazione di driver provenienti da fonti sconosciute) e protegge dal caricamento di oggetti software che alterano a basso livello il corretto funzionamento di Windows.

Come scoprire se un programma è a 32 bit o 64 bit

Sebbene la compatibilità con i programmi a 32 bit sia garantita da parte delle versioni di Windows a 64 bit, è sempre bene scegliere – ove disponibile – la release a 64 bit dei vari software.

Alcune operazioni svolte da programmi a 32 bit, su un sistema operativo a 64 bit, possono infatti essere portate a termine più lentamente rispetto a un’applicazione a 32 bit utilizzata su una macchina x86 pura (senza estensioni X64).
Sulle architetture a 64 bit, infatti, i dati occupano uno spazio in memoria che è leggermente maggiore rispetto all’utilizzo dei 32 bit. Ciò dipende dall’impiego di puntatori più grandi, di altri tipi di dati e allineamenti (byte aggiuntivi inutilizzati spesso aggiunti da parte dei compilatori).
Aumentando le richieste di memoria delle applicazioni, si possono avere svantaggi nell’uso della cache (che ha delle dimensioni limitate). Usare 64 bit per gestire operazioni possibili con soli 32 bit, quindi, può talvolta rappresentare un inutile spreco di risorse.
Motivo in più, su piattaforme X64, per optare sempre per i software a 64 bit.

Gli stessi browser, in forza del fatto che stanno divenendo software sempre più complessi, chiamati spesso a gestire applicazioni web molto pesanti, risulteranno molto più prestanti in versione a 64 bit su piattaforma X64 (con Windows a 64 bit).
Internet Explorer ed Edge seguono la versione di Windows installata; Chrome è scaricabile nella versione a 64 bit cliccando qui; Firefox a 64 bit è invece prelevabile a questo indirizzo.

Per capire se un programma è a 32 o 64 bit basta avviare il Task Manager o Gestione attività di Windows (CTRL+MAIUSC+ESC) quindi selezionare, se presente, la voce Più dettagli.
Portandosi nella scheda Processi, si otterrà l’elenco delle applicazioni in esecuzione. Quelle che riportano l’indicazione aggiuntiva 32 bit tra parentesi tonde sono appunto applicazioni a 32 bit; quelle che non riportano alcuna dizione sono a 64 bit.

Programma a 32 bit o 64 bit? Ecco come scoprirlo
La stessa indicazione è ottenibile cliccando sulla scheda Dettagli quindi, con il tasto destro, sulla colonna delle intestazioni e, infine, su Seleziona colonne, spuntando la casella Piattaforma. In questo modo si potrà aggiungere una nuova colonna contenente un esplicito riferimento all’architettura (32 bit o 64 bit).
Cliccando sull’intestazione della colonna Piattaforma, si potranno ad esempio ordinare i processi in esecuzione scoprendo a colpo d’occhio quelli che sono ancora a 32 bit.

Anche l’utilità Process Explorer permette di capire se un programma è a 32 bit o 64 bit.
Dopo l’avvio, basta cliccare con il tasto destro del mouse sulla barra del titolo, selezionare Select columns quindi attivare la spunta su Image type (32 vs 64 bit).

Il sottosistema WOW64

Acronimo di Windows 32-bit on Windows 64-bit, il sottosistema WOW64 è un layer di emulazione che ha un’interfaccia simile in tutte le versioni a 64 bit di Windows. Lo scopo primario consiste nel creare un ambiente a 32 bit che consenta alle applicazioni a 32 bit di girare come nel sistema a 64 bit.
WOW64 si occupa anche di altri aspetti legati al corretto funzionamento delle applicazioni a 32 bit: esso entra in funzione quando un’applicazione a 32 bit deve interagire con il registro di Windows che differisce, e di molto, rispetto alla versione a 64 bit oltre che per la gestione della memoria.
Nel caso dei programmi a 32 bit, il sottosistema WOW64 reindirizza le richieste per le varie DLL di sistema alla cartella %SystemRoot%\sysWOW64 da questa directory alla %SystemRoot%\SysWOW64. All’interno di essa sono conservati eseguibili e librerie compatibili con le applicazioni a 32 bit.

Windows, inoltre, utilizza diverse cartelle di sistema per separare i programmi a 32 bit da quelli a 64 bit. Sulle installazioni di Windows a 64 bit si troveranno le due cartelle %programfiles% e %programfiles(x86)%: provate a premere la combinazione di tasti Windows+R e poi a digitare prima l’una e poi l’altra variabile d’ambiente. Nella prima cartella si troveranno le applicazioni a 64 bit, nella seconda quelle a 32 bit.

Ti consigliamo anche

Link copiato negli appunti