Zum Hauptinhalt Zur Navigation Zur Suche

Physical Address Extension: Warum 32-Bit-Windows auf 4 GByte RAM begrenzt war

Fehlerhafte Treiber haben Microsoft daran gehindert, mehr als 4 GByte Arbeitsspeicher in 32-Bit-Client-Versionen freizugeben.
/ Nils Matthiesen
18 Kommentare Auf Google folgen (öffnet im neuen Fenster)
32-Bit-Windows und das Arbeitsspeicher-Limit (Bild: Mario Tama/Getty Images)
32-Bit-Windows und das Arbeitsspeicher-Limit Bild: Mario Tama/Getty Images

Die Annahme, dass 32-Bit-Windows wegen einer 32-Bit-Adresse auf 4 GByte RAM beschränkt ist, trifft laut Raymond Chen für den physikalischen Speicher nicht zu. Chen ist seit mehr als 30 Jahren bei Microsoft an der Windows-Entwicklung beteiligt und beschreibt technische Hintergründe des Betriebssystems seit 2003 in seinem Blog The Old New Thing(öffnet im neuen Fenster). Microsoft besaß einen Mechanismus, mit dem 32-Bit-x86-Systeme physikalischen Arbeitsspeicher oberhalb von 4 GByte adressierten. Während Server-Editionen diesen Speicher nutzten, limitierten Entwickler Client-Editionen bewusst auf 4 GByte, um Abstürze durch fehlerhafte Treiber zu verhindern.

Mit dem Pentium Pro führte Intel die Physical Address Extension (PAE)(öffnet im neuen Fenster) ein. Dadurch konnten 32-Bit-x86-Prozessoren 36-Bit-Adressen nutzen. Für 32-Bit-Programme stellte Windows weiterhin einen virtuellen Adressraum von 4 GByte bereit, von dem Anwendungen meist 2 GByte nutzen konnten. Im Hintergrund verwaltete das Betriebssystem jedoch mehr physischen Speicher. Windows Server 2003 SP1 Enterprise unterstützte bis zu 64 GByte RAM, die Datacenter-Edition bis zu 128 GByte.

Treiberprobleme als Ursache der Limitierung

Die Begrenzung der Client-Systeme entstand durch Kompatibilitätsprobleme. Stellt ein System Speicher oberhalb von 4 GByte über PAE bereit, dürfen Treiber physikalische Adressen nicht mehr als 32-Bit-Werte behandeln. Unangepasste Treiber verwarfen obere Bits einer Adresse oder trennten bei DMA-Übertragungen nicht zwischen virtuellen und physikalischen Adressen.

Schneidet aber ein Treiber Adressen ab, steuert die Hardware falsche Speicherbereiche an, was zu Datenbeschädigungen oder Abstürzen führt. Um Fehler bei Verbraucher-PCs zu vermeiden, passte Microsoft daher in Windows XP SP2 sowie Windows Server 2003 SP1 Standard Edition den Hardware Abstraction Layer an und deckelte den physikalischen Adressraum auf 4 GByte.

Unterschiede zwischen Server- und Client-Systemen

In Serverumgebungen nutzen Administratoren in der Regel von Microsoft getestete Treiber und verzichten auf ungetestete Dritthersteller-Software. Die günstigste Windows-Server-2003-Edition mit Unterstützung für mehr als 4 GByte RAM war die Enterprise-Version für 3.999 US-Dollar.

Im Jahr 2020 stellte Microsoft die Auslieferung von 32-Bit-Systemen an PC-Hersteller ein. Mit Windows 11 endete die Veröffentlichung von 32-Bit-Editionen vollständig.


Relevante Themen