VFS
(Mehr Informationen/weitere Artikel) {{{1}}} |
Als VFS (Virtual File System) bezeichnet man eine Zusammenfassung von Routinen, Klassen und Schnittstellen, um auf Daten zugreifen zu können, die nicht notwendigerweise für das zugrundeliegende Betriebssystem als Dateien erkennbar sind.
Inhaltsverzeichnis
Ansätze
Die grundlegendste aller Voraussetzungen für ein sinnvolles VFS ist, dass man Daten hat, die man verwalten will. Worum es sich bei diesen Daten handelt, ist im grundegenommen vollkommen egal, da jegliche Daten eh nur Folgen von Bytes sind. Man sollte also festlegen, was als Quelle für jegliche Daten dient:
- Festplatte (Dateisystem des OS)
- Netzwerk (z.B. TCP\UDP Socket-Verbindungen)
- Der Arbeitsspeicher
- Ein eigenes Archiv-Format
- ...
Auch ist es für ein VFS immer auch relevant, wie die Daten dem User präsentiert werden. Auch hier gibt es wieder zahlreiche Möglichkeiten:
- Memory Pointer
- Dirty, aber ich kenn Leute die machen das so *g*
- Stream Objects
- Dies kann z.B. eine weiterentwicklung eines VCL-Streams oder eine eigene Implementierung sein
- Fertige Datenobjekte
- Diese Methode kann z.B. genutzt werden, wenn ein VFS nur zum Zugriff auf eine einzelne Art von Daten (z.B. Texturen) verwendet wird und man sich die zwischenkonvertierungen ersparen möchte. In diesem Fall KANN das Laden der Texturen in das VFS integriert werden, gehört aber nicht zu den eigentlichen Aufgaben eines VFS.
- ...
Wichtig in einem VFS ist aber auch immer, inwiefern Daten vorverarbeitet werden, d.h. Daten, die in einer Datei interpretiert werden, um z.B. ZIP-Dateien on-the-fly auszulesen oder animierte GIFs "virtuell" in Einzelbilder aufzutrennen.