Vnode Schnittstelle - Frank Kardel
Vnode Schnittstelle - Frank Kardel
Vnode Schnittstelle - Frank Kardel
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Dateisystemerweiterungen<br />
wäre. Dateisystemobjekte ohne Unterstruktur könnten dann die VOP_LOOKUP Operation<br />
verweigern.<br />
Der Referenzzähler wird verwendet, um zu bestimmen, wie lange die mit einer vnode<br />
assoziierten Daten gültig sind.<br />
Koordinierungsinformationen werden für die Steuerung des Dateizugriffs verwendet.<br />
Unter den privaten Daten werden die vnode-spezifischen Daten hinterlegt. Diese Daten<br />
werden nur von den dateisystemspezifischen Routinen interpretiert.<br />
Der Zugriff auf die dateisystemspezifischen Operationen erfolgt über den Zeiger auf<br />
die Dateioperationen.<br />
4.7 Interne Datenstrukturen<br />
Attributierte Dateien sind als atf_vnodes realisiert. Jede atf_vnode hat einen Datenanteil,<br />
der auf drei Komponenten verweist. Zwei davon sind weitere vnodes. Es sind:<br />
90<br />
– die eigentliche Datei-vnode,<br />
– die dazugehörige Verzeichnis-vnode.<br />
Die dritte Komponente ist der Zeiger auf die Stapelelemente für die Kernstrategien.<br />
Als Operationen der atf_vnode sind die Operationen für attributierte Dateien mit Kernstrategien<br />
eingetragen. Diese Operationen arbeiten den Kernstrategienstapel ab, sofern<br />
hier eine Kernstrategie die entsprechende Operation überlagert hat. Die Realisierung<br />
der Kernstrategien stellt eine eigene kleine Dateisystemimplementierung dar.<br />
Das Besondere an dieser Dateisystemimplementierung ist, daß sie keine eigenen Dateisystemobjekte<br />
besitzt, sondern sich anderer Dateisysteme bedient. Insofern können<br />
alle Dateisysteme, die die Attributschnittstelle unterstützen, von den Kernstrategien<br />
profitieren. Das Dateisystem für die Kernstrategien liegt oberhalb der Basisdateisysteme.<br />
ATF_VNODE<br />
Flags=VISATTR<br />
Typ=<br />
Daten<br />
Ops=atf_vops<br />
ATF_DATEN<br />
obj_vn<br />
dir_vn<br />
pstack Strategiestapel<br />
Abb. 4.6 Schema der Datenstrukturen für eine atf_vnode<br />
UFS_VNODE<br />
Flags=VISATTR<br />
Typ =<br />
Daten<br />
Ops=ufs_vops<br />
UFS_VNODE<br />
Flags=<br />
Typ=VDIR<br />
Daten<br />
Ops=ufs_vops