680 likes | 897 Views
Datei- verwaltung. Dateisysteme. Liste von Dateien auf Massenspeicher = ? = relationale Datenbank ! Objektorientierte Datenbank : mit Methoden+Attributen Multi-Media-Datenbank : mit Bild+Tonobjekten+Synchron . Organisation von Datenbanken
E N D
Dateisysteme • Liste von Dateien auf Massenspeicher = ? = relationale Datenbank! Objektorientierte Datenbank: mit Methoden+Attributen Multi-Media-Datenbank: mit Bild+Tonobjekten+Synchron. • Organisation von Datenbanken Persistent Storage Manager PSM (kleineObjekte) Object-Oriented Database Management System OODBMS Nummer Name Position Länge Datum ... 0 Datei1.dat 264 1024 11.12.87 1 MyProgram 234504 550624 23.4.96 2 Datei1.dat 530 2048 25.1.97 ... ... ... ... ... ... Dateiverwaltung
Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung
Dateinamen AlleDateien Gruppe ... Gruppe Datei 1 m f Datei Datei ... Datei Datei ... Datei 1 2 n 1 s Zusätzliche Vernetzung “Wald” Firma Abteilung 5 Formulare Rudi Hans BriefVorlage.dot Brief1.doc .. BriefM.doc BriefN.doc Brief1.doc • Hierarchische Dateiorganisation in Baumform Knoten = „Ordner“ = directory gleiche Dateinamen möglich (azykl.Graph) Dateiverwaltung
Dateinamen NamensbildungName.ext (üblich) Extension = Dateityp, Dateizweck Beispiele: .dat Daten; Format hängt vom Erzeugerprogramm ab .doc Textdokument in dem speziellen Format des Texteditors .pas PASCAL-Programm Quellcode .c C-Programm Quellcode .h Deklarations (header)-Dateien für C-Programme .ps Postscript Dateien zum Ausdrucken .Z, .zip, .gz Komprimierte Dateien nicht genormte Endung! .tar ein gesamtes Dateisystem, in einer Datei abgespeichert .html ASCII-Textdatei für das world wide web-Hypertextsystem .jpg, .gif, png, Bilddateien (komprimiert/unkomprimiert) .tif, .bmp MS-DOS: 3 Extensionsbuchstaben! Sonst: 215 Char ohne \ / : * ? " < > Dateiverwaltung
Dateinamen: Externe Typangabe Geschachtelte Typen Beispiel: Skript.ps.gz = Textdatei Postscript-FormatKomprimiert • TypaktionenTyp verknüpft mit Aktion • Benutzeroberfläche (Desktopmanager HP -VUE, MS-Explorer) behandelt Dateinamen • Liste von Aktionen pro Typ definiert (Kontextmenü) • Doppelklick = erste Aktion ausführen Dateiverwaltung
Dateinamen: UNIX Interne Typangabe class File Header { a_magic: LONG CARDINAL (* MagischeZahl *) a_txt: CARDINAL (* Code-Segmentgröße *) a_data: CARDINAL (* Segmentgröße der init.Daten*) a_bss: CARDINAL (* Segmentgröße der nicht init.Daten*) a_syms : CARDINAL (* Größe der Symboltabelle*) a_entry: CARDINAL (* Start des Programms*) ... } a_magic = 407B (* altes Format: Code („text“) und Daten werden nicht schreibgeschützt und sollen deshalb nicht von anderen Prozessen genutzt werden *) 410B (* Text-Segment wird schreibgeschützt, und das Datensegment wird an die nächsten Seitengrenzen (4 KB) im Speicher gelegt *) 413B (* Text-Segment fängt an der nächsten Seitengrenze der Datei an; text und Datensegmente sind Multiple der Seitenlänge *) Dateiverwaltung
Dateinamen: Eindeutigkeit • Problem: eineindeutige Abbildung langer Namen auf kurze z.B. NTFS MS-DOS (8 Zeichen.3Zeichen) • Lösung Windows NT: • Alle illegalen MS-DOS Buchstaben (Nicht-ASCII + Sonderzeichen) löschen, sowie alle Punkte innerhalb des Namens bis auf den letzten, falls er nicht abschließt. Kleinbuchstaben Großbuchstaben. • Nur die ersten 6 Buchstaben beibehalten, Zeichen „1“ vor dem Punkt einfügen. • 3 Zeichen hinter dem Punkt beibehalten, alle anderen löschen. • Ex. Datei gleichen Namens, so wird „1“ zu „2“ bzw. zu „3“, falls schon existiert. Beispiel: „Längerer Dateiname.text.ps“ LNGERE~1.ps Dateiverwaltung
Dateinamen Abteilung 5 Rudi Hans BriefM.doc BriefN.doc Brief1.doc Brief1.doc • absoluter Pfadname Dateiname = Kette aus Knotennamen von der Wurzel zum Blatt Beispiel: /Abteilung5/Rudi/Brief1.doc Unix \Abteilung5\Rudi\Brief1.doc NT Vorgänger: .. Dieses Verzeichnis . • relativer Pfadname z.B. Rudi/Brief1.doc bei Hans: ../Rudi/Brief1.doc Dateiverwaltung
Dateinamen / toolsX toolsY Daten Programme Dat1.a liba libb Prog • Vorteil relativer Pfadnamen: Portabilität Beispiel Programmsystem Absolute Pfadnamen müssen nach Verschiebung des Programmsystems geändert werden, relativenicht ! Dateiverwaltung
Dateinamen: UNIX Pfaderweiterung root file system user file system / Festplatte 2 Rudi Hans Ute Brief1.doc Zugriff mit /users/Rudi/Brief1.doc • Einhängeneines Dateisystems (mounten) / Festplatte 1 etc bin usr users Frage: Was passiert mit den Dateien, die vorher in „users“ waren? Dateiverwaltung
Dateinamen: UNIX Namensraum hard link Baumorientiertes Dateisystem • Querverbindungendurch hard links (gleiches Laufwerk) oder symbolic links (anderes Laufwerk) Beispiel : hard link löschen zu Datei2: Datei bleibt erhalten (Zähler). Problem: rück-referiertes Verzeichnis stand-alone Verzeichnis? Abteilung5 Gruppe 1 Gruppe2 Rudi Hans symbolic link Datei1 Datei2 Datei3 Dateiverwaltung
Dateinamen: Windows NT Namensraum • Namensraum für alle Objekte wie pipes, sharedmemory, Prozesse, Semaphoren, events, ... • Logische Querverbindungen (symbolic links) ab NT 6.0 • Löschen von Dateien: 2 Referenzzähler (user und kernelhandles) • „Durchsuchen“-Methode bei jedem Objekt: Einbindung neuer, unbekannter Dateisysteme möglich! (Vorteil ADT) Dateiverwaltung
Dateinamen: Windows NT Namensraum \ Device Floppy0 • Symbolic link parsing-Methode: DosDevices C: HardDisk0 B: A: Texte Email Partition0 bs_mem.doc bs_files.doc Objekt Manager Namensraum Dateimanager Namensraum Beispiel A:\Texte\bs_files.doc Objekt manager: A:\Texte\bs_files.doc \Device\Floppy0\Texte\bs_files.doc Dateimanager: Methode Find ( Texte\bs_files.doc ) mit austauschbaren Methoden für FAT, HPFS, CD-ROM, EFS,... Dateiverwaltung
Dateiattribute und Sicherheit • Dateiattribute • Dateilänge • Datum für Erzeugung, letzte Änderung,.. • Log. Attribute hidden, system, Archiv, • Erzeuger, Besitzer, Benutzer und ihre Rechte • Rechte & Sicherheit in POSIX-6: • Geringst-möglichste Rechte für eine Aufgabe (least privilege) • Diskrete Angaben für Zugangskontrolle: Wer darf, wer nicht (ACL) • Zugangskontrolle nur von Prozessen größerer Rechte (mandatorycontrol) • Aufzeichnung des Zugangs (audittrail) Dateiverwaltung
Frage • Kann man mit geeigneten Zugriffsrechten (ACL) Virenaktionen verhindern? • Antwort Nein, da auch Systemprogramme mit großen Zugriffsrechten Fehler haben können Dateiverwaltung
Dateiattribute und Sicherheit: UNIX brause 512 Apr23 15:55 . drwx r-x r-x off 512 May17 17:53 .. drwx r-x r-x brause 44181 Apr23 15:56 data1.txt -rw- r-- r-- • Zugriffsrechte: Lesen R, Schreiben W, Ausführen X • Verzeichnisse: r=Liste lesen, w=neue Datei aufnehmen, x=Liste durchsuchen nach Datei („ betreten“ des Verzeichnisses) • Getrenntfür Besitzer, Gruppe, Alle Rechte bei Programmausführung = user Rechte Aber: setuserId, setgroupIdsystemcalls ACL ex. in neuerem Unix (Wer, was, wie) Dateiverwaltung
Dateiattribute und Sicherheit: Windows NT • Standardrechte: Read, Write, ExecuteOnly, Vollzugriff, ... • ACLex., neue Gruppen möglich • Auditingmöglich • Speziell für Dateien: • Attribute • Dateiname, Gerätetyp, Position in Datei, share-Status(r,w,del) • Mode: sync/async, mit/ohne Cache, seq/random Access, ... • File disposition: temp oder persistent • Methoden • CreateFile(), OpenFile(), ReadFile(), WriteFile(), CloseFile() • Lesen/setzen von Dateiinfo, Attributen, Geräteinfo, Verzeichnissen • Sichern/freigeben der Dateilänge • Attribute implementiert durch Datenströme, neu erzeugbar „MeineDatei.dat : MeinKommentar“ (aber: unsichtbare Viren!) Dateiverwaltung
Typische Dateifunktionen Verbind.-orientierte Kommunikation • Create File Name, Zugriffsart: Tabelleneintrag • Open File Apprüfen der Zugriffsrechte, Puffereinrichtung, • Close File Puffer + Tabellen deallozieren FRAGE: Vorteile ? Read/Write File Puffer schreiben/lesen: DMA! Seek File Index setzen der aktuellen Position randomaccess Dateiverwaltung
Dateifunktionen: UNIX • fd = creat(Name, mode) filedescriptor = Index in Tabelle fd = open (Name, mode) • read (fd, bufadr, nbytes) write(fd, bufadr, nbytes) • close(fd) Beispiel Dateideskriptoren in pipes fd=0: Standard Input, fd=1 Standard Output, fd=2 standarderror Programm1 | Programm2 | .. | ProgrammN Dateiverwaltung
Dateifunktionen: Windows NT • Übliche Dateizugriffsfunktionen wie Unix • Bei Veränderung der Dateistruktur: Atomare Transaktionen durch log fileservice LFS (write-aheadlogging) • Ergänzung der Operationen nach Absturz: = Fehlertolerantes Dateisystem FRAGE: Kann man sich damit ein Backup ersparen? ANTWORT: NEIN, da wirksam nur für fail save-System, nicht aber bei aktivem Fehler Dateiverwaltung
Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung
Strukturierte Zugriffsfunktionen • Sequentielle Dateien sequentialfiles Magnetbänder, Lochstreifen z.B. put, get in Pascal Problem: unbekannte Zugriffsreihenfolge • Wahlfreie Dateienrandomaccessfiles Festplatten, CD-ROM: Positionsangabe (offset) möglich Problem: ineffizient zum Suchen bei bekannter Datenorganisation • Indexsequentielle Dateien index-sequentialfiles Index Sequential Access Method(ISAM) von IBM, 1960/70 • Übersicht (Index) am Dateianfang, • Ordnung nach einem Kriterium (Schlüssel), z.B. Name, Geburtsdatum, ... • Grundlage für MYISAM→MySQL, MS Active Directory, Access Fehlen der DB-Unterstützung: Problem bei UNIX! Dateiverwaltung
Festplattenmodell Zylindergruppe Spur mit Positionier- Se k toren mechanik Schreib-/Lesekopf Drehachse • Schreib/Lese-Magnetkopf • Schreib/Lesespur mit Sektoren • Zylindergruppe: Spuren bei mehreren Platten Alu-Platte mit Eisenoxid Ein- und Ausgabeverwaltung
Indexsequentielle Dateien 48 97 Index 1. Stufe Zylinder £ £ x 48 48<x 97 26 48 80 97 Index 2. Stufe Spur £ £ £ £ x 26 26<x 48 x 80 80<x 97 Index 3. Stufe Sektor 5 15 26 37 42 48 50 56 80 82 97 Datensätze Beispiel: Einwohnerdatei, Schlüssel = Alter • Auffüllen von Containern der Größe m mit Schlüsseln • Baumstruktur für indizierten Zugriff • Index-sequentielle Speicherung (ohne Kopfbewegung: Zylinder, Spur, Sektor) Beispiel12 Record-Schlüssel: 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 Problem: Eingliedern/Ausgliedern von Datensätzen in die Container (Datenblöcke) fester Größe, z.B. „41“ Dateiverwaltung
Neuer Ansatz Neuordnung • Schnellerer Zugriff: Jeder Schlüssel wird nur einmal notiert und enthält bereits die Info für den Dateizugriff • Pro Intervall ein Ast (oder Blatt), max. m Intervalle pro Knoten, m-1 Schlüssel • Ist ein Schlüssel nicht vorhanden, wird er im Intervall auf unterster Stufe eingefügt und ein neues Blatt (Platzhalter) wird daneben erzeugt Alle Blätter sind auf der selben Ebene • Ist ein Behälter zu voll, so wird er in zwei Behälter aufgeteilt und der Schlüssel in der Mitte eine Ebene höher verschoben Beispiel: m=5 (max. 4 Schlüssel pro Knoten bzw. Schlüsselbehälter) Die 12 Record-Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 werden abgespeichert Dateiverwaltung
Neuer Ansatz: Beispiel 26 15 42 48 5 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 Eingliedern Index 1. Stufe Index 2. Stufe Dateiverwaltung
Neuer Ansatz: Beispiel 26 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 Schlüsselbehälter aufspalten Index 1. Stufe 26 Index 2. Stufe 5 15 42 48 Dateiverwaltung
Neuer Ansatz: Beispiel 26 80 56 82 5 15 42 48 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 Schlüsselbehälter auffüllen Index 1. Stufe Index 2. Stufe Dateiverwaltung
Neuer Ansatz: Beispiel 56 26 82 80 5 15 42 48 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 Schlüsselbehälter teilen Index 1. Stufe 56 Index 2. Stufe Dateiverwaltung
Neuer Ansatz: Beispiel 56 26 37 97 82 50 80 5 15 42 48 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82,97, 37, 50 Schlüsselbehälter auffüllen Index 1. Stufe Index 2. Stufe Dateiverwaltung
B-Baum Allgemein: Einfacheres Einfügen neuer Schlüssel • Intervall (Ast oder Blatt) suchen für neuen Schlüssel • Einfügen auf unterster Stufe in einen Behälter • Behälter bereits voll (ex. m-1 Schlüssel) : • Aufteilen in zwei Behälterhälften und Einzelschlüssel [S1...St-1], St, [St+1...Sm] mit t = m/2 • Mittleren Schlüssel Stnach oben verschieben in höhere Stufe • Bei Überlauf im Behälter der höheren Stufe wie oben verfahren Eigenschaften • Gleiche Anzahl von Verzweigungen pro Behälter pro Ebene • Schlüsselbehälter sind mind. zur Hälfe ( m/2 ) voll „B-Baum“ Dateiverwaltung
B-Baum DefinitionB-Baum (Bayer, McCreight 1972) Ein B-Baum der Ordnung m ist ein Baum, bei dem • die Wurzel (wenn sie nicht Blatt ist) mind. 2 und maxm Äste hat • jeder Knoten mit k Verzweigungen k–1 Schlüssel (Indizes) enthält, • jeder Ast bzw. Knoten (bis auf die Wurzel und Blätter) in minimal k = m/2 und maximal k = m Äste verzweigt, (minimal zur Hälfte gefüllte Behälter) • alle Blätter auf derselben Ebene sind. Die Blätter selbst tragen keine Information; sie stellen nur mögliche Einfügepunkte für Indizes dar. Satz: Bei N Schlüsseln gibt es N+1 Blätter Dateiverwaltung
B-Baum Anzahl der nötigen Stufen (Baumtiefe) (ungerades m) 1.Stufe: mind. 2 Verzweigungen der Wurzel nötig 2.Stufe: mind. 2 mal m/2 Verzweigungen auf der Stufe 3.Stufe: mind. 2 mal m/2 mal m/2 Verzweigungen n-te Stufe: mind.2m/2m/2.. = 2m/2n–1Verzweigungen = N+1 Blattverzweigungen Wir erreichen spätestens in der n-ten Stufe 2m/2n–1= N+1 Verzweigungen. Also: 2m/2n–1= N+1 n–1 = logm/2(N+1)/2 Log. Suchzeit! Beispiel Bei m=200, N=2 Mill.: max. n-1 = log100(1106)=log100(1003) = 3 Stufen, also nur max. n=4 Stufen! B-Bäume sind flach ! Dateiverwaltung
B-Baum Problem: Häufiges Teilen der Behälter Verbesserungen: Ausgleich zwischen einem vollen und einem leeren Behälter Verschiebe vom Schlüsselbehälter mit m–1 Schlüsseln zu einem Nachbarbehälter mit k < m-1 Schlüsseln so, dass jeweils die halbe Gesamtschlüsselzahl verbleibt und der mittlere Schlüssel mit Index i= (k+m)/2+1 nach oben wandert. Aufteilen von zwei vollen Behältern in drei Behälter Teile vollen (m-1) und übervollen (m) Behälter + dazugehörenden Schlüssel der nächsthöheren Stufe (=2m) indrei Behälter auf zu je (2m-2)/3 Schlüssel, sowie 2 für die nächste Stufe. Also jeweils (2m–2)/3, (2m–1)/3 und (2m)/3 Schlüssel, wobei die beiden Schlüssel SA und SB mit den Indizes A= (2m-2)/3+1, B =A + (2m–1)/3 +1 nach oben in die höhere Indexstufe wandern. Jede Partition ist nicht mind. ½, sondern 2/3 voll Dateiverwaltung
B*-Baum DefinitionB*-Baum Ein B*-Baum der Ordnung m ist ein Baum, bei dem • die Wurzel mindestens 2 und maximal 2(2m–2)/3 +1 Verzweigungen hat. Damit kann die Wurzel beim Überfließen in 2 Behälter zu je (2m–2)/3 Schlüssel (plus ein Schlüssel als neue Wurzel) geteilt werden. • jeder Ast bzw. Knoten (bis auf die Wurzel und Blätter) in minimal k = (2m–1)/3 und maximal m Äste verzweigt. • jeder Knoten k–1 Schlüssel (Indizes) enthält. • alle Blätter auf derselben Ebene sind. Dateiverwaltung
Beispiel B*-Baum 26 15 42 48 5 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 B*-Baum: Eingliedern in Wurzel mit max 2(2m–2)/3 = 4 Schlüsseln Index 1. Stufe Index 2. Stufe Dateiverwaltung
Beispiel B*-Baum 26 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48, 56, 80, 82, 97, 37, 50 B*-Baum: Wurzel-Schlüsselbehälter aufspalten bei 2*(2m–2)/3+1 = 5 Index 1. Stufe 26 Index 2. Stufe 5 15 42 48 Resultiert in 2 Behälter je(2m–2)/3 = 2 Schlüssel Dateiverwaltung
Beispiel B*-Baum 48 26 42 5 15 42 82 97 56 80 48 5 15 26 5 82 97 42 56 80 15 26 56 48 82 80 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48,56, 80, 82, 97, 37, 50 B*-Baum: Überfließen Index 1. Stufe Index 2. Stufe Dateiverwaltung
B*-Baum: Beispiel 48 37 5 15 26 80 82 97 56 26 56 Beispiel:m = 5 Schlüssel 5, 15, 26, 42, 48,56, 80, 82, 97, 37, 50 B*-Baum: Behälter dreiteilen Index 1. Stufe 37 42 48 42 Index 2. Stufe m=5(2m-2)/3=2 (2m-1)/3 =3(2m)/3 =3 Dateiverwaltung
B-Baum vs. B*-Baum m=5 VergleichB-Baum vs. B*-Baum Beispiel: Aufbau + Einfügen von „41“ Fazit: B*-Baum hat besseren Füllgrad weniger Behälter nötig Dateiverwaltung
FRAGE • In B*-Bäumen kann durch Überfließen ein Ausgleich erfolgen. Ist dies auch bei B-Bäumen möglich? ANTWORT JA, da dabei die B-Baumstruktur nicht verändert wird. Dateiverwaltung
Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung
Mehrfachlisten und Invertierte Dateien Die Indexfolge jeder Schlüsselart ist als Liste implementiert Beispiel: Mehrfachliste (z.B. für Alter, Größe, ..) Indexfolge 1, 3, 2, 6, 5, 8 Problem: Sequentielle Schlüsselsuche Lösung: Alle Zeiger im Dateianfang: invertierte Datei (SchlüsselRecord, statt umgekehrt) Dateiverwaltung
Bibliotheksdateien = BS-typische, von allen Prozessen nutzbare Funktionen, die nicht im Kern sind Vorteile • weniger Hauptspeicher nötig, da Modul nur einmal vorhanden • Wartung ist erleichtert, da zentral Aber: • Speicher wird billiger & wenige Module sind oft benutzt • Anfangsadresse Null nicht immer möglich relozierteKopien nötig • Wartung ist bei zentraler Verteilung lokaler Kopien einfacher • DLL-Hölle: Mehrere Module gleicher Version bilden eine Gruppe & Verschiedene Programme benötigen unterschiedliche Funktionalität von Modulversionen gleichen Namens & kein Schnittstellencheck CRASH unklarer Herkunft ! Also: • Bibliotheksmodule bei Applikation lassen • registrierte Systembibliotheken automatisch reparieren (WIN 2000: 2800 signierte System-DLLs) Dateiverwaltung
memory mapped files Daten paging Daten code header stack Datei auf Platte virt. Adreßraum im Hauptspeicher • Idee: wahlfreier Zugriff auf Massenspeicher = RAM PlattenspeicherblöckeHauptspeicherseiten • Vorteile: • Einlesen des Bereichs nur wenn nötig (ohne Kopie) • Pufferung automatisch durch Paging(kein extra Cache nötig) Problem: Änderung der Länge der Datei auf Platte Dateiverwaltung
memory mapped files Beispiel Unix mmap() stellt eine Abbildung von virtuellem Adreßraum in den Bereich einer Datei her. munmap()beendet die Abbildung. Wurde der Speicherinhalt verändert, so werden die veränderten Seiten auf die Datei zurückgeschrieben. msync() aktualisiert die Datei aus dem Speicher. Außerdem: Semaphor-Operationen zur Synchronisation Beispiel Windows NTVM-Manager & I/O-Manager CreateFileMapping() erzeugtein Objekt OpenFileMapping() öffnet es anderen Prozesse unter dem Namen MapViewOfFile() Teilbereiche daraus in den virt. Adreßraumabb. FlushViewOfFile() aktualisiert den Dateibereich UnmapViewOfFile()wieder schließen Dateiverwaltung
special files Abbildung von Dateimechanismen auf Gerätesteuerung • Öffnen/Schließen von Dateien = Initialisierung der Geräte • Lesen/Schreiben von Daten = I/O der Daten • Statusänderung der Datei = Statusänderung des Geräts • Beispiel Unix „/dev/tty“ Terminal ein/ausgabe (character-oriented) „/dev/mt“ Magnetband (block-oriented) Open(),close(),read(),write()Ein Gerät, mehrere Namen und damit Modi (sequentiell, random access) möglich. Ioctl()Statusänderung, z.B. Übertragungsmodus&Geschwindigkeit Mount()Wurzelknoten des Dateisystems auf Gerät ersetzt Datei • Beispiel Windows NT virtualfiles Zugriff auf Geräte, Netzwerkverbindungen etc. wie auf normale Dateien Dateiverwaltung
Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung
Dateiimplementierung Datei A B A B B A A B Block 0 Block 1 Block 1 Block 2 Block 0 Block 2 Block 3 0 1 2 3 4 5 6 Datei B Nil • Kontinuierliche Speicherzuweisung Datei „in einem Stück“: Schnell, aber nicht änderbar. Listenartige Speicherzuweisung Verzeigerte Liste von Speicherblöcken (Strategien!) VorteilRekonstruktion möglich bei Anker-Löschung Nachteil ineffizienter wahlfreier Zugriff, da nur sequentiell möglich Dateiverwaltung