Durchlaufen des Inodes, um den Inhalt der in verschiedenen Datenblöcken gespeicherten Datei zu finden

424
Angus

Ich lese über das EXT2-Dateisystem und habe ein Verständnis davon. Jedes Dateisystem besteht aus Daten und Metadaten (Inode). Das Dateisystem ist in mehrere Blöcke mit 4 Hauptblöcken unterteilt, die Informationen über andere Blöcke enthalten.

Wie geschieht die Interaktion, wenn wir versuchen, eine Datei aus dem Benutzerbereich zu öffnen?

Wenn der Benutzer den open()Syscall anruft, wie befindet sich die Datei über die Inode-Nummer und wie werden die Inhalte im nächsten Block gespeichert?

open()ruft sys_open()die do_path_search()Funktion auf, indem sie nach der Inode-Nummer mit dem Dateinamen sucht. Sie erhält die Inode-Nummer, die die Adresse der Datenblöcke enthält, indem sie die Tabelle der Inode-Nummern betrachtet.

  • Wie sucht es den verbleibenden zusammenhängenden Block?
  • Wie erkennt es, welches Dateisystem durchsucht werden muss, um die richtige Datei zu erhalten?
  • Wie wird die Dateistruktur von mehreren Prozessen verwaltet, die auf dieselbe Datei zugreifen?
0
Dies sind eine Menge Fragen. Wie wäre es, wenn Sie über jedes einzeln nachdenken und es separat fragen. Rory Alsop vor 11 Jahren 1
Ich habe die Frage gekürzt Angus vor 11 Jahren 0

0 Antworten auf die Frage