Normalerweise lernen wir virtuelles Gedächtnis und Paging gleichzeitig im Betriebssystem und sie scheinen abhängig zu sein. Ich frage mich jedoch, ob sie unabhängig voneinander existieren?Kann virtueller Speicher ohne Paging-Konzept existieren?
Antwort
TL; DR: Ja, virtueller Speicher kann ohne Paging existieren.
Eine sehr einfache Suche hätte this produziert.
Virtueller Speicher ist eine Speicherverwaltungstechnik, die Speicheradressen, die von einem Programm verwendet werden, virtuelle Adressen genannt, in physikalischen Adressen im Computerspeicher abbildet.
Diese Adressen müssen nicht von fester Größe sein.
ist ein Schema, Speicherverwaltung, mit dem ein Computer speichert und ruft Daten aus dem Sekundärspeicher für die Verwendung in den Hauptspeicher. In diesem Schema ruft das Betriebssystem Daten aus dem sekundären Speicher in Blöcken derselben Größe ab, die als Seiten bezeichnet werden.
Ich kenne die Konzepte. Aber ich wollte wissen, ob sie getrennt existieren können. – helloansuman
@helloansuman Paging kann ohne virtuellen Speicher nicht existieren, aber virtueller Speicher kann ohne Paging existieren. –
Können Sie bitte erklären, wie ist das möglich? @ Tony – helloansuman
Die Antwort auf Ihre Frage hängt davon ab, wie Sie "Virtueller Speicher" definieren. Wenn Sie es nur als "die Adressen, die die Anwendung sieht" definieren, kann yes virtueller Speicher ohne Paging existieren.
Vor dem Paging verwendeten Systeme eine Segmentierung, um Benutzerprozesse zu isolieren. Um es in einfachen Worten zu sagen: Jeder Prozess hat sein eigenes Segment. Alle Adressen, die es "sieht", sind nur Offsets innerhalb des Segments. Die Hardware fügt die Segmentbasis implizit zu der von der Anwendung angeforderten Adresse hinzu, um die physikalischen Adressen zu erhalten. Genau wie die Seitentabelle können die Segmentbasen nur durch den Kernel modifiziert werden, und sie können effektiv den Speicher für Prozesse isolieren und gleichzeitig Spielraum für die gemeinsame Nutzung von Teilen des Speichers zwischen Prozessen schaffen.
Segmente haben auch Grenzen, die vor jedem Zugriff überprüft werden, um sicherzustellen, dass der Benutzer keinen sehr großen Offset verwendet und in andere Prozesse übergeht.
Die Segmentierungsunterstützung wurde von Intel X86_64-Architekturen entfernt, in denen die Segmentregister existieren, aber immer auf 0 gesetzt sind. Nur die beiden Segmentregister %fs
und %gs
existieren weiterhin. Aber die Grenzwertüberprüfungen werden von der Hardware nicht durchgeführt. Diese Segmente werden jetzt vom Betriebssystem für lokalen Threadspeicher verwendet.
Danke. Diese Antwort hilft. – helloansuman
- 1. Virtueller Speicher
- 2. cc1plus: Virtueller Speicher erschöpft
- 3. virtueller Speicher erschöpft: Speicher kann nicht belegt werden
- 4. Virtueller Speicher und verschiebbarer Code
- 5. virtueller Speicher und Größe jedes Artikels
- 6. Virtueller Speicher wird nie freigegeben
- 7. .NET Garbage Collector und x64 virtueller Speicher
- 8. Virtueller Speicher, Seitengröße, Maximale virtuelle Adresse
- 9. Memory Swapping und virtueller Speicher auf iOS
- 10. Kann eine Finite Automata ohne Endzustand existieren?
- 11. AWS Pandas Installation geben ERROR: virtueller Speicher erschöpft: zuteilen Speicher kann nicht
- 12. wie virtueller Speicher den Context-Switching-Overhead erhöht?
- 13. Ermitteln, wer/was reserviert 5.5 GB virtueller Speicher in w3wp.exe
- 14. Erschöpfter virtueller Speicher Installieren von SyntaxNet mit Docker Toolbox
- 15. Kann ich InfluxDB ohne Speicher verwenden?
- 16. Virtueller Zeiger
- 17. Virtueller Mac?
- 18. Vagrant - Die folgenden Einstellungen nicht existieren sollten: Speicher, Name
- 19. Speicher aktives Datensatz Objekt ohne Referenz-ID
- 20. Speicherverlust ohne dynamischen Speicher
- 21. Wie ohne Verschwendung Speicher
- 22. Daten existieren und existieren nicht
- 23. Wie mc, htop auf Linux (virtueller Server) ohne Kompilierung ausführen?
- 24. virtueller Funktionsaufruf innerhalb einer Elementfunktion der Klasse
- 25. Virtueller Knopf in ARToolkit
- 26. Kompilieren mit virtueller Maschine
- 27. Merging-Vektoren ohne zusätzliche Speicher
- 28. Gamepad + Tastatur Virtueller Joystick
- 29. git lfs ohne lokalen Speicher
- 30. Routing zu virtueller Artikel
Fühlen Sie sich frei für irgendwelche Fragen. –