tmtmtm hat folgendes geschrieben: |
Also heißt das jetzt, daß jedes Programm vom Start her ein breites Adress-Spektrum von rund 4 GB zugewiesen bekommen kann?
Oder ist es so, das diese Maximalen 4GB den gesamten möglichen Arbeitsspeicher vertreten? |
Beides.
Deine 32 Bit CPU kann (wie dein 32 Bit Betriebssystem) Maximal mit 4GB arbeiten. Also kannst du maximal 4 GB Ram in deinen Rechner Bauen mit denen Windows dann arbeiten kann. Windows wird diesen Arbeistspeier verwenden um (unter anderen) "virtuellen" Arbeitspeicher zu verwalten. Jeder dieser Virtuellen Speicher kann wieder bis zu 4 GB groß sein, muss sich aber nicht (komplett) im RAM befinden.
tmtmtm hat folgendes geschrieben: |
(Am Ende kommt's doch auf's selbe raus: Alles landet im Arbeitsspeicher.) |
Nicht umbedingt so wie du das meinst.
Du kannst jetzt eine Anwendung schreiben, die 4 GB RAM belegt, obwohl du nur 256 MB "echten"-Speicher hast. Windows wird dann zur bereitstellung der Differenz die Festplatte heranziehen. Deine Anwendung wird entsprechend langsammer werden, aber sie läuft.
Richtig ist allerdings, das jedes einzelne Bit (im Blöcken von 32) mindestes einmal durch den RAM gepumpt werden muss um in der Auslagerungsdatei landen zu können und auch wieder reingeladen wird, wenn du wieder damit arbeitest.
Anmerkungen:
Diese äußerungen beziehen sich auf ein "Ideales" System, welches Ideal Konfiguriert ist. Ich habe mich nie mit Speicherverwaltung von Windows im detail auseinandergesetzt, aber das Prinzip sollte stimmen.
Du darfst mich gerne Korrigieren Pit
)