Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Karlene Studer Geändert vor über 10 Jahren
1
Dateisysteme Marcel Waldvogel
2
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 2 Dateisysteme Was ist eine Datei? Struktur Attribute Typen? Operationen Einheitliches Inteface Rechte Garantien? Logische Dateien
3
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 3 Dateien unter Unix Unstrukturierter Bytestrom ohne Bedeutung (auf Betriebssystemebene) Bedeutung und Struktur erst durch benutzende Programme Abgesehen von Programmen meist Textdateien Vor-, Nachteile? Operationen auf Inhalten open(), read(), write(), lseek(), fcntl/ioctl(), mmap(), close()
4
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 4 Unix: Dateiattribute Gespeichert in inode Länge Zeiten: Modifikation, Zugriff, inode-Mod. Eindeutige Kennung: Geräte-, inode-Nummer Benutzer und Gruppe Zugriffsrechte; evt. ACL Belegte Diskblöcke Links Typ (?!?) Userversion mittels stat()
5
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 5 Verzeichnisse Baumstruktur (auf jeder Disk) Wurzelverzeichnis inode=2 Jedes Verzeichnis Liste von Tupeln (Name, inode-Nummer) Mount ("aufsetzen") Konzept "aktuelles Verzeichnis"
6
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 6 Dateisysteme Pro logische Partition (=Teilbereich der Disk bzw. des Disksatzes) ein Dateisystem Grössere Verzeichnisse durch mounten Verschiedene Dateisystemtypen (Eigenschaften) Lokal, Remote, Verteilt Dateisysteme ohne Disk proc, devfs, tmpfs, shm
7
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 7 Operationen auf Dateien Verzeichnis lesen opendir(), readdir(), closedir() Wieso nicht open(), read(), close()? Dateien/Verzeichnisse erstellen open(), creat(), unlink() [Wieso dieser Name?] mkdir(), rmdir() mknod() exec(): Kombination welcher Funktionen? Kopieren, Archivieren?
8
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 8 Datenbanken Unterschiede zwischen Dateisystemen und Datenbanken? Atomare Transaktionen Identisches Format Strukturierter, typisierter Inhalt Referenzen Referentielle Integrität Freiheiten Zentral vs. lokal
9
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 9 Dateizweige (Forks) Macintosh Data Fork: Unstrukturierter Bytestrom Resource Fork: Hierarchisch, typisiert 'CODE' + 32-bit-Zahl 'WIND' + 32-bit-Zahl... NeXT, MacOS X Übertragung auf Unix: Systembibliothek Strukturierte Objektdateien, "File Wrappers" Windows "Office"-Struktur (OLE) Mehrere unstrukturierte "Streams"
10
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 10 Kommunikation Dateien Zwischen Assembler und Linker, Linker und Lader,... Quellprogramm Übersetzer Maschinen- programm Referenz- information Quellzustand Debugger Maschinen- zustand Programmebene Maschinenebene
11
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 11 Linker und Lader Aufgaben Modularisierung Mischen von Code und Daten Auflösung externer Referenzen Direkt im Code; mittels Adresstabelle Initialisierung der Module Objektformat Vorspann Code Globale Daten Bindeinformation Exportliste, Importliste, Referenzliste Programmsymbole
12
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 12 Kommunikation (2) Dateien: Zwischen... Präprozessor, Compiler, Assembler, Linker und Lader z.T. temporäre Dateien Temporäre Dateien "teuer" Abhilfe? stdio-Konzept mit Pipes grep muster datei | cut -f 1 | sort | uniq -c | sort -n Vereinheitlichung auf nicht-Dateien Spezielle Filesysteme (proc, shm,...) Gerätedateien
13
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 13 Sockets Netzwerktaugliche Version der Pipes Abstrakter Netzwerkdienst Basiert auf Filedeskriptoren Ermöglicht Netzzugriff auf stdio-Dienste Client socket(), connect(), read(), write(), close() Server socket(), bind(), listen(), accept()*, close() accept() liefert neuen Filedeskriptor
14
Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 14 Mikrokernel Kommunikation eine der wichtigsten Systemkomponenten Limitierte Mikro-, Nanokernel Prozessverwaltung Interprozesskommunikation (Nachrichten) Oftmals nur minimale Speicherverwaltung, kein virtueller Speicher Kein Dateisystem (externe Programme) Keine Ein-/Ausgabe (Text, Grafik) Beispiele Mach (CMU), Topsy (ETHZ)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.