Ich bin neugierig, wie ein Betriebssystem Dateien im Dateisystem findet.
Ich weiß beispielsweise, dass es im FAT-Dateisystem eine Datenbank der Dateien gibt.
Ich weiß, dass das Betriebssystem Dateien sehr schnell findet.
Deshalb möchte ich wissen, ob es die FAT-Datenbank mithilfe einer binären Suche durchsucht.
Oder gibt es hierfür eine schnellere Methode?
und gibt es eine Methode, mit der das Betriebssystem den Speicherort der Dateien im Dateisystem sofort ermitteln kann, ohne die FAT-Datenbank zu durchsuchen?
Antwort1
Ehrlich gesagt... diese Frage hat viele Antworten... zu viele, um sie hier aufzuzählen. Dies hängt größtenteils von derTypdes Dateisystems ... und des Betriebssystems, das es liest ... und auch, welche Funktionen des Dateisystems aktiviert sind.
Jedes Dateisystem hat eine Art „Datenbank“, wie Sie beschrieben haben, um einen Namen/Pfad in einen oder mehrere Speicherorte auf der Festplatte zu übersetzen. Die Funktionsweise dieser „Datenbank“ macht jedes Dateisystem anders. Manche Methoden sind für manche Aufgaben besser geeignet als andere. Manche sind im Fehlerfall besser wiederherstellbar und redundant ... manche sind streng auf Geschwindigkeit ausgerichtet und im Fehlerfall fast nicht wiederherstellbar.
Je nach Betriebssystem und Dateisystemtyp kann die „Datenbank“ teilweise oder sogar vollständig in den RAM geladen werden, um das Auffinden der Position auf der Festplatte zu beschleunigen. Einige Dateisysteme verwenden verknüpfte Listen und B-Bäume oder andere Arten geordneter Bäume, um Dateien schnell zu finden. Journaling kann die Lese-/Schreibvorgänge (unter den richtigen Bedingungen) ebenfalls erheblich beschleunigen. Es gibt sogar Dateisysteme (meist proprietäre), die wirklich eine Datenbank SIND.
Die eigentliche Frage ist: Warum möchten Sie das wissen und was möchten Sie damit erreichen? Wenn Sie spezifischere Antworten wünschen, geben Sie genauere Informationen dazu an, von welchem Betriebssystem/welcher Plattform/welchem Dateisystem Sie sprechen.