Ich werde versuchen, langsam anzufangen und dann alles für Sie zusammenzustellen. Es ist so:
Virtueller Speicher bezieht sich, wie allgemein verwendet, auf "Paging". Wie der Name schon sagt, ist Paging wie ein menschlicher Notizblock.
Wenn Sie einfache Summen ausarbeiten oder einfache Informationen lernen, tun Sie dies alles in Ihrem Kopf: Sie laden einfach alle Informationen auf, verarbeiten sie und erhalten die Antwort. Dies ist wie ein Computer, der Dateien von der Festplatte lädt - er lädt die Programme oder Bilder oder andere Informationen, die er benötigt, in seinen "realen Speicher" (oder "physischen Speicher") und bearbeitet sie mit seinem "Gehirn" ( sein Prozessor).
Wenn Sie jedoch komplexe Informationen lernen oder mit komplexen Summen arbeiten, können Sie möglicherweise nicht alles auf einmal in Ihren Kopf integrieren. Sie werden verwirrt, fangen an, langsamer zu werden, behalten nicht alles auf einmal bei und müssen etwas vergessen, um sich an etwas anderes zu erinnern.
Die menschliche Lösung besteht darin, einen Notizblock zu verwenden. Wir notieren auf den Seiten alle Dinge, an die wir uns nicht auf einmal erinnern können, beziehen uns aber auf sie, während wir die Summen machen. Wir sind möglicherweise nicht in der Lage, uns eine riesige Liste von Verkaufszahlen für den Monat zu merken, aber wir können uns die Seiten ansehen, die Informationen Stück für Stück abrufen und jedes Stück verarbeiten. Dies ist so, als würde der Computer seinen Speicher "paginieren" - Seiten voller Informationen werden geschrieben und zur späteren Bezugnahme in den "virtuellen Speicher" verschoben, und es wird erkannt, dass eine Seite erforderlich ist, und diese Seite wird aus dem virtuellen Speicher in den realen Speicher zurückgeladen. Unter Linux und Unix wird der Ort, an dem diese Seiten gespeichert werden, wörtlich "Auslagerungsdatei" genannt, und die Seiten mit Daten im Speicher werden wörtlich "Seiten" genannt. Unterschiedliche Systeme haben unterschiedliche Namen für diese Dinge, aber das allgemeine Konzept ist weitgehend dasselbe.
Paging ist also wirklich sehr einfach. Alle Informationsseiten passen nicht in den Speicher, daher werden einige Seiten auf die Festplatte geschrieben und später erneut geladen.
Jetzt wird es noch komplizierter, wenn moderne Systeme über Speicherzuordnung und Speicherschutz verfügen, die normalerweise von demselben Hardwaresystem im Computer verwaltet werden: der Speicherverwaltungseinheit oder MMU.
In einem (modernen) Multitasking-Computer, auf dem viele Programme gleichzeitig ausgeführt werden können und der über einen Speicherschutz verfügt, ist jedes Programm normalerweise von anderen Programmen getrennt, die auf demselben System ausgeführt werden. Auf diese Weise kann ein Programm ein anderes Programm nicht einfach durch Zugriff auf seinen Speicher ändern - die MMU trennt den Adressraum eines Programms physisch von dem anderer Programme. Mit anderen Worten, Benutzerprogramme sehen weder die Programme anderer Benutzer noch andere Programme. Sie sehen kein "reales Gedächtnis" - sie sehen ihr eigenes "virtuelles Gedächtnis".
Dieses Konzept der Speicherisolation und das Konzept der Auslagerungsdatei sind zwei konzeptionell unterschiedliche Dinge, weshalb Sie wahrscheinlich verwirrt sind. Der Schlüssel ist jedoch, dass beide mit der MMU arbeiten - der Speicherverwaltungseinheit, die den Speicher in Seiten aufteilt und Seiten einem virtuellen Adressraum zuordnet.
Wenn also ein Programm bei einer bestimmten "Speicheradresse" nach dem Speicher fragt, geschieht in Wirklichkeit, dass die Speicherseiten für dieses Programm und ihre entsprechenden Adressen (der "Adressraum" des Programms) nachgeschlagen werden und die entsprechende Seite Dieser Speicherblock wurde gefunden. Diese Seite kann entweder irgendwo in den realen Speicher geladen werden. In diesem Fall erhält das Programm Zugriff, oder sie kann auf eine Festplatte ausgelagert werden. Wenn es ausgelagert wird, löst es einen "Seitenfehler" aus - auf die Festplatte wird zugegriffen und die Seite wird in den Speicher geladen. Das Programm funktioniert also auch dann, wenn nicht genügend Arbeitsspeicher vorhanden ist, aber es wird LANGSAM ausgeführt, wenn die Festplatte für einen normalerweise sehr schnellen Speicherzugriff verwendet werden muss.
Wenn nicht genügend Speicherplatz vorhanden ist, um diese Seite in den Speicher zu laden, liegt ein Problem vor. In diesem Fall muss eine ANDERE Seite, die sich bereits im Speicher befindet, auf die Festplatte "ausgelagert" werden, damit die Seite des ersten Programms geladen werden kann. Sie können aber auch Seiten aus demselben Programm sein. Sie sehen dies manchmal in Grafikprogrammen, zum Beispiel auf stark ausgelasteten Systemen, wenn ein Teil des Bildes langsam geladen und schnell gezeichnet wird, der nächste Teil ebenso langsam geladen und schnell gezeichnet wird und wenn Sie wieder mit dem ersten arbeiten Teil, es ist langsam wieder. Das liegt daran, dass sie geladen werden, um bearbeitet zu werden, und dann wieder ausgetauscht werden, damit an etwas anderem gearbeitet werden kann. Offensichtlich ist dies eine sehr langsame Arbeitsweise, und was Sie wirklich brauchen, ist mehr ECHTES Gedächtnis.