Wie werden Auslagerungsdateien auf Festplatten gespeichert?


8

So wie RAM in Frames unterteilt ist , wird der logische Adressraum in Seiten und der Sekundärspeicher in Blöcke gleicher Größe unterteilt. Die Seiten sind sehr klein, etwa 4 KB groß, und werden bei Bedarf ausgetauscht und als Auslagerungsdateien gespeichert .

Alles bis jetzt leicht zu verstehen. Was mich verwirrt ist:

  • Die meisten modernen Festplatten haben Sektoren mit einer Größe von 4 kB oder 8 kB. Bedeutet dies, dass jeder Sektor zu einer Seite wird?
  • Und was ist ein "Block" auf einer Festplatte? Ist es nicht eine Sammlung von Sektoren? Ist ein Block dasselbe wie ein "Cluster", der auch eine Sammlung von Sektoren ist?
  • Wenn das Betriebssystem die Seitengröße unabhängig von der Sektorgröße halten möchte, kann es einen Teil der Festplatte als virtuellen Speicher festlegen und anders als auf der restlichen Festplatte arbeiten. Hier können die Blöcke dieselbe Größe wie die Seitengröße haben und auf der restlichen Festplatte können sie unterschiedlich sein. Ist das korrekt?

Ich kann dir wirklich nicht helfen. Aber +1 für eine ausgezeichnete Frage.
Josiah

Silberschatz (ich weiß, dass Sie dieses Buch besitzen ;-)) Kapitel 12
artistoex

Abwarten. Ich gehe darüber hinweg.
Fasih Khatib

Ich würde das auch gerne wissen.
Jared Tritsch

Die lange Antwort, die ich gepostet habe, wird nicht angezeigt. Ich weiß nicht warum. Kurz gesagt, 1. Kein Sektor! = Seite. 2. Sie sind anders. 3. Möglicherweise ist die Blockgröße unterschiedlich. Ich werde die detaillierte Antwort nach Möglichkeit erneut veröffentlichen :)
Fasih Khatib

Antworten:


3

"Block" und "Cluster" sind Terminologie auf Dateisystemschicht, und "Sektor" ist Terminologie auf Plattenebene. Im Gegensatz zu "Seite" wird die Blockgröße vollständig von der Software bestimmt.

Ein "Block", "Sektor" oder eine "Zuordnungseinheit" ist eine Gruppe von Sektoren, die gleichzeitig abgerufen werden. Das gleichzeitige Abrufen mehrerer Sektoren verbessert die Latenz: Das Lesen einer großen Datei nach Sektoren entspricht dem Versuch, ein Bibliotheksbuch mit einem separaten Besuch der Bibliothek für jede Seite zu lesen.

Der virtuelle Speicher in Windows wird nur als Datei implementiert, und ich glaube, er wird nicht besonders speziell behandelt.


2

Ok, vor allem sind die Seiten nicht so klein, wie ich dachte. Sie sind in MBs.

  • Nein, die Sektorgröße entspricht nicht der Seitengröße
  • Block ist eine Sammlung von Sektoren, die vom Betriebssystem erstellt wurden, um die Anzahl der Adressen zu verringern, die zum Verwalten der gesamten Festplatte erforderlich sind. Cluster ist auch eine Sammlung von Sektoren, aber zusammenhängend . Wenn das Betriebssystem jedoch eine Datei schreiben möchte, fordert es die Festplatte einfach auf, sie in einen freien Block zu schreiben. Wie diese Daten im Block gespeichert werden, ist nicht Sache des Betriebssystems. Die Datei kann in verschiedenen Sektoren oder in einem Cluster gespeichert sein.
  • Ja, vielleicht werden sie anders verwaltet. Die Blockgröße kann für den virtuellen Speicher anders sein als für den Rest des Laufwerks. Hier entspricht die Blockgröße möglicherweise der Seitengröße

  • Zumindest in einigen Terminologien wie "Logische Blockadresse" ist "Block" nur ein anderer Name für "Sektor". Sie scheinen auch den Eindruck zu haben, dass die HD ein Konzept dafür hat, welche Blöcke frei sind. Es tut nicht. Das Betriebssystem verwaltet die Blöcke (Sektoren) auf der Festplatte. Wenn das Betriebssystem in eine Datei schreiben möchte, teilt das Betriebssystem dem Laufwerk genau mit, in welchen Block geschrieben werden soll.
    Jamie Hanrahan

    Und nein, Seiten sind 4 KB groß und nicht "in MB" auf den meisten modernen CPUs. Obwohl x86 und x64 "große Seiten" unterstützen (normalerweise 2 MB heutzutage), sind diese nicht die Norm.
    Jamie Hanrahan
    Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
    Licensed under cc by-sa 3.0 with attribution required.