Dateizuordnung

Die Dateizuordnung ist die Zuordnung des Inhalts einer Datei zu einem Teil des virtuellen Adressraums eines Prozesses. Das System erstellt ein Dateizuordnungsobjekt (auch als Abschnittsobjekt bezeichnet), um diese Zuordnung beizubehalten. Eine Dateiansicht ist der Teil des virtuellen Adressraums, den ein Prozess für den Zugriff auf den Inhalt der Datei verwendet. Die Dateizuordnung ermöglicht es dem Prozess, sowohl zufällige Eingabe und Ausgabe (E/A) als auch sequenzielle E/A zu verwenden. Außerdem kann der Prozess effizient mit einer großen Datendatei wie einer Datenbank arbeiten, ohne die gesamte Datei dem Arbeitsspeicher zuordnen zu müssen. Mehrere Prozesse können auch speicherseitig zugeordnete Dateien verwenden, um Daten freizugeben.

Prozesse lesen aus der Dateiansicht und schreiben sie mithilfe von Zeigern, genau wie bei dynamisch zugeordnetem Arbeitsspeicher. Die Verwendung der Dateizuordnung verbessert die Effizienz, da sich die Datei auf dem Datenträger befindet, die Dateiansicht sich jedoch im Arbeitsspeicher befindet. Prozesse können die Dateiansicht auch mit der VirtualProtect-Funktion bearbeiten.

Die folgende Abbildung zeigt die Beziehung zwischen der Datei auf dem Datenträger, einem Dateizuordnungsobjekt und einer Dateiansicht.

Beziehung zwischen der Datei auf dem Datenträger, einem Dateizuordnungsobjekt und einer Dateiansicht.

Die Datei auf dem Datenträger kann eine beliebige Datei sein, die Sie dem Arbeitsspeicher zuordnen möchten, oder die Systemseitendatei. Das Dateizuordnungsobjekt kann aus der gesamten Datei oder nur aus einem Teil der Datei bestehen. Es wird von der Datei auf dem Datenträger unterstützt. Dies bedeutet, dass beim Austausch von Seiten des Dateizuordnungsobjekts vom System alle änderungen am Dateizuordnungsobjekt in die Datei geschrieben werden. Wenn die Seiten des Dateizuordnungsobjekts wieder in ausgetauscht werden, werden sie aus der Datei wiederhergestellt.

Eine Dateiansicht kann aus dem gesamten oder nur einem Teil des Dateizuordnungsobjekts bestehen. Ein Prozess bearbeitet die Datei über die Dateiansichten. Ein Prozess kann mehrere Ansichten für ein Dateizuordnungsobjekt erstellen. Die von den einzelnen Prozessen erstellten Dateiansichten befinden sich im virtuellen Adressraum dieses Prozesses. Wenn der Prozess Daten aus einem anderen Teil der Datei als dem in der aktuellen Dateiansicht benötigt, kann er die Zuordnung der aktuellen Dateiansicht aufheben und dann eine neue Dateiansicht erstellen.

Wenn mehrere Prozesse dasselbe Dateizuordnungsobjekt verwenden, um Ansichten für eine lokale Datei zu erstellen, sind die Daten kohärent. Das heißt, die Ansichten enthalten identische Kopien der Datei auf dem Datenträger. Die Datei kann sich nicht auf einem Remotecomputer befinden, wenn Sie Arbeitsspeicher für mehrere Prozesse freigeben möchten.

Weitere Informationen finden Sie in den folgenden Themen: