| Dateisysteme | |||||
|
Das Dateisystem ist ein wichtiger Bestandteil des Betriebssystems. Zu seinen Aufgaben zählen: - Die Formatierung von Datenträgern - Die Verwaltung von physischen und logischen Partitionen - Das Führen von Inhaltsverzeichnis (Dateizuordnungstabelle) und Verzeichnisstruktur - Die Geordnete (unfragmentierte) Speicherung von Daten - Die Generierung neuer Dateien - Das Lesen, Löschen, Verschieben und Umbenennen von Dateien - Die Verwaltung von Dateiattributen (Datei-Typ, Eigentümer, Zugriffsrechte) - Die Sicherheit der Daten- und Speicherplatzverwaltung - Die Sicherstellung und Rekonstruierbarkeit von fehlerhaft gewordenen oder verloren gegangenen Dateien |
|||||
| Siehe auch: High-Performance-File-System FAT VFAT NTFS Reiser-File-System Second-Extended-Filesystem Third-Extended-Filesystem ZFS | |||||
| Es wurden weitere Begriffe gefunden: | |||||
| NFS | |||||
|
Network File System (Sun Microsystems). NFS ist ein Filesystem für Unix- und Linux-Systeme. Es ist ein Netzwerkfilesystem, mit dem Dateisysteme von verschiedenen Computern zu einem logischen Baum zusammengefügt werden können. Es handelt sich um eine Client/Server Anwendung. Man kann mit einem Remote-Dateisystem so arbeiten, als wäre man lokal verbunden. Besonders bei Fileservern kommt diese Struktur zur Anwendung. NFS funktioniert mit TCP/IP. Es ist ein UDP-Protokoll ohne Zustand. Ab Version 4 soll es nicht mehr zustandslos und schneller sein. Als Protokoll verwendet NFS den RPC (Remote Procedure Call). Die Entsprechung in Windows und OS/2-Umgebungen ist Server Message Block (SMB). Ab NFS V4 gibt es eine Benutzerauthentifikation. In Windows-Server-Netzwerken kann durch NFS der Zugang für UNIX-Workstations ermöglicht werden. In Netzwerken mit Windows- und Unix-Umgebungen wird die Netzwerkverbindung oft mit Samba hergestellt. |
|||||
| Siehe auch: Solaris NTFS FAT TCP-IP UDP RPC Sun-Microsystems Server-Message-Block-Protocol | |||||
| Distributed-File-System | |||||
| Siehe auch: NFS NTFS FAT Micro-NLX-Formfaktor WinFS Server | |||||
| NTFS | |||||
|
New Technology File System. Bei NTFS handelt es sich um das Dateisystem von Windows NT, Windows 2000, Windows Server 2003, Windows XP und Windows Vista. Aktuelle Version: 3.1. Zu den Eigenschaften von NTFS gehören: 1. Geordnete (unfragmentierte) Speicherung von Daten. Dies hat den Vorteil, dass die Daten auch nach längerer Zeit auf der Festplatte in einem sortierten Zustand sind und damit die Zugriffszeiten entsprechend niedrig bleiben. 2. Verwendung langer Dateinamen (bis zu 256 Zeichen, Pfadlänge bis zu ca. 32.000 Zeichen, Dateigrösse bis zu 16 EiB) 3. Bessere Datensicherheit 4. Einsatz binärer Suchbäume bei der Dateiverwaltung. 5. Alternate Data Streams (Speicherung von Alternativen Datenströmen) 6. Verwendung von Access Control Lists (ACL) für die Rechteverwaltung. NTFS kann auf FAT32 zugreifen, jedoch nicht umgekehrt. NTFS 3.x unterstützt die benutzerspezifische Zuteilung von Speicherplatz auf Festplatten, die Verschlüsselung von Daten in Realtime (EFS, Encrypting File System) und die zentrale Nutzung verteilter Daten. Viele Eigenschaften von NTFS stammen von IBMs HPFS (High Performance File System), dem Dateisystem von OS/2. NTFS ist ein Dateisystem, dass alles als Bestandteil einer Datei ansieht. Dazu gehören auch die Informationen über das System selber. Das Master File Table (MFT) ist die Hauptdatei. Das MFT verwaltet die Informationen über Blockzugehörigkeiten der Dateien, Zugriffsberechtigungen und Attribute. Attribute sind bei NTFS jede Eigenschaft einer Datei inklusive dem Inhalt der Datei. Das MFT belegt beim Formatieren des Datenträgers einen reservierten Platz. Nach Betriebnahme kann das MFT, falls der ursprünglich reservierte Platz nicht ausreicht, weiteren Speicherplatz von der Festplatte für sich belegen. Dadurch kann das MFT auch fragmentiert werden. Als Normwert belegt das Master File Table 12,5 % der Partition. Alternativ sind auch andere Werte einstellbar: 25 %, 37,5 % oder gar 50 %. NTFS ist ein Metadaten-Journaling-Dateisystem: die Meta-Daten werden beim Schreiben erst in einem Journal gespeichert. Dann erfolgt der Schreibvorgang innerhalb der Partition und anschliessend wird das Journal aktualisiert. Falls der Schreibvorgang nicht korrekt ausgeführt werden kann, müssen nur die Änderungen im Journal zurückgeführt werden, damit das System seine Datenkonsistenz wiedererhält. Nachfolger von NTFS WinFS sollte der Nachfolger von NTFS werden. Windows Vista wurde jedoch ohne WinFS ausgeliefert und das Projekt WinFS selber wurde später ganz eingestellt. |
|||||
| Siehe auch: FAT WinFS Windows-8 Windows-Vista Exbibyte MS-DOS Distributed-File-System Reiser-File-System Journaling-Dateisystem | |||||
| Fourth-Extended-Filesystem | |||||
|
Das Fourth Extended Filesystem (ext4) ist ein Journaling Dateisystem für Linux. Es weist folgende Verbesserungen gegenüber ext3 auf: ext4 unterstützt Partitionen oder Volumes bis zu zu 1 Exbibyte. Die Adressierung von Speichereinheiten kann über Extends erfolgen, wobei die Speichereinheiten in Blocks organisiert sind. Dadurch wird der Zugriffsaufwand vermindert. Ext4 ist resistenter gegenüber Festplattenbeschädigungen. Ext4 unterstützt Unterverzeichnisse und Dateigrößen die die Größe des Dateisystemes haben sowie Online-Defragmentierung und Zeitstempel auf Nanosekundenbasis und den Einsatz von Prüfsummen. Es besteht die Möglichkeit, ext3-Partitionen ohne Neuformatierung in ext4 umzuwandeln. Die Verzeichnisse sind in Form von Tabellen oder H-Bäumen abgelegt. ext4 und Google Google hat im 1. Quartal 2010 den Chefentwickler von ext4, Ted Ts'o eingestellt, um u.a. sein Dateisystem von ext2 auf ext4 umzustellen. Dies ist aus Performance-Gründen notwendig. Das Linux-Dateisystem ext4 und XFS haben in Benchmark-Tests gut abgeschnitten, wobei auch JFS getestet wurde. Der Umstellungsaufwand bei ext4 ist jedoch am geringsten, da hier kaum Ausfallzeiten zu befürchten sind ('sanftes' Update von ext2 nach ext4 möglich). |
|||||
| Siehe auch: Third-Extended-Filesystem Second-Extended-Filesystem Journaled-File-System B-Baum Exbibyte Google-Server XFS ZFS | |||||
| Dateierweiterungen | |||||
|
Im 'alten' DOS bestehen Dateinamen aus einem Hauptnamen (8 Zeichen) und einer Erweiterung (maximal 3 Zeichen = Extension), die durch einen Punkt voneinander getrennt werden: Die meisten Anwendungsprogramme geben ihren Datendateien automatisch eine Dateierweiterung. Erfahrene Anwender erkennen an dieser Extension, mit welchem Anwendungsprogramm die Datei erstellt wurde, oder erkennen daran, ob es sich um eine Systemdatei des Betriebssystems handelt oder ob die Datei ein ausführbares Programm ist. Beispiele sind: doc für eine MS-Word-Datei, HTM für eine Html-Datei, txt für eine ASCII-Textdatei, PDF für eine Adobe Acrobat Datei. |
|||||
| Siehe auch: Datei Auslagerungsdatei Batchdatei | |||||
| Directory | |||||
|
Ein Directory ist ein Verzeichnis. Directories haben ihren Ursprung in UNIX. Sie dienen dazu, Dateien zu verwalten. Directories sind üblicherweise in einer Hierarchie aufgebaut: Ober- und Unterverzeichnisse bilden eine Art Baumstruktur. Besonders in Windows wird deutlich, dass man sich Verzeichnisse als Aktenordner vorstellen kann. In diesen werden Daten nach logischen Gesichtspunkten gesammelt. |
|||||
| Siehe auch: Datei | |||||
| Reiser-File-System | |||||
|
Das Reiser File System (ReiserFS) wurde von Hans Reiser und dessen Firma Namesys für Linux Distributionen entwickelt. Es ist ein Journaling Dateisystem und wurde ab Linux Kernel 2.4.1 standardmässig implementiert. Lizenziert unter der GPL wird es für Logical Volumes und RAID-Systeme verwendet. Der Logical Volume Manager (LVM) bildet eine Abstraktionsebene zwischen Dateisystemen und physischen Festplatten (Physical Volume). Das Physical Volume wird dabei wird dabei zu einem Pool (Volume Group) gruppiert aus dem dynamische Partitionen (Logical Volume) gebildet werden. Auf diesen Logical Volumes wird das Dateisystem angeordnet. Der Logical Volume Manager kann diese Partitionen als RAID-System ausbilden und unterstützen. Dadurch können redundante Strukturen aufgebaut werden, welche vor Datenverlust schützen. Dieses Verfahren kommt ohne zusätzliche Hardware aus und wird deshalb als SoftRAID bezeichnet. Oft benutzte RAID-Level sind RAID-0, RAID-1 oder RAID-5 Die Verzeichnisse im ReiserFS werden mit B+ (ReiserFS 1-3) oder B*-Bäumen (Reiser 4) realisiert. Die maximale Dateigrösse reicht von 2 ^ 31 -1 Byte (ReiserFS 3.5 ) bis 2 ^ 60 Byte (ReiserFS 2.6). Neben Linux wird das Reiser File System von BSD und Windows unterstützt. Für Windows stellt Microsoft spezielle Treiber zur Verfügung. In den Versionen Reiser 1 bis Reiser 2 wurde für die Dateistruktur der B+ -Baum zugrundegelegt. Ab ReiserFS wurde dem Filesystem ein Journal beigefügt, so dass das Journaling-Dateisystem nicht nur für die Metainformationen sondern auch für die Nutzdaten angewendet werden kann. Ab Linux Kernel 2.6 ist dieser Misstand behoben worden. Reiser 4 Reiser 4 ist eine völlige Neuentwicklung und weist eine leicht veränderte B*-Baum-Struktur auf. Diese auch als "Dancing Tree" bezeichnete Datei-Struktur verschmilzt im Gegensatz zum ursprünglichen B*-Baum-Dateisystem nicht mit jedem unzureichend gefüllten Knoten bei jeder Modifikation, sondern erst dann wenn der Speicherplatz so kanpp ist, dass ein Zurückschreiben auf die Festplatte notwendig ist oder beim Abschliessen einer Transaktion. Reiser4 bietet einen Geschwindigkeitsvorteil beim Abspeichern der Nutzdaten, da es für Zwischenspeichervorgänge über ein wanderndes Journal verfügt. Dadurch werden die Nutzdaten erst bei Abschluss des Vorganges auf die entsprechende Stelle im Dateisystem geschrieben, wobei das Journal bis zum Vorgangsabschluss als eine Art Zwischenspeicher dient. Weiterhin enthält Reiser 4 eine Metadatenstruktur für die Metadaten-Typen Komprimierung und Verschlüsselung. Reiser 4 kann also auch Metadaten über Audio Files beinhalten wie z. B. Künstler oder Titel eines Musikstückes. Im Gegensatz zu ID3-Tags bei MP3-Dateien werden die Metadaten im Dateisystem und nicht im Containerformat (MPEG, MP3 etc.) der Audio Datei integriert, so das man eine einheitliche Speicherungsform der Metadaten hätte, die unabhängig vom Container Format wäre. Eine entsprechende Anwendung muss nicht mehr alle Metadatentypen lesen können, der Zugriff erfolgt transparent über das Dateisystem. Dieser Ansatz erhöht die Interkompatibilität zwischen Anwendungen, senkt jedoch die Interkomaptibilität zwischen Dateisystemen. Vorteile des Reiser File Systems Ein Hauptvorteil von Reiser ist die Handhabung vieler kleinerer Dateien. Diese können in den Verwaltungknoten eingebunden werden. Dadurch wird der Speicherplatzbedarf gesenkt. Diese Funktionen können über Parameter beim Mounten eingebunden werden: Der Parameter "notail" deaktiviert die Speicherung kleinerer Dateien in den Inodes (Informationsknoten, Indexeintrag) des Dateisystems. Der Parameter "nolog" deaktiviert das Journaling. Das Journaling kann deaktiviert werden, um die Geschwindigkeit des Dateisystems zu steigern. Dies geschieht auf Kosten der Sicherheit. Die maximale Anzahl von Dateien beträgt bei Reiser Version 3.5 ca. 2 ^ 29 (518701895 ) und bei Reiser 2.6 2 ^ 32 -3. In der Praxis wird die Anzahl der Dateien durch eine Hash-Funktion limitiert (auf ca. 1.200.000 Dateien ohne Kollisionen). Die Anzahl von Verzeichniseinträgen (Hard Links) pro Datei beträgt bei Reiser 2.5 2 ^ 16 und bei Reiser 2.6 2 ^ 32. Die maximale Grösse des Dateisystems beträgt ca. 2 ^ 32 4-KB-Blöcke. |
|||||
| Siehe auch: B-Baum B-Plus-Baum ZFS Kernel Journaling-Dateisystem Metadaten XFS Second-Extended-Filesystem Third-Extended-Filesystem | |||||
| Journaling-Dateisystem | |||||
|
Ein Journaling Dateisystem ist in der Lage, die Effizienz und Sicherheit der Daten- und Speicherplatzverwaltung zu erhöhen, indem die Daten vor dem eigentlichen Abspeichern im Dateisystem in einem Journal zwischengespeichert und verwaltet werden. Für dieses Journal wird ein extra Speicherbereich reserviert. Das Journal gewährleistet auch die Datenkonsistenz, da auch bei Störungen während des Schreibvorganges ein konsistenter Zustand bereitgehalten wird bzw. rekonstruierbar ist. Dies ist bei Systemabstürzen und Systemausfällen von grossem Vorteil, da neben der Rekonstruierbarkeit der Daten auch beim Wiederhochfahren die Routinen zur Überprüfung und Reparatur des Dateisystems entfallen. Metadaten-Journaling und Full-Journaling Beim Metadaten-Journaling wird die Konsistenz des Dateisystems gewährleistet. Eine Weiterentwicklung ist das Full-Journaling, bei dem auch die Konsistenz der Dateiinhalte gewährleistet wird. Funktionsweise des Journaling Ein Journaling Dateisystem behebt die Schwäche von Dateisystemen, die bei Schreibvorgängen sowie bei Lösch-, Verschiebe- und Umbenennungsvorgängen auftreten. Während dieser Vorgänge befindet sich ein Dateisystem in einem inkonsistenten Zustand, da diese Vorgänge auch auf mehreren Stellen der Festplatte gleichzeitig Veränderungen vornehmen. Weiterhin ermöglicht es einen schnelleren Re-Boot-Prozess bei Systemausfällen. Das Journaling-Konzept ermöglicht, dass Schreibvorgänge sowie Update-, Lösch-, Verschiebe- oder Umbennenungsvorgänge zuerst im extra dafür reservierten Speicherbereich des Journals ausgeführt werden. Normalerweise müssen bei einem Schreibvorgang, bei dem ein User eine Datei X von einem Verzeichnis Y nach einem Verzeichnis Z schiebt, zwei Schreibvorgänge durchgeführt werden: zunächst muss der Eintrag der Datei X aus dem Verzeichnis Y entfernt werden und im Verzeichnis Z hinzugefügt werden. Falls es sich um eine grössere Datei handelt, könnte es erforderlich sein, dass das Verzeichnis Z vor dem Schreibvorgang vergrössert werden müsste. Während dieses Vorganges befindet sich das Dateisystem in einem inkonsistenten Zustand, welcher zu Problemen bei Systemabstürzen oder Festplattenausfällen führt. Bei dem Journaling-Verfahren werden diese Vorgänge zunächst komplett im Journal ausgeführt, bevor sie im konsistenten Zustand in einem Vorgang auf dem Dateisystem ausgeführt werden. Das Journal wird regelmässig abgeschlossen um die Vorgänge auf das Dateisystem zu schreiben. Dabei wird die Anzahl der Änderungen festgehalten und eine Prüfsumme ermittelt. Beim Apple HFS+ Journaling für Mac OS X kann beim Installationsvorgang das Schreibzyklusintervall festgelegt werden. Dieses Intervall kann aber auch nach der Installation festgelegt werden. Beispiele für Journaling Dateisysteme Beispiele für Journaling Dateisysteme sind: ReiserFS, NTFS, ext3/ext4 (Linux), JFS1/JFS2, HFJS (Hierarchical File Journaling System), BeFS (Be File System, BeOS) FFS (Berkeley Fast File System, BSD), SFS (SmartFilesystem) oder PFS (Professional File System (Amiga)). |
|||||
| Siehe auch: Reiser-File-System NTFS Hierarchical-File-System Second-Extended-Filesystem Third-Extended-Filesystem High-Performance-File-System BSD Journaled-File-System Booten | |||||