Bevor NFS beschrieben wird, sollte man den Ausdruck Dateisystem verstehen. Ein Dateisystem ist ein Weg, um Daten auf einem Medium zu speichern, der Weg, wie es organisiert und verwaltet wird. Es gibt viele davon, einige sind weit verbreitet, andere sind eher selten anzutreffen. Bekannte Dateisysteme sind etwa das New Technology FileSystem ( NTFS von Windows), High Performance FileSystem (HPFS, OS/2), FAT 12/16/32, VFAT, Macintosh Hierarchical Filesystem (HFS), ISO 9660 (für CD-ROM), extended file systems (Ext, Ext2, Ext3), und viele andere.
Man kann jedes physikalische Medium für Daten (z. B. eine Festplatte) als Feld von kleinen Einheiten betrachten, die Informationen speichern: Man redet hier über Blöcke. Jedes Dateisystem verwaltet diese Blöcke auf verschiedene Weise. Zum Beispiel versuchen wir in der folgenden Abbildung eine Datei einzufügen, die zwei Blöcke benutzt. Auf der oberen Illustration wurde die Datei hinter den letzten belegten Block gesetzt, wobei leere Stellen am Anfang auftreten. Im unteren Teil des Bildes (ein anderes Dateisystem) wurde es an die erste freie Stelle gesetzt. Diese Politik hat Einfluss darauf, wie stark eine Platte fragmentiert wird. Einige Dateisysteme vermeiden Fragmentierung automatisch, während andere manuell defragmentiert werden müssen.
 |
Das bekannteste Dateisystem unter Linux ist ext2fs (extended 2 file system). Jede Datei wird durch einen sogenannten Inode dargestellt. Inodes sind Datenstrukturen, die Informationen über die Objekte eines Dateisystemes speichern, wie z. B. Dateien oder Verzeichnisse. Verzeichnisse speichern die Dateiliste, und der Zugriff geschieht durch Operationen wie Lesen und Schreiben auf besondere Dateien.
Die Aufgabe eines NFS Servers ist es, den Clients die Inodes zu geben, auf die sie zugreifen möchten. Allerdings würde ein Client nur allein mit den Datei-Inodes nicht sehr gut arbeiten. Ein NFS Server ist eine zusätzliche Netzschicht, die es remote-Rechnern erlaubt, Inodes zu handhaben.
|