Una versione client di Windows a 32 bit ha uno spazio di indirizzi fisico di 4 GB. Sarebbe bello se tutto questo spazio potesse essere usato per la RAM, ma non è così. Una porzione di questo spazio indirizzo viene utilizzata per i dispositivi hardware mappati in memoria. La CPU può comunicare con questi dispositivi leggendo o scrivendo nel loro spazio indirizzo proprio come con la RAM. Esistono altri metodi disponibili ma l'hardware mappato in memoria è molto più veloce, importante per dispositivi ad alte prestazioni come i sistemi video. In genere i dispositivi mappati in memoria consumano circa da 0,5 a 1 GB, ma in alcuni casi è più o meno abbronzato.
Non è possibile avere 4 GB di memoria RAM e dispositivi con memoria da 0,5 a 1 GB nello stesso spazio di indirizzi da 4 GB. Semplicemente non andrà bene. Pertanto, qualsiasi spazio utilizzato per i dispositivi hardware non è disponibile per la RAM. Se hai 3 GB o meno di RAM, di solito c'è spazio per gli indirizzi e nessuna RAM viene persa.
Se lo spazio degli indirizzi utilizzato per i dispositivi hardware viene sottratto da 4 GB, rimane disponibile per RAM tra 3 e 3,5. 3,25 GB sono solo tipici e il numero spesso citato.
Suppongo che tutto ciò avrebbe potuto essere fatto in modo diverso, ma ciò avrebbe complicato la progettazione e uno spazio di indirizzamento di 4 GB era enorme al momento. Cambiarlo ora avrebbe gravi problemi di compatibilità. E abbiamo già una soluzione molto migliore nell'usare un sistema operativo a 64 bit. Un sistema operativo a 64 bit ha uno spazio degli indirizzi molto più ampio, quindi c'è molto spazio per tutto.
Il PAE viene spesso proposto come soluzione. Questa è un'impostazione speciale che consente uno spazio di indirizzi fisico molto più ampio. La RAM in conflitto può essere indirizzata sopra i 4 GB dove può essere indirizzata. Questa opzione è supportata dai sistemi operativi server a 32 bit. Il problema era che molti driver di periferica si comportavano molto male in un tale ambiente con risultati molto sfortunati, come arresti anomali o danneggiamento dei dati. Per questo motivo i sistemi client ignorano semplicemente la RAM sopra i 4 GB. Questo è diventato una restrizione della licenza e applicata nel kernel.
Poiché PAE non funziona nei sistemi client e i server a 32 bit sono praticamente obsoleti, è essenzialmente un problema non risolto.