2016-05-21 9 views
0

Diese [wiki article] über Virtueller Speicher sagt:Speicherzuordnung im virtuellen Adressraum (VAS)

Der Prozess schreitet dann Bytes in der EXE-Datei beginnt mit der Ausführung. Der einzige Weg, den der Prozess verwenden kann oder "-" Werte in seinem VAS setzt, ist das OS zu bitten, sie auf Bytes aus einer Datei abzubilden. Eine übliche Methode, um VAS Speicher auf diese Weise zu verwenden, besteht darin, ihn der Auslagerungsdatei zuzuordnen.

Ein Diagramm folgt:

  0           4GB 
VAS  |---vvvvvvv----vvvvvv---vvvv----vv---v----vvv--| 
mapping  ||||||| |||||| |||| || | ||| 
file bytes  app.exe kernel user system_page_file 

ich das Teil nicht verstand values in its VAS is to ask the OS to map them to bytes from a file.

Was ist die Systemauslagerungsdatei hier?

+0

klärt Dieser Artikel ist völlig unsinnig. Ignoriere alles, was es sagt. – user3344003

+0

@ user3344003: Ich dachte, es war und deshalb habe ich es gepostet. Seine höchste Zeit muss es entfernt werden. Danke für das f/b. – sjsam

Antwort

1

Zunächst einmal kann ich mir nicht vorstellen, dass ein so schlecht geschriebener Artikel in Wikipedia existiert. Man muss ein Experte sein, der bereits mit dem Thema vertraut ist, bevor man verstehen kann, was beschrieben wurde.

Angenommen, Sie verstehen den Rest des Artikels, der '-' Teil stellt nicht zugeordnete virtuelle Adresse innerhalb der 4 GB Adressraum für einen Prozess zur Verfügung. So der Satz "die einzige Möglichkeit, die der Prozess verwenden kann, oder setzen Sie '-' Werte in seinem VAS ist das OS bitten, sie auf Bytes aus einer Datei zuordnen" bedeutet, virtuellen Speicheradresse z. in einem nativen Windows-Programm, das VirtualAlloc() aufruft, oder ein C-Programm, das malloc() aufruft, um Speicher zum Speichern von Programmdaten zu reservieren, während diese Speicher noch nicht im virtuellen Adressraum des aktuellen Prozesses vorhanden waren.

Wenn Windows einem Prozessadressraum Speicher zuweist, wird dieser Speicher normalerweise der Auslagerungsdatei auf der Festplatte zugeordnet. Die c: \ pagefile.sys ist diese Auslagerungsdatei, die system_page_file in dem Artikel erwähnt wird. Die Speicherseite wird in diese Datei ausgelagert, wenn nicht genügend physische Seite vorhanden ist, um die Anforderung zu erfüllen.

Hoffen Sie, dass sich

+0

Hat pagefile.sys die gleiche Aufgabe wie der Swap in Linux? – sjsam

+0

Ja, es ist die Auslagerungsdatei von Windows – JavaMan

Verwandte Themen