RW-SystemarchitekturKap. 8 1 Kapitel 9 Dateisysteme

  • Published on
    05-Apr-2015

  • View
    103

  • Download
    0

Embed Size (px)

Transcript

  • Folie 1
  • RW-SystemarchitekturKap. 8 1 Kapitel 9 Dateisysteme
  • Folie 2
  • RW-SystemarchitekturKap. 8 2 berblick Betriebssysteme 6 Einfhrung 7 Prozesse, Fden (threads), Scheduling 8. Speicherverwaltung 9 Dateisysteme 9.1 Benutzersicht 9.2 Implementierung 10 Ein- und Ausgabe 11 Nebenlufigkeit und wechselseitiger Ausschluss 12 Deadlocks
  • Folie 3
  • RW-SystemarchitekturKap. 8 3 9 Dateisysteme Eine der Grundaufgaben eines Betriebssystems: Dauerhaftes Speichern von Informationen Speichern von Daten auf externen Medien (Disketten, Festplatten). Datei Abstraktion des persistenten (dauerhaften) Speichers, insbesondere unabhngig vom Speichermedium. Organisationseinheiten auf externem Medium: Dateien (Files). Kleinste Einheit persistenten Speichers Datei; nichts kann man dauerhaft speichern auerhalb einer Datei. Dateisystem = Betriebssystemteil, der sich mit Dateien befasst
  • Folie 4
  • RW-SystemarchitekturKap. 8 4 berblick 9.1 Von Dateisystem angebotene Funktionalitt (Benutzer-Sicht) 9.2 Implementierung von Dateisystemen (interne Sicht)
  • Folie 5
  • RW-SystemarchitekturKap. 8 5 9.1 Externe Sicht auf Dateisysteme Aufgabe von Dateisystemen: Dauerhafte Speicherung von Daten auf Medien wie Festplatten, CDs usw. in Form benannter Objekte Konzept Bereiche auf dem Medium werden mit einem so genannten Dateisystem versehen Dateisystem stellt die Verwaltungsstruktur fr Objekte bereit Eigenschaften der Verwaltungsstruktur Hierarchische Strukturierung - Verzeichnisse mit enthaltenen Objekten Objekte: regulre Dateien (Files) Verzeichnisse Gertedateien Links (Hardlinks, Softlinks) Pipes,
  • Folie 6
  • RW-SystemarchitekturKap. 8 6 Benennung von Dateien Benennung durch Dateinamen Zugriff ber Namen Regeln fr Benennung variieren von System zu System Bsp.: MS-DOS: Dateinamen bestehen aus Eigentlichem Dateinamen (bis zu 8 Zeichen, beginnend mit Buchstaben) Dateierweiterung: bis zu 3 Zeichen Keine Unterscheidung zwischen Gro- und Kleinschreibung Z.B.: PROG.C, HALLO.TXT etc. UNIX / LINUX: Dateien bestehen aus Bis zu 255 beliebigen Zeichen (meistens) Dateierweiterung: nur Konvention, kein Bestandteil der Namensregeln Unterscheidung zwischen Gro- und Kleinschreibung Z.B.: prog.c, Prog.c, prog.c.Z etc. Pfadnamen Absolute: /usr/rw/sysarch/bs/dateisystem.pdf Relative: bs/dateisystem.pdf im Arbeitsverzeichnis (working directory) /usr/rw/bs
  • Folie 7
  • RW-SystemarchitekturKap. 8 7 Dateinamen Datenamen bleiben beim Kopieren, Verschicken etc. erhalten. Sie werden kreiert in Kontext eines Pfades, z.B. /users/RW/articles/echtzeit/predictability Typischerweise heit die LaTeX-Hauptquelldatei main.tex Die daraus erstellte Datei heit dann typischerweise main.pdf Ein Programmkommitee-Vorsitzender bekommt 150 Dateien eingereicht, die mit LaTeX erstellt wurden. Wie heien die wohl? Andere Beispiele: SpringerLink stellt Artikel zur Verfgung als Datei mit dem Namen fulltext.pdf IEEE ManuscriptCentral benennt etwa folgendermaen 12376129813987478023487.pdf
  • Folie 8
  • RW-SystemarchitekturKap. 8 8 Dateistruktur und Dateitypen Dateistruktur: ... in den meisten Systemen unstrukturierte Sequenz von Bytes Bedeutung der Bytes ergibt sich aus Benutzerprogramm (siehe Kodierung ! Kap. 2) Dateitypen: Regulre Dateien (Sequenzen von Bytes, Benutzerinformationen) Verzeichnisse: Systemdateien zur Strukturierung des Dateisystems Modellierung von E/A-Gerten: Spezielle Zeichendateien zur Modellierung serieller Gerte, z.B. Terminals, Drucker, Netzwerke Spezielle Blockdateien zur Modellierung blockbasierter Gerte, z.B. Disketten, Festplatten, CDs
  • Folie 9
  • RW-SystemarchitekturKap. 8 9 Dateiattribute (1) Dateiattribute - Zusatzinformationen ber Dateien, die das Betriebssystem speichert Beispiele: Entstehungszeitpunkt (Datum, Uhrzeit) Dateigre Zugriffsrechte: Wer darf in welcher Weise auf die Datei zugreifen? Zugriffsarten: Lesender Zugriff Schreibender Zugriff Ausfhrung Zugreifender Dateieigentmer Benutzergruppe des Dateieigentmers Alle Benutzer
  • Folie 10
  • RW-SystemarchitekturKap. 8 10 Dateiattribute (2) Sicht des Benutzers (Bsp. UNIX / LINUX): $ ls l drwxr-x--- 2 wilhelm RW-Flur 4096 2009-01-22 09:26 Betriebssysteme -rwxr----- 1 wilhelm RW-Flur 460684 2009-06-16 12:19 kap07.pdf -rwxr----- 1 wilhelm RW-Flur 380855 2009-06-24 10:06 kap08.pdf -rwxr----- 1 wilhelm RW-Flur 640512 2009-06-24 10:14 kap08.ppt -rwxr----- 1 wilhelm RW-Flur 2770944 2009-06-23 17:11 kap09.ppt Bedeutung der Felder: Typ des Eintrags: Datei, Verzeichnis Rechte fr Besitzer, Gruppenbesitzer, alle anderen Anzahl Eintrge (Verzeichnis), Anzahl Referenzen (Datei) Besitzer, Gruppenbesitzer Speicherplatzverbrauch Datum der letzten Modifikation Name
  • Folie 11
  • RW-SystemarchitekturKap. 8 11 Mgliche Dateiattribute
  • Folie 12
  • RW-SystemarchitekturKap. 8 12 Rechteverwaltung UNIX (1) Standardrechte fr Verzeichnisse und Dateien: Dateien r: Datei darf gelesen (read) werden w: Datei darf gendert (write) werden x: Datei darf als Programm ausgefhrt (execute) werden Verzeichnisse r: Der Inhalt des Verzeichnisses darf gelesen werden w: Der Inhalt des Verzeichnisses darf gendert werden: Dateien anlegen, umbenennen, lschen x: Man darf in das Verzeichnis wechseln und seine Objekte benutzen
  • Folie 13
  • RW-SystemarchitekturKap. 8 13 Rechteverwaltung UNIX (2) Sonderrechte: Notation der Ausgabe von ls : -rw s r- s --- und drwxrwxrw t Dateien: SUID-Prozess (set user id) luft unter der uid des Programmbesitzers SGID-Prozess (set group id) luft mit der gid des Programmgruppenbesitzers Verzeichnisse: SUID: Ohne Verwendung SGID: Neu angelegte Dateien gehren der Gruppe, der auch das Verzeichnis gehrt SVTX: Jeder darf nur lschen, was ihm gehrt.
  • Folie 14
  • RW-SystemarchitekturKap. 8 14 Rechteverwaltung UNIX (3) Beispiel SUID: -r-s--x--x root root /usr/bin/passwd Beim Aufruf von 'passwd' luft das Programm mit der uid des Besitzers (in dem Fall root). SUID-root-Programme sind sicherheitskritisch! Beispiel SVTX: drwxrwxrwt root root /tmp SVTX verhindert, dass jeder alles lschen darf.
  • Folie 15
  • RW-SystemarchitekturKap. 8 15 Verzeichnisse, Verzeichnisbaum Baumartige hierarchische Strukturierung Wurzelverzeichnis / Restliche Verzeichnisse baumartig angehngt: Absolute Pfade beginnen mit /, z.B. /home/meier Relative Pfade beginnen nicht mit /, z.B. schulze Relative Pfade beziehen sich auf ein aktuelles Arbeitsverzeichnis (working directory). Wechsel des aktuellen Arbeitsverzeichnisses durch cd / tmp etc var usr lib home bin man lib meier mueller schulze
  • Folie 16
  • RW-SystemarchitekturKap. 8 16 Verzeichnisse, Verzeichnisbaum Graphische Reprsentation unter Windows:
  • Folie 17
  • RW-SystemarchitekturKap. 8 17 Zusammenbau von Verzeichnisbumen Anhngen von Dateisystemen mount /dev/fd0 /home/rw/diskette Hngt Dateisystem in /dev/fd0 an das Verzeichnis /home/rw/diskette im bestehenden Verzeichnisbaum an Evtl. vorhandene Eintrge in /home/rw/diskette werden temporr verdeckt; nach Abhngen wieder zugreifbar Abhngen mit umount Geht nur, wenn keine Datei im angehngten Dateisystem geffnet ist.
  • Folie 18
  • RW-SystemarchitekturKap. 8 18 Links Zweck von Links: Ansprechen desselben Objekts mit mehreren Namen Beispiel 1: User meier befindet sich in Arbeitsverzeichnis /home/meier und will bequem auf ausfhrbare Datei /home/mueller/mytools/Text/Format/m_format zugreifen. Anlegen eines Links im Verzeichnis /home/meier : $ ln s /home/mueller/mytools/Text/Format/m_format m_format $ ls l m_format $ lrwxrwxrwx 1 meier users m_format -> /home/mueller/mytools/Te xt/Format/m_format Aufruf durch m_format in Verzeichnis /home/meier. Beispiel 2: Z.B. Aliase fr Gerte: '/dev/mouse' statt '/dev/psaux'
  • Folie 19
  • RW-SystemarchitekturKap. 8 19 Symbolische Links und Hardlinks (1) Symbolischer Link auf ein Referenzobjekt (kommt relativ hufig vor): $ ln -s datei1 datei2 Link ist Verzeichniseintrag mit anderem Namen fr Referenzobjekt. Lsche Referenzobjekt: Link zeigt ins Leere Lsche Link: Referenzobjekt unverndert Rechte am Link: wie beim Referenzobjekt Zulssiges Referenzobjekt: beliebiges Objekt im Dateibaum (absoluter / relativer Pfad) und beliebiger Name Symbolische Links machen aus dem Dateibaum einen gerichteten, azyklischen Graphen Technische Realisierung: siehe spter
  • Folie 20
  • RW-SystemarchitekturKap. 8 20 Symbolische Links und Hardlinks (2) Hardlink (relativ selten benutzt): $ ln datei1 datei2 Link erstellt Eintrag mit weiterem Namen fr Dateiobjekt Es gibt einen Linkzhler: Dateiobjekt mit n Hardlinks hat Linkzhler n+1. Lschen eines Links: Dekrementieren des Linkzhlers Lschen des Dateiobjekts: Dekrementieren des Linkzhlers Dateiobjekt wird erst dann wirklich gelscht, wenn Linkzhler auf 0. Zulssiges Referenzobjekt: Dateiobjekt im selben Dateisystem. Technische Realisierung: spter.
  • Folie 21
  • RW-SystemarchitekturKap. 8 21 Kopieren von Links Beispiel: $ ls -l -rw-r----- 2 meier users datei1 lrwxrwxrwx 1 meier users datei2 -> datei1 -rw-r----- 2 meier users datei3 $ cp datei? /tmp ; ls -l /tmp -rw-r----- 1 meier users datei1 -rw-r----- 1 meier users datei2 -rw-r----- 1 meier users datei3 Bei allen Kommandos prfen, wie sie Links behandeln!
  • Folie 22
  • RW-SystemarchitekturKap. 8 22 Dateizugriff Sequentieller Zugriff: Alle Bytes einer Datei knnen nur nacheinander vom Anfang beginnend gelesen werden. Kein berspringen Zurckspulen mglich Random-Access-Dateien (Dateien mit wahlfreiem Zugriff): Lesen erfolgt von der gerade aktuellen Position Beliebiges Festlegen der aktuellen Position durch Seek -Operation mglich
  • Folie 23
  • RW-SystemarchitekturKap. 8 23 Mgliche Operationen auf Dateien Operationen entsprechen Systemaufrufen des Betriebssystems: Create : Erzeugen Delete : Lschen Open : ffnen Close : Schlieen Read : Lesen von aktueller Position Write : Schreiben an aktuelle Position Append : Anhngen an Dateiende Seek : Bei Random-Access-Dateien aktuelle Position bestimmen Get attributes : Lesen der Dateiattribute Set attributes : Verndern der Dateiattribute Rename : Umbenennen
  • Folie 24
  • RW-SystemarchitekturKap. 8 24 Mgliche Operationen auf Verzeichnissen Operationen entsprechen Systemaufrufen des Betriebssystems: Create : Erzeugen Delete : Lschen Opendir : ffnen Closedir : Schlieen Readdir : Nchsten Verzeichniseintrag lesen Get attributes : Lesen der Verzeichnisattribute Set attributes : Verndern der Verzeichnisattribute Rename : Umbenennen Kein Write. Verzeichniseintrge werden nur geschrieben bei Create etc. auf Dateien.
  • Folie 25
  • RW-SystemarchitekturKap. 8 25 9.2 Implementierung von Dateisystemen Dateisystem z.B. auf Festplatte: Festplatte besteht aus mehreren Platten: Platten eingeteilt in Sektoren, alle Sektoren der Festplatte durchnummeriert, z.B.: 0 1 2 3 4 5 etc., etc.
  • Folie 26
  • RW-SystemarchitekturKap. 8 26 Layout eines Dateisystems (1) Sektor 0 der Platte enthlt MBR (Master Boot Record). Verwendet beim Booten Partitionstabelle mit Anfangs- und Endadresse jeder Partition Eine aktive Partition Bootvorgang: BIOS liest MBR ein. Lokalisierung der aktiven Partition Einlesen und Ausfhren des Bootblocks der aktiven Partition Bootblock enthlt Betriebssystem, d.h. Starten des Betriebssystems! MBR Partitionstabelle Plattenpartition Bootblock SuperblockFreispeicherverw.I-NodesDatenblcke Ganze Platte
  • Folie 27
  • RW-SystemarchitekturKap. 8 27 Layout eines Dateisystems (2) Bootblock ldt Dateisystem der Partition. Superblock des Dateisystems enthlt Schlsselparameter des Dateisystems (z.B. Schreibschutzmarkierung, Name des Dateisystemtyps etc.). Freispeicherverwaltung: Informationen ber freie Blcke im Dateisystem I-Nodes: Liste von Datenstrukturen Eine Datenstruktur pro Datei mit wesentlichen Informationen ber Datei Datenblcke: Eigentliche Inhalte der Dateien. MBR Partitionstabelle Plattenpartition Bootblock SuperblockFreispeicherverw.I-NodesDatenblcke Ganze Platte
  • Folie 28
  • RW-SystemarchitekturKap. 8 28 Realisierung von Dateien 3 verschiedene Alternativen zur Realisierung von Dateien: Zusammenhngende Belegung Belegung durch verkettete Listen I-Nodes
  • Folie 29
  • RW-SystemarchitekturKap. 8 29 Realisierung von Dateien - Zusammenhngende Belegung (1) Abspeicherung von Dateien als zusammenhngende Menge von Plattenblcken:
  • Folie 30
  • RW-SystemarchitekturKap. 8 30 Realisierung von Dateien - Zusammenhngende Belegung (2) Abspeicherung von Dateien als zusammenhngende Menge von Plattenblcken: Vorteil bzgl. Lesegeschwindigkeit! Datei ADatei CDatei EDatei G Datei BDatei DDatei F
  • Folie 31
  • RW-SystemarchitekturKap. 8 31 Realisierung von Dateien - Zusammenhngende Belegung (2) Situation nach Lschen von D und F: Fragmentierung der Platte! Verschiebung der Blcke? Verwaltung der entstehenden Lcher in Freilisten? Was passiert, wenn man eine Datei erzeugt, deren Gre aber noch unbekannt ist? Zusammenhngende Belegung im allgemeinen keine gute Idee! Aber: Benutzt bei Spezialfllen wie Dateisystemen fr CD-ROMs Datei ADatei CDatei EDatei G Datei B
  • Folie 32
  • RW-SystemarchitekturKap. 8 32 Realisierung von Dateien Belegung durch verkettete Listen (1) Idee: Speichere Dateien als verkettete Listen von Plattenblcken Variante 1: Datei A: Datei B: Datei- block 0 Datei- block 1 Datei- block 2 Datei- block 3 Datei- block 4 Plattenblock 4 7 2 10 12 Datei- block 0 Datei- block 1 Datei- block 2 Datei- block 3 Plattenblock 6 3 11 14
  • Folie 33
  • RW-SystemarchitekturKap. 8 33 Realisierung von Dateien Belegung durch verkettete Listen (2) Datei A: Datei B: Vorteile: Keine Fragmentierung Sequentielles Lesen: Ok.! Nachteil: Problem bei wahlfreiem Zugriff auf Block n: n-1 Lesezugriffe auf die Platte, um Block n zu lokalisieren Datei- block 0 Datei- block 1 Datei- block 2 Datei- block 3 Datei- block 4 Plattenblock 4 7 2 10 12 Datei- block 0 Datei- block 1 Datei- block 2 Datei- block 3 Plattenblock 6 3 11 14
  • Folie 34
  • RW-SystemarchitekturKap. 8 34 Realisierung von Dateien Belegung durch verkettete Listen (3) Idee fr Variante 2: Halte Information ber Verkettung der Blcke im Hauptspeicher ) Ersetze bei wahlfreiem Zugriff Plattenzugriffe durch (schnellere) Hauptspeicherzugriffe Datei-Allokationstabelle bzw. FAT im Hauptspeicher Methode benutzt in MS-DOS (FAT-12, FAT-16, FAT-32) Windows 95, Windows 98 (FAT-32) Windows 2000 (FAT-32, daneben aber auch NTFS = NT File System)
  • Folie 35
  • RW-SystemarchitekturKap. 8 35 Realisierung von Dateien Belegung durch verkettete Listen (4) FAT: Datei- block 0 Datei- block 1 Datei- block 2 Datei- block 3 Datei- block 4 Plattenblock 4 7 2 10 12 Datei- block 0 Datei- bloc...

Recommended

View more >