AcidDemon schrieb:
Ist nicht ganz korrekt. Es können mit 32bit (2 hoch 32) wirklich 4096MB adressiert und genutzt werden. Das "Problem" ist jedoch, dass standardmäßig unter Windows XP den Anwendungen nur 2GB zur Verfügung stehen. Die restlichen 2GB dem Kernel. Die lässt sich aber durch anpassen der Bootoptionen zumindest auf 3GB für Anwendungen ändern. Eventuell ist es jedoch noch erforderlich einen extra Loader für die Anwendung zu nutzen, sofern die Anwendung nicht die vollen 3GB nutzt.
Leider ist das auch noch nicht so ganz korrekt. Das ganze Problem ist keine Limitierung von Windows an sich, sondern liegt an der x86/IA32 Architektur im Allgemeinen und betrifft somit auch Linux und OS X.
Die 32bit Prozessoren beherrschen die Aufteilung des Speichers in 2/2 oder 3/1 GB. Unter Windows wird in der "boot.ini" einfach der "/3GB" Schalter für die jeweilige Windows-Version eingetragen und dann kann jedes neuere Programm, das entsprechend kompiliert wurde bis zu 3GB RAM verwenden (das Limit ist in der Praxis meist bei 2,7GB). Programme die nicht mit der "large memory awareness" kompiliert wurden, haben weiterhin das Limit von 2GB. Dafür gibt es auch keine extra Loader oder ähnliches, sondern das Programm muß wirklich neu übersetzt werden.
Unter Linux funktioniert das ähnlich (theoretisch sind auch 1/3, 0/4 GB möglich), unter OS X 10.4 besteht die Möglichkeit meines Wissens bisher nur eingeschränkt. Das einzige Programm das mir bekannt ist, das unter OS X mehr als 2GB RAM direkt nutzt, ist Photoshop CS2. Selbst die Apple Pro-Apps stoßen an die 2GB Grenze. Abhilfe wird es wohl erst unter 10.5 geben.
Im übrigen kann jeder x86-Prozessor seit dem intel Pentium Pro nicht 32Bit Speicher adressieren, sondern
36Bit! Dafür existiert die sogenannte "Physical Address Extension" (PAE), von der normalerweise Gebrauch gemacht wird, wenn mehr als 4GB Speichermodule verbaut werden.
Unter Linux wird das von den meisten Distributionen nativ unterstützt, OS X nutzt das in den intel Macs und unter Windows funktioniert das ebenfalls, ist von Microsoft aber aus Lizenzgründen unter XP auf 4GB physikalischen Speicher begrenzt. Erst die Server Varianten können mehr physikalischen RAM nutzen.
Das bedeutet nun aber nicht automatisch, dass auch auf jeder Hauptplatine, auf der sich 4GB verbauen lassen auch 4GB angesprochen werden können, da der Chipsatz und die PCI(, PCI-X & PCIe) Geräte die Speicher-Adressen von der 4GB-Grenze abwärts belegen. D.h. an der Stelle wo eigentlich Arbeitsspeicher wäre, befindet sich nun eine I/O Adresse eines Gerätes und der "verdeckte" Speicher ist dadurch erst mal nicht erreichbar für das Betriebssystem. Bei Rechnern mit vielen Geräten und 512MB/1GB Grafikkarte
können dadurch auch schon mal bis zu 2GB (!) physikalisches RAM verdeckt werden (in meinem PC sind's z.B. 1,5GB). Um den Speicher wirklich nutzen zu können, muß auf der Platine eine BIOS/Firmware vorhanden sein, die die verdeckten Speicher-Adressen jenseits der 4GB Marke verschiebt und damit wieder für das Betriebssystem adressierbar macht, was dann wiederum wieder per PAE geschieht.
Unter Windows XP funktioniert das leider nicht mit jedem Mainboard richtig, weswegen auf manchen Rechnern weniger als das installierte RAM verwendbar ist.
AcidDemon schrieb:
Windows XP 64bit macht nur wirklich Sinn, mit der passenden, auf 64bit optimierten Anwendung.
Nein, auch ein Einsatz von 32Bit Software kann sinnvoll sein, denn die AMD64/EM64T/x64 Architektur bietet die Möglichkeit eine Speicher-Aufteilung von 4/4GB zu nutzen! Dies bedeutet, dass jedes 32Bit-Programm max. 4GB RAM ansprechen kann (in der Praxis eher 3,7GB), sofern es entsprechend kompiliert wurde.
Unter Windows x64 und den Linux x86-64 Distributionen funktioniert das problemlos und transparent für den Anwender, unter OS X wird das wohl, wie oben schon angesprochen, erst mit 10.5 kommen.
Außerdem kann man auf Windows x64 Systemen fast immer das komplette, installierte RAM nutzen, da die (Lizenz-)Probleme der 32Bit Windows XP Version wegfallen. Okay, stimmt nicht ganz, aber hier ist das Limit bei 64GB für Workstations, was momentan nur von ganz wenigen Workstation-tauglichen Mainboards überschritten wird (ich kenn nur 3 Opteron-Boards).