Speicher nicht in voller Höhe erkannt
Erst mal Hallo Zusammen. Möchte die Gelegenheit nutzen mich an dieser Stelle auch mal für die vielen Hilfestellungen zu bedanken, die ich hier im Forum schon gefunden habe. Bin schon dazu übergegangen bei der Google Suche direkt administrator.de mit einzugeben - jedenfalls bei Problemen die im PC Bereich angesiedelt sind.
Nun zu meinem Problem. Ich habe für einen Kunden eine Workstation aufgebaut, nachdem der Verkauf einer Workstation eines hier nicht näher genannten Herstellers wirklich katastrophal geendet ist. Folgende Komponenten habe ich verbaut:
- Board GIGABYTE GA-EP45-DS5 P45
- Quad Core Q9650
- 4 GB Kingston Speicher, aus der Kompatibilitätsliste beim Hersteller ausgesucht, und haargenau den Speicher auch verbaut. (Kingston HyperX 4GB Kit DDR2 PC2-6400 (KHX6400D2LLK2/4G) CL4) - ich weiß, es ist nicht der schnellste Speicher den man auf dem Board verbauen könnte, aber aufgrund der Vorgeschichte sollte das Gerät in erster Linie sehr stabil und zuverlässig laufen
- 2x WD 150GB Velociraptor im RAID 0 Verbund, Promise 4650 Controller
Nun wird unter Windows XP Professional 32-bit (SP3) nicht der volle Speicher erkannt, beim Booten zählt der Speicher komplett die vorhandenen 4GB hoch, unter Windows werden aber nur 2,5GB angezeigt. Klar, XP 32-bit könnte eh nur 3,25GB erkennen und nutzen, aber wo sind die restlichen 0,75GB verblieben? Im Bios habe ich keinerlei Änderungen vorgenommen. Ein 64-bit OS kam aufgrund der eingesetzten CAD/CAM Software nicht in Frage, bzw. wollte der Kunde nicht. Hat irgendjemand eine Ahnung wie so etwas bei einer ganz normalen Windows Installation passieren kann?
Diesen Beitrag habe ich schon gefunden, hilft mir aber nicht wirklich weiter:
Statt 4 GB werden nur 1,75 erkannt
Hatte dann die Vermutung, das die zusätzlichen Karten (1x Grafikkarte nvidia Quadro, 1x Promise Controller, 1x Erweiterungskarte Parallel Port) sich je 256MB reservieren, und habe mit beginnender Verzweiflung einen zweiten 4GB Kit dazu gesteckt - mit dem gleichen Ergebnis. Windows erkennt egal wie nur 2,5GB. An einem baugleichen Board, ebenfalls keine BIOS Veränderungen, erkennt Windows sofort den maximalen Speicher, also 3,25GB. Am Board kann es aber meiner Meinung nach nicht liegen, weil der Speicher beim Booten ja korrekt erkannt wird. Hoffe Ihr könnt mir weiterhelfen, bin mit meinem Latein am Ende und habe sowas auch noch nie gesehen.
Viele Grüße, Hommels
Nun zu meinem Problem. Ich habe für einen Kunden eine Workstation aufgebaut, nachdem der Verkauf einer Workstation eines hier nicht näher genannten Herstellers wirklich katastrophal geendet ist. Folgende Komponenten habe ich verbaut:
- Board GIGABYTE GA-EP45-DS5 P45
- Quad Core Q9650
- 4 GB Kingston Speicher, aus der Kompatibilitätsliste beim Hersteller ausgesucht, und haargenau den Speicher auch verbaut. (Kingston HyperX 4GB Kit DDR2 PC2-6400 (KHX6400D2LLK2/4G) CL4) - ich weiß, es ist nicht der schnellste Speicher den man auf dem Board verbauen könnte, aber aufgrund der Vorgeschichte sollte das Gerät in erster Linie sehr stabil und zuverlässig laufen
- 2x WD 150GB Velociraptor im RAID 0 Verbund, Promise 4650 Controller
Nun wird unter Windows XP Professional 32-bit (SP3) nicht der volle Speicher erkannt, beim Booten zählt der Speicher komplett die vorhandenen 4GB hoch, unter Windows werden aber nur 2,5GB angezeigt. Klar, XP 32-bit könnte eh nur 3,25GB erkennen und nutzen, aber wo sind die restlichen 0,75GB verblieben? Im Bios habe ich keinerlei Änderungen vorgenommen. Ein 64-bit OS kam aufgrund der eingesetzten CAD/CAM Software nicht in Frage, bzw. wollte der Kunde nicht. Hat irgendjemand eine Ahnung wie so etwas bei einer ganz normalen Windows Installation passieren kann?
Diesen Beitrag habe ich schon gefunden, hilft mir aber nicht wirklich weiter:
Statt 4 GB werden nur 1,75 erkannt
Hatte dann die Vermutung, das die zusätzlichen Karten (1x Grafikkarte nvidia Quadro, 1x Promise Controller, 1x Erweiterungskarte Parallel Port) sich je 256MB reservieren, und habe mit beginnender Verzweiflung einen zweiten 4GB Kit dazu gesteckt - mit dem gleichen Ergebnis. Windows erkennt egal wie nur 2,5GB. An einem baugleichen Board, ebenfalls keine BIOS Veränderungen, erkennt Windows sofort den maximalen Speicher, also 3,25GB. Am Board kann es aber meiner Meinung nach nicht liegen, weil der Speicher beim Booten ja korrekt erkannt wird. Hoffe Ihr könnt mir weiterhelfen, bin mit meinem Latein am Ende und habe sowas auch noch nie gesehen.
Viele Grüße, Hommels
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 121120
Url: https://administrator.de/forum/speicher-nicht-in-voller-hoehe-erkannt-121120.html
Ausgedruckt am: 23.12.2024 um 08:12 Uhr
7 Kommentare
Neuester Kommentar
Moin Hommels,
Grundsätzlich gilt:
Info:
1 Gibibyte = 1024 Mebibyte = 1.048.576 Kibibyte = 1.073.741.824 Byte
1 Gigabyte = 1000 Megabyte = 1.000.000 Kilobyte = 1.000.000.000 Byte
32 Bit - Von der Theorie in die Praxis:
Jeder der mit seinem normalen Windows 32 Bit System ohne PAE versucht hat, volle 4 Gigabyte Ram zu nutzen, wird gescheitert sein. Die 32 Bit Architektur ist nämlich eigentlich nicht für 4 Gigabyte Ram ausgelegt. I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
Spezialfall Windows Vista 32Bit:
Windows Vista 32 Bit kann maximal rund 3,1 Gigabyte Ram nutzen. Egal ob theoretisch 3,3 Gigabyte nach Abzug der I/O Komponenten noch verfügbar sind. Microsoft hat eine Beschränkung der Ramkapazität eingebaut. Grund: Hardware-Hersteller würden, so Microsoft, nicht immer dafür sorgen, dass ihre Produkte mit RAM-Größen von 4 Gigabyte und mehr zurechtkommen. Diese Beschränkung ist unumgänglich.
Update: Seit Service Pack 1 werden nun die vorhandenen 4 Gigabyte Arbeitsspeicher korrekt angezeigt. Beachten sollte man jedoch, dass weiterhin nur die o.g. Werte genutzt werden.The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed
Ich habe ein 64Bit Betriebssystem aber mir werden weniger als 4 Gigabyte Ram angezeigt.
Das Zauberwort heißt hier "memory remapping". Insofern Mainboard und Betriebssystem diese Funktion / dieses Feature unterstützen, kann der verlorengegangene Bereich wieder genutzt werden indem der Speicher virtuell angehangen wird. Aktiviert wird diese Option im Bios des jeweiligen Mainboards.
Was bedeutet eigentlich 32 Bit und 64 Bit in der Theorie?
Vereinfacht dargestellt bedeutet 64-Bit, dass ein Prozessor mit einem Takt 64 Bit (=8 Byte) verarbeiten kann. Ein 32 Bit Prozessor kann demnach mit einem Takt nicht mehr als 32 Bit (=4 Byte) verarbeiten. Zu den Vorteilen einer 64-Bit Architektur gehören die direkte Adressierung von mehr als 4 Gigabyte Arbeitsspeicher und die beschleunigte Arithmetik (Rechnen / Arbeiten) mit großen Zahlen. Nachteile sind ein erhöhter Speicherbedarf der meisten Programme, sowie die erhöhten Produktionskosten und somit Endkundenpreise.
Eine ausführliche Liste, welches Programm Vista - 64Bit unterstützt findest du hier: Windows Vista x32 | x64 kompatibilitätsliste
Speichererweiterung > 4 Gigabyte bei Server-PCs
Unterstützt das Betriebssystem Physical Address Extension (PAE) oder auch Address Windowing Extension (AWE) genannt und verfügt der Prozessor über einen größeren Adressbus als 32 Bit kann das Betriebssystem mehr Arbeitsspeicher ansprechen als ein 32 Bit Betriebssystem üblicher Weise vorsieht. Nötig ist das besonders bei Servern. PAE muss jedoch von der Anwendung unterstützt werden, damit es funktioniert. In der Praxis ist es außerdem äußerst langsam, wodurch eine Nutzung im Vornherein gut überlegt sein sollte.
Eine Liste der unterstützten Betriebssysteme von MS:
Grundlegend: mehr als 4 GB -> 64Bit Betriebssystem......
weitere nützliche Links zu diesem Thema:
Vista: Warum 4 GB RAM nicht voll unterstützt werden
4 GB RAM mit Windows Vista
Physical Address Extension - PAE Memory and Windows
Who ate my Memory (Englisch)
Grundsätzlich gilt:
Ein 32 Bit Betriebssystem kann theoretisch maximal 2^32 Speicheradressen á 8 bit - also genau 4 Gibibyte Ram adressieren.
(2^32 Speicheradressen á 8 bit = 4.294.967.296 Bit = 4 GiB)
Ein 64 Bit Betriebssystem kann theoretisch maximal 2^64 Speicheradressen á 8 bit - also genau 16 Exbibyte Ram adressieren.
(2^64 Speicheradressen á 8 bit = 1.84467441 × 10^19 Bit = 16 EiB)
(2^32 Speicheradressen á 8 bit = 4.294.967.296 Bit = 4 GiB)
Ein 64 Bit Betriebssystem kann theoretisch maximal 2^64 Speicheradressen á 8 bit - also genau 16 Exbibyte Ram adressieren.
(2^64 Speicheradressen á 8 bit = 1.84467441 × 10^19 Bit = 16 EiB)
Info:
1 Gibibyte = 1024 Mebibyte = 1.048.576 Kibibyte = 1.073.741.824 Byte
1 Gigabyte = 1000 Megabyte = 1.000.000 Kilobyte = 1.000.000.000 Byte
32 Bit - Von der Theorie in die Praxis:
Jeder der mit seinem normalen Windows 32 Bit System ohne PAE versucht hat, volle 4 Gigabyte Ram zu nutzen, wird gescheitert sein. Die 32 Bit Architektur ist nämlich eigentlich nicht für 4 Gigabyte Ram ausgelegt. I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
Spezialfall Windows Vista 32Bit:
Windows Vista 32 Bit kann maximal rund 3,1 Gigabyte Ram nutzen. Egal ob theoretisch 3,3 Gigabyte nach Abzug der I/O Komponenten noch verfügbar sind. Microsoft hat eine Beschränkung der Ramkapazität eingebaut. Grund: Hardware-Hersteller würden, so Microsoft, nicht immer dafür sorgen, dass ihre Produkte mit RAM-Größen von 4 Gigabyte und mehr zurechtkommen. Diese Beschränkung ist unumgänglich.
Update: Seit Service Pack 1 werden nun die vorhandenen 4 Gigabyte Arbeitsspeicher korrekt angezeigt. Beachten sollte man jedoch, dass weiterhin nur die o.g. Werte genutzt werden.The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed
Ich habe ein 64Bit Betriebssystem aber mir werden weniger als 4 Gigabyte Ram angezeigt.
Das Zauberwort heißt hier "memory remapping". Insofern Mainboard und Betriebssystem diese Funktion / dieses Feature unterstützen, kann der verlorengegangene Bereich wieder genutzt werden indem der Speicher virtuell angehangen wird. Aktiviert wird diese Option im Bios des jeweiligen Mainboards.
Was bedeutet eigentlich 32 Bit und 64 Bit in der Theorie?
Vereinfacht dargestellt bedeutet 64-Bit, dass ein Prozessor mit einem Takt 64 Bit (=8 Byte) verarbeiten kann. Ein 32 Bit Prozessor kann demnach mit einem Takt nicht mehr als 32 Bit (=4 Byte) verarbeiten. Zu den Vorteilen einer 64-Bit Architektur gehören die direkte Adressierung von mehr als 4 Gigabyte Arbeitsspeicher und die beschleunigte Arithmetik (Rechnen / Arbeiten) mit großen Zahlen. Nachteile sind ein erhöhter Speicherbedarf der meisten Programme, sowie die erhöhten Produktionskosten und somit Endkundenpreise.
Eine ausführliche Liste, welches Programm Vista - 64Bit unterstützt findest du hier: Windows Vista x32 | x64 kompatibilitätsliste
Speichererweiterung > 4 Gigabyte bei Server-PCs
Unterstützt das Betriebssystem Physical Address Extension (PAE) oder auch Address Windowing Extension (AWE) genannt und verfügt der Prozessor über einen größeren Adressbus als 32 Bit kann das Betriebssystem mehr Arbeitsspeicher ansprechen als ein 32 Bit Betriebssystem üblicher Weise vorsieht. Nötig ist das besonders bei Servern. PAE muss jedoch von der Anwendung unterstützt werden, damit es funktioniert. In der Praxis ist es außerdem äußerst langsam, wodurch eine Nutzung im Vornherein gut überlegt sein sollte.
Eine Liste der unterstützten Betriebssysteme von MS:
Grundlegend: mehr als 4 GB -> 64Bit Betriebssystem......
weitere nützliche Links zu diesem Thema:
Vista: Warum 4 GB RAM nicht voll unterstützt werden
4 GB RAM mit Windows Vista
Physical Address Extension - PAE Memory and Windows
Who ate my Memory (Englisch)
Ich weis ja nicht wie hoch dein Patchlvl ist, ansich ist es seit SP2 nicht mehr notwendig... aber mir hats auch schonmal geholfen...
PAE clip aktivieren....
Boot.ini editieren mit :
multi(0)disk(0)rdisk(0)partition(1)\WINXP="Microso ft Windows XP Professional" /noexecute=optin /fastdetect /PAE /3GB /USERVA=2990
PAE clip aktivieren....
Boot.ini editieren mit :
multi(0)disk(0)rdisk(0)partition(1)\WINXP="Microso ft Windows XP Professional" /noexecute=optin /fastdetect /PAE /3GB /USERVA=2990
Hallo Hommels,
wie bereits beschrieben:
Ohne 64bit Betriebssystem hast du hier keine Chance - No Way!
Das hat auch nichts mit dem vermeintlich besseren Board zu tun, das ist eine reine Addressierungssache des Speichers.
wie bereits beschrieben:
Die 32 Bit Architektur ist nämlich eigentlich nicht für 4 Gigabyte Ram ausgelegt.
I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.
Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.
Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
Ohne 64bit Betriebssystem hast du hier keine Chance - No Way!
Das hat auch nichts mit dem vermeintlich besseren Board zu tun, das ist eine reine Addressierungssache des Speichers.
Nochmal in der Kurzfassung.... Ich hab deinen Beitrag genau gelesen, deshalb bitte ich dich auch meinen Beitrag genau zu lesen
I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.
Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
Damit man ein bit in den arbeitsspeicher schreiben kann, braucht man die Adresse im Speicher (kannst ja auch kein brief zustellen lassen, wenn du keine Adresse angibst). Diese Adresse wird als Zahl angegeben. Eine solche Speicheradresse belegt 4 Byte Speicherplatz (32 Bit).
Mit 32 Bit kann man jetzt 2 hoch 32 verschiedene Zahlen darstellen = 4.294.967.296
Man kann also 4.294.967.296 Byte Addressieren. Das sind 4.194.304 KB, sind 4096 MB, sind 4GB.
Allerdings stehen trotzdem nicht die vollen 4GB zur Verfügung , da die Grafikkarte, die Treiber, das Bios, Kernel und andere installierte Geräte ihren Anteil brauchen
Andere Grafikkarte, andere Reservierung, weniger bzw. mehr Speicher.....
oder in der Langfassung:
Grundsätzlich muss man hier schon einmal zwischen einem 32-Bit und einem 64-Bit Betriebssystem unterscheiden. Außerdem muss man noch zwischen Anwendungen und Betriebssystem unterscheiden. Einer einzelnen Anwendung wird unter einem 32-Bit Betriebssystem i.A. maximal 2 GB an Arbeitsspeicher zugewiesen. Unter einem 64-Bit Betriebssystem sind es i.A. maximal 4 GB.
Viel entscheidender ist jedoch die Tatsache, wie viel Arbeitsspeicher das Betriebssystem überhaupt verwalten kann, und da sind es bei einem 32-Bit Betriebssystem eben die ominösen 4 GB.
Wie kommen aber diese 4 GB zustande? Der Arbeitsspeicher ist Byte-weise adressiert, d.h. jedes Byte Arbeitsspeicher hat eine eigene Adresse. Bei einem 32-Bit Prozessor ist der Adressbus 32-Bit breit, es können also 2^32 verschiedene Adressen angegeben werden.
Also:
2^32 = 4.294.967.276 Adressen auf je 1 Byte
/1024 = 4.194.304 KB
/1024 = 4096 MB = 4 GB
Damit sind alle "Hausnummern" vergeben.
Es werden auch die kompletten 4 GB genutzt; zur freien Verfügung stehen aber weniger.
Das ist eigentlich ganz einfach erklärt: Das BIOS reserviert unterhalb der 4 GB Grenze einen Teil des Adressraums für AGP- und PCI-Steckkarten. Außerdem noch ein wenig für andere System-I/O`s und das BIOS-ROM.
Ganz konkret fällt so unter anderem also erst einmal ein Adressbereich weg, der genau so groß ist wie der Arbeitsspeicher der Grafikkarte. Man spricht hier auch von GART (Graphics Address Remapping Table). Bei einer Grafikkarte mit 512 MB Arbeitsspeicher stehen von den 4 GB adressierbarem RAM also gleich einmal nur noch 3,5 GB zur Verfügung. Davon fällt dann auch noch die "AGP Aperture Size" weg. Dabei handelt es sich um einen vom BIOS reservierten Adressbereich, über den die Grafikkarte via AGP auf zusätzlichen Hauptspeicher zugreift, um z.B. Texturen der Grafikkarte auszulagern. Bei einer AGP Aperture Size von 256 MB und den 512 MB der Grafikkarte stehen dann also nur noch 3,25 GB zur freien Verfügung. Davon können dann noch ein paar Bytes für andere System-I/O`s wegfallen.
Interessant ist, dass alle x86-Prozessoren, welche die No-Execute-(NX-) Markierung von Speicherbereichen unterstützen, eigentlich dafür sorgen, dass Windows XP ab SP2 und Vista auch in den 32-Bit-Varianten mehr als 4 GB adressieren könnten. Sobald ein Prozessor eingesetzt wird, der die NX-Markierung von Speicherbereichen unterstützt, aktiviert Windows das PAE-Adressierungsschema. Im Betriebssystem erkennt man dies, wenn in der Systemsteuerung unter SYSTEM ein Hinweis aus "Physikalische Adresserweiterung" zu finden ist. Windows benutzt dieses Feature allerdings leider nicht zu seinem ursprünglichen Zweck, um mehr als 2^32 Byte RAM anzusprechen. Windows verwendet das PAE-Adressierungsverfahren ausschließlich, um damit Adressblöcke als NX-Bereiche zu markieren. Die Funktion mit dem Namen "Datenausführungsverhinderung" (Data Execution Prevention, DEP) sorgt dafür, dass der Prozessor keine Daten ausführt, die er aus der NX-geschützten Speicherbereichen lädt. Aus Kompatibilitätsgründen hat Microsoft den maximal adressierbaren Arbeitsspeicher aber trotz allem auf 3,12 GB begrenzt. Details hierzu unter diesem Link. PAE ist auf zu viele Faktoren angewiesen, die erfüllt sein müssen, als dass Microsoft von einem stabilen Betrieb ausgehen mag. CPU, Chipsatz, Treiber und Anwendungsprogramme müssten allesamt PAE unterstützen. Außerdem müsste das Mainboard BIOS per Memory Remapping die von AGP-, PCI- oder PCI-Express blockierten Adressen des Hauptspeichers in den Bereich oberhalb von 2^32 verschieben. Viele ältere Mainboards unterstützen dieses Remapping allerdings nicht.
[Quelle: http://wiki.winboard.org]
I/O Komponenten wie z.B. Grafikkarten, Soundkarten und auch Controller müssen nämlich ebenfalls adressiert werden.
Also wichtig: Diese reservierten Bereiche werden von den maximal möglichen 4 GB Adressraum subtrahiert und stehen nun nicht mehr für den Arbeitsspeicher zu Verfügung.
Einen genauen Wert kann man pauschal nicht sagen, je nach Hardwarekomponenten kann dieser aber einige hundert Megabyte betragen.
Damit man ein bit in den arbeitsspeicher schreiben kann, braucht man die Adresse im Speicher (kannst ja auch kein brief zustellen lassen, wenn du keine Adresse angibst). Diese Adresse wird als Zahl angegeben. Eine solche Speicheradresse belegt 4 Byte Speicherplatz (32 Bit).
Mit 32 Bit kann man jetzt 2 hoch 32 verschiedene Zahlen darstellen = 4.294.967.296
Man kann also 4.294.967.296 Byte Addressieren. Das sind 4.194.304 KB, sind 4096 MB, sind 4GB.
Allerdings stehen trotzdem nicht die vollen 4GB zur Verfügung , da die Grafikkarte, die Treiber, das Bios, Kernel und andere installierte Geräte ihren Anteil brauchen
Andere Grafikkarte, andere Reservierung, weniger bzw. mehr Speicher.....
oder in der Langfassung:
Grundsätzlich muss man hier schon einmal zwischen einem 32-Bit und einem 64-Bit Betriebssystem unterscheiden. Außerdem muss man noch zwischen Anwendungen und Betriebssystem unterscheiden. Einer einzelnen Anwendung wird unter einem 32-Bit Betriebssystem i.A. maximal 2 GB an Arbeitsspeicher zugewiesen. Unter einem 64-Bit Betriebssystem sind es i.A. maximal 4 GB.
Viel entscheidender ist jedoch die Tatsache, wie viel Arbeitsspeicher das Betriebssystem überhaupt verwalten kann, und da sind es bei einem 32-Bit Betriebssystem eben die ominösen 4 GB.
Wie kommen aber diese 4 GB zustande? Der Arbeitsspeicher ist Byte-weise adressiert, d.h. jedes Byte Arbeitsspeicher hat eine eigene Adresse. Bei einem 32-Bit Prozessor ist der Adressbus 32-Bit breit, es können also 2^32 verschiedene Adressen angegeben werden.
Also:
2^32 = 4.294.967.276 Adressen auf je 1 Byte
/1024 = 4.194.304 KB
/1024 = 4096 MB = 4 GB
Damit sind alle "Hausnummern" vergeben.
Es werden auch die kompletten 4 GB genutzt; zur freien Verfügung stehen aber weniger.
Das ist eigentlich ganz einfach erklärt: Das BIOS reserviert unterhalb der 4 GB Grenze einen Teil des Adressraums für AGP- und PCI-Steckkarten. Außerdem noch ein wenig für andere System-I/O`s und das BIOS-ROM.
Ganz konkret fällt so unter anderem also erst einmal ein Adressbereich weg, der genau so groß ist wie der Arbeitsspeicher der Grafikkarte. Man spricht hier auch von GART (Graphics Address Remapping Table). Bei einer Grafikkarte mit 512 MB Arbeitsspeicher stehen von den 4 GB adressierbarem RAM also gleich einmal nur noch 3,5 GB zur Verfügung. Davon fällt dann auch noch die "AGP Aperture Size" weg. Dabei handelt es sich um einen vom BIOS reservierten Adressbereich, über den die Grafikkarte via AGP auf zusätzlichen Hauptspeicher zugreift, um z.B. Texturen der Grafikkarte auszulagern. Bei einer AGP Aperture Size von 256 MB und den 512 MB der Grafikkarte stehen dann also nur noch 3,25 GB zur freien Verfügung. Davon können dann noch ein paar Bytes für andere System-I/O`s wegfallen.
Interessant ist, dass alle x86-Prozessoren, welche die No-Execute-(NX-) Markierung von Speicherbereichen unterstützen, eigentlich dafür sorgen, dass Windows XP ab SP2 und Vista auch in den 32-Bit-Varianten mehr als 4 GB adressieren könnten. Sobald ein Prozessor eingesetzt wird, der die NX-Markierung von Speicherbereichen unterstützt, aktiviert Windows das PAE-Adressierungsschema. Im Betriebssystem erkennt man dies, wenn in der Systemsteuerung unter SYSTEM ein Hinweis aus "Physikalische Adresserweiterung" zu finden ist. Windows benutzt dieses Feature allerdings leider nicht zu seinem ursprünglichen Zweck, um mehr als 2^32 Byte RAM anzusprechen. Windows verwendet das PAE-Adressierungsverfahren ausschließlich, um damit Adressblöcke als NX-Bereiche zu markieren. Die Funktion mit dem Namen "Datenausführungsverhinderung" (Data Execution Prevention, DEP) sorgt dafür, dass der Prozessor keine Daten ausführt, die er aus der NX-geschützten Speicherbereichen lädt. Aus Kompatibilitätsgründen hat Microsoft den maximal adressierbaren Arbeitsspeicher aber trotz allem auf 3,12 GB begrenzt. Details hierzu unter diesem Link. PAE ist auf zu viele Faktoren angewiesen, die erfüllt sein müssen, als dass Microsoft von einem stabilen Betrieb ausgehen mag. CPU, Chipsatz, Treiber und Anwendungsprogramme müssten allesamt PAE unterstützen. Außerdem müsste das Mainboard BIOS per Memory Remapping die von AGP-, PCI- oder PCI-Express blockierten Adressen des Hauptspeichers in den Bereich oberhalb von 2^32 verschieben. Viele ältere Mainboards unterstützen dieses Remapping allerdings nicht.
[Quelle: http://wiki.winboard.org]