GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Der Unterschied zwischen „Paging bei schwerwiegendem Seitenfehler“ und „Swapping manuell aktiviert“

Es gibt immer noch majflt wodurch das Auslagern von Daten auf die Festplatte ausgelöst wird.

Umgekehrt:Major Fault sind Seitenfehler, die nur durch Einlagern behoben werden können Daten von einer Festplatte.

Können wir sagen, dass es zwei Arten des Austauschens auf dem Betriebssystem gibt?

Nicht ganz; die Unterscheidung hier ist das Auslagern (Kopieren des Inhalts des Speichers „woanders hin“, damit Seiten verworfen werden können) können unterschiedliche Sicherungsspeicher verwenden. Seiten im Speicher haben unterschiedliche Ziele für das Auslagern:Zugeordnete Dateien sind normalerweise ihr eigener Sicherungsspeicher, die meisten anderen Seiten benötigen eine Auslagerungsdatei oder -partition als Sicherungsspeicher. Swapping bezieht sich auf letzteres. Wenn der Kernel eine Speicherseite freigeben muss und eine unveränderte Seite aus einer Datei freigeben möchte, kann er sie einfach verwerfen, da er weiß, dass die Seite bei Bedarf aus der Datei wiederhergestellt werden kann. Wenn eine geänderte Seite aus einer Datei verworfen werden muss und diese Datei mit Lese-/Schreibzugriff ohne gemeinsame Nutzung zugeordnet ist, wird die Seite in die Datei geschrieben, bevor sie verworfen wird. Auch hier weiß der Kernel, dass er die Seite aus der Datei wiederherstellen kann. Alles andere benötigt eine andere Form der Speicherung oder kann nicht verworfen werden.

Wie unterscheiden sich die beiden Mechanismen?

Siehe oben.

Wenn ein Paging-Mechanismus immer funktioniert, warum muss der Austausch dann immer noch manuell aktiviert werden?

Siehe oben, meistens. Der Zweck des Austauschs besteht darin, einen Sicherungsspeicher für Seiten bereitzustellen, die noch keinen eigenen Sicherungsspeicher haben.

Siehe auch Warum benötigt Linux Auslagerungsspeicher in einer VM?


Linux
  1. Was ist der Unterschied zwischen einem Linux-Container und einem Image?

  2. Der Unterschied zwischen „du -sh *“ und „du -sh ./*“?

  3. Linux – Der Unterschied zwischen Reboot, Init 6 und Shutdown -r Now?

  4. Der Unterschied zwischen .exrc und .vimrc?

  5. Was ist der Unterschied zwischen env und set (unter Mac OS X oder Linux)?

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist der Unterschied zwischen Linux und Unix?

Der Unterschied zwischen mehr, weniger und den meisten Befehlen

Was ist der Unterschied zwischen Puffer- und Cache-Speicher in Linux?

Was ist der Unterschied zwischen „locate“ und „find“ in Linux?