Virtueller Speicher vs. virtueller Adressraum

Ich weiß, dass virtueller Speicher eine Auslagerungsdatei ist, mit der der Computer einen Teil des Arbeitsspeichers für einen laufenden Prozess auf der Festplatte speichert. Aber wie anders ist der virtuelle Adressraum? ist es der RAM oder die Festplatte oder beides?

Author: Breakthrough, 2011-09-06

3 answers

Der virtuelle Adressraum ist das, was ein einzelnes Programm sieht, wenn es ausgeführt wird. Je nachdem, wie das Programm konfiguriert wurde, ist dieser Adressraum so groß wie das Maximum, das das Betriebssystem unterstützt.

Der Betriebssystemkern ist dann dafür verantwortlich, Adressen im VAS dem physischen Speicher zuzuordnen, sei es RAM oder Systemseitendateien.

Bei diesem Design sind sich die Programme selbst der Ressourcen und realen Adressen nicht bewusst und können so arbeiten, als ob sie hatte alle Systemspeicher für sich selbst, oder zumindest den maximalen Speicher ein einzelner Prozess verwenden kann.

Kurz gesagt, ein Programm arbeitet mit VAS, und das Betriebssystem übernimmt die Zuordnung von VAS zu echtem Speicher, sodass dies für das laufende Programm unsichtbar ist. Das laufende Programm sieht nur seine VAS.

 8
Author: gview,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-06 18:23:38

Virtueller Adressraum ist eine Einschränkung der Speichergröße, die ein Programm adressieren kann.

Dies wird an der äußeren Grenze durch den Zeigerstil eingeschränkt - ein reiner 32-Bit-Zeiger kann theoretisch 4 GB virtuellen Raum adressieren. Die tatsächliche Bindung hängt vom Betriebssystemdesign ab, da sie einen wesentlichen Teil des Adressraums neben des Benutzerraums verwendet.

Unter Win32 wird standardmäßig virtueller Adressraum von 2 GB als Benutzerraum zugelassen.

Ein 64-bit - zeiger können weit mehr ansprechen, in der Praxis sind normalerweise 48 Bits erlaubt und es gibt viele Details zu diese Superuser-Antwort.

Theoretisch könnte jemand einen physischen Computer mit genügend RAM bauen, damit dieser 2 GB Benutzerraum direkt dem physischen Speicher zugeordnet werden kann (wahrscheinlich benötigen Sie mindestens 3 GB physischen Speicher), sodass Sie 32-Bit-Prozesse haben, bei denen der virtuelle Speicher nicht sehr virtuell ist.

 0
Author: Andy Dent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:17:45

Virtueller Adressraum ist das, was der Prozess sieht. Zum Beispiel befindet sich Ihre E-Mail in einem Posteingang, der beispielsweise 25 GB groß ist. Das ist Ihr virtueller Adressraum.

Virtueller Adressraum soll die Tatsache unterscheiden, dass nicht jeder virtuelle Adressraum einem physischen Adressraum entspricht. Angenommen, Sie haben 20 E-Mail-Benutzer mit 25 GB Posteingangsbereich. Sie haben jedoch nur 100 GB Speicherplatz auf Ihrem Server. Nun, Sie können alte E-Mails nehmen und archivieren und nur die letzten behalten ones auf Ihrem Server, weil die Leute in der Regel nur die neueste E-Mail überprüfen.

Das Archivieren von E-Mails vom Server auf beispielsweise ein Bandlaufwerk ähnelt dem Auslagern von Teilen des Arbeitsspeichers auf die Festplatte. Wenn jemand alte E-Mails betrachtet, "Seiten" Sie einfach die alte E-Mail vom Band zurück auf Ihren Server. Der E-Mail-Benutzer wird den Unterschied nie kennen.

Auf die gleiche Weise hat jeder Prozess auf Ihrem Computer den virtuellen Adressraum X, obwohl Sie möglicherweise weniger als X * number of processes von physisches Gedächtnis.

Virtueller Speicher ist genau das. Virtueller Adressraum. Virtueller Speicher ist jedoch nur der virtuelle Adressraum, den Sie verwenden.

 -1
Author: surfasb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-06 18:04:31