1 / 67

Datei- verwaltung

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

edison
Télécharger la présentation

Datei- verwaltung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datei-verwaltung

  2. 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

  3. Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung

  4. 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

  5. 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

  6. Dateinamen: Externe Typangabe Geschachtelte Typen Beispiel: Skript.ps.gz = Textdatei  Postscript-FormatKomprimiert • 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. Frage • Kann man mit geeigneten Zugriffsrechten (ACL) Virenaktionen verhindern? • Antwort Nein, da auch Systemprogramme mit großen Zugriffsrechten Fehler haben können Dateiverwaltung

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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.2m/2m/2.. = 2m/2n–1Verzweigungen = N+1 Blattverzweigungen Wir erreichen spätestens in der n-ten Stufe 2m/2n–1= N+1 Verzweigungen. Also: 2m/2n–1= N+1 n–1 = logm/2(N+1)/2 Log. Suchzeit! Beispiel Bei m=200, N=2 Mill.: max. n-1 = log100(1106)=log100(1003) = 3 Stufen, also nur max. n=4 Stufen! B-Bäume sind flach ! Dateiverwaltung

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung

  44. 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üsselRecord, statt umgekehrt) Dateiverwaltung

  45. 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

  46. memory mapped files Daten paging Daten code header stack Datei auf Platte virt. Adreßraum im Hauptspeicher • Idee: wahlfreier Zugriff auf Massenspeicher = RAM PlattenspeicherblöckeHauptspeicherseiten • 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

  47. 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

  48. 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

  49. Dateinamen und Attribute Dateistrukturen Spezielle Dateien Dateiimplementierung Dateiverwaltung

  50. 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

More Related