Kapitel 9 Dateisysteme RW-Systemarchitektur Kap. 8.

Slides:



Advertisements
Ähnliche Präsentationen
Ext2. Geschichte Minixerhebliche Beschränkungen extfs ext2erstmals aufhebung aller drängenden Beschränkungen ext3erweiterung um Journaling.
Advertisements

Imperative Programmierung
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Ausführen.
Die Schulkonsole für Lehrerinnen und Lehrer
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Informatik Tagesprotokoll vom
Software Von Webmaster Mario.
Lehrmaterial Grundlagen EDV
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Dateisysteme Was sind Dateisysteme (Definition)
SAP R/3 - Speichermanagement
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10.
Systeme 1 Kapitel 3 Dateisysteme.
Java: Dynamische Datentypen
Indirekte Adressierung
PS: Basisinformationstechnologie Jens Alvermann
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Dateisysteme.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
UNIX-Dateisystem Vortrag: Ronny Kuhnert am
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Was ist ein Dateisystem?
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
20:00.
Die Geschichte von Rudi
Selbsttest zum Modul 2 Informationstechnik
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Vergleich PPT 2002 / 2003 zu PPT 2007 Zunächst erscheint PPT 2002 / 03 - durch klicken auf kann dann der Vergleich zur Version 2007 aufgerufen werden.
TWS/Graph HORIZONT Produktionsüberwachung für “TWS for z/OS”
Syntaxanalyse Bottom-Up und LR(0)
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
Vergleich Windows – Linux I
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
PROCAM Score Alter (Jahre)
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Einführung in 2 Betriebssysteme
Symmetrische Blockchiffren DES – der Data Encryption Standard
Bs Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Studiengang Informatik FHDW
DATEISPEICHER in der S P S
Einführungstutorial: Linux Konsole
CD-& DVD-Laufwerk Laufwerk(Computer) CD-ROM-Laufwerk DVD
Formulare in HTML.
Es war einmal ein Haus
Dokumente meistern Dokumente anlegen Dokumente speichern
Ein Vortrag von Marcel Siegert und Philipp Hoffmann
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Andrew S. Tanenbaum – Moderne Betriebssysteme
6.2 Repräsentation auf Platten
Das Betriebssystem Linux
 Präsentation transkript:

Kapitel 9 Dateisysteme RW-Systemarchitektur Kap. 8

Überblick Betriebssysteme 6 Einführung 7 Prozesse, Fäden (threads), Scheduling 8. Speicherverwaltung 9 Dateisysteme 9.1 Benutzersicht 9.2 Implementierung 10 Ein- und Ausgabe 11 Nebenläufigkeit und wechselseitiger Ausschluss 12 Deadlocks RW-Systemarchitektur Kap. 8

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 unabhängig vom Speichermedium. Organisationseinheiten auf externem Medium: Dateien (Files). Kleinste Einheit persistenten Speichers – Datei; nichts kann man dauerhaft speichern außerhalb einer Datei. Dateisystem = Betriebssystemteil, der sich mit Dateien befasst RW-Systemarchitektur Kap. 8

Überblick 9.1 Von Dateisystem angebotene Funktionalität (Benutzer-Sicht) 9.2 Implementierung von Dateisystemen (interne Sicht) RW-Systemarchitektur Kap. 8

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 für Objekte bereit Eigenschaften der Verwaltungsstruktur Hierarchische Strukturierung - Verzeichnisse mit enthaltenen Objekten Objekte: „reguläre“ Dateien (Files) Verzeichnisse „Gerätedateien“ Links (Hardlinks, Softlinks) Pipes, … RW-Systemarchitektur Kap. 8

Benennung von Dateien Benennung durch Dateinamen Zugriff über Namen Regeln für 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 RW-Systemarchitektur Kap. 8

Dateinamen Datenamen bleiben beim Kopieren, Verschicken etc. erhalten. Sie werden kreiert in Kontext eines Pfades, z.B. /users/RW/articles/echtzeit/predictability Typischerweise heißt die LaTeX-Hauptquelldatei main.tex Die daraus erstellte Datei heißt dann typischerweise main.pdf Ein Programmkommitee-Vorsitzender bekommt 150 Dateien eingereicht, die mit LaTeX erstellt wurden. Wie heißen die wohl? Andere Beispiele: SpringerLink stellt Artikel zur Verfügung als Datei mit dem Namen fulltext.pdf IEEE ManuscriptCentral benennt etwa folgendermaßen 12376129813987478023487.pdf RW-Systemarchitektur Kap. 8

Dateistruktur und Dateitypen ... in den meisten Systemen unstrukturierte Sequenz von Bytes Bedeutung der Bytes ergibt sich aus Benutzerprogramm (siehe Kodierung ! Kap. 2) Dateitypen: Reguläre Dateien (Sequenzen von Bytes, Benutzerinformationen) Verzeichnisse: Systemdateien zur Strukturierung des Dateisystems Modellierung von E/A-Geräten: Spezielle Zeichendateien zur Modellierung serieller Geräte, z.B. Terminals, Drucker, Netzwerke Spezielle Blockdateien zur Modellierung blockbasierter Geräte, z.B. Disketten, Festplatten, CDs RW-Systemarchitektur Kap. 8

Dateiattribute (1) Dateiattribute - Zusatzinformationen über Dateien, die das Betriebssystem speichert Beispiele: Entstehungszeitpunkt (Datum, Uhrzeit) Dateigröße Zugriffsrechte: Wer darf in welcher Weise auf die Datei zugreifen? Zugriffsarten: Lesender Zugriff Schreibender Zugriff Ausführung Zugreifender Dateieigentümer Benutzergruppe des Dateieigentümers Alle Benutzer RW-Systemarchitektur Kap. 8

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 für Besitzer, Gruppenbesitzer, alle anderen Anzahl Einträge (Verzeichnis), Anzahl Referenzen (Datei) Besitzer, Gruppenbesitzer Speicherplatzverbrauch Datum der letzten Modifikation Name RW-Systemarchitektur Kap. 8

Mögliche Dateiattribute RW-Systemarchitektur Kap. 8

Rechteverwaltung UNIX (1) Standardrechte für Verzeichnisse und Dateien: Dateien „r“: Datei darf gelesen (read) werden „w“: Datei darf geändert (write) werden „x“: Datei darf als Programm ausgeführt (execute) werden Verzeichnisse „r“: Der Inhalt des Verzeichnisses darf gelesen werden „w“: Der Inhalt des Verzeichnisses darf geändert werden: Dateien anlegen, umbenennen, löschen „x“: Man darf in das Verzeichnis wechseln und seine Objekte benutzen RW-Systemarchitektur Kap. 8

Rechteverwaltung UNIX (2) Sonderrechte: Notation der Ausgabe von ls: -rwsr-s--- und drwxrwxrwt Dateien: SUID-Prozess (set user id) läuft unter der uid des Programmbesitzers SGID-Prozess (set group id) läuft mit der gid des Programmgruppenbesitzers Verzeichnisse: SUID: Ohne Verwendung SGID: Neu angelegte Dateien gehören der Gruppe, der auch das Verzeichnis gehört SVTX: Jeder darf nur löschen, was ihm gehört. RW-Systemarchitektur Kap. 8

Rechteverwaltung UNIX (3) Beispiel SUID: -r-s--x--x … root root … /usr/bin/passwd Beim Aufruf von 'passwd' läuft 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 löschen darf. RW-Systemarchitektur Kap. 8

Verzeichnisse, Verzeichnisbaum Baumartige hierarchische Strukturierung Wurzelverzeichnis / Restliche Verzeichnisse baumartig angehängt: „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 RW-Systemarchitektur Kap. 8

Verzeichnisse, Verzeichnisbaum Graphische Repräsentation unter Windows: RW-Systemarchitektur Kap. 8

Zusammenbau von Verzeichnisbäumen Anhängen von Dateisystemen mount /dev/fd0 /home/rw/diskette Hängt Dateisystem in /dev/fd0 an das Verzeichnis /home/rw/diskette im bestehenden Verzeichnisbaum an Evtl. vorhandene Einträge in /home/rw/diskette werden temporär verdeckt; nach Abhängen wieder zugreifbar Abhängen mit umount Geht nur, wenn keine Datei im angehängten Dateisystem geöffnet ist. RW-Systemarchitektur Kap. 8

Links Zweck von Links: Beispiel 1: Beispiel 2: Ansprechen desselben Objekts mit mehreren Namen Beispiel 1: User meier befindet sich in Arbeitsverzeichnis /home/meier und will bequem auf ausführbare 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/Text/Format/m_format Aufruf durch m_format in Verzeichnis /home/meier. Beispiel 2: Z.B. Aliase für Geräte: '/dev/mouse' statt '/dev/psaux' RW-Systemarchitektur Kap. 8

Symbolische Links und Hardlinks (1) Symbolischer Link auf ein Referenzobjekt (kommt relativ häufig vor): $ ln -s datei1 datei2 Link ist Verzeichniseintrag mit anderem Namen für Referenzobjekt. Lösche Referenzobjekt: Link zeigt ins Leere Lösche Link: Referenzobjekt unverändert Rechte am Link: wie beim Referenzobjekt Zulässiges Referenzobjekt: beliebiges Objekt im Dateibaum (absoluter / relativer Pfad) und beliebiger Name Symbolische Links machen aus dem Dateibaum einen gerichteten, azyklischen Graphen Technische Realisierung: siehe später RW-Systemarchitektur Kap. 8

Symbolische Links und Hardlinks (2) Hardlink (relativ selten benutzt): $ ln datei1 datei2 Link erstellt Eintrag mit weiterem Namen für Dateiobjekt Es gibt einen Linkzähler: Dateiobjekt mit n Hardlinks hat Linkzähler n+1. Löschen eines Links: Dekrementieren des Linkzählers Löschen des Dateiobjekts: Dekrementieren des Linkzählers Dateiobjekt wird erst dann wirklich gelöscht, wenn Linkzähler auf 0. Zulässiges Referenzobjekt: Dateiobjekt im selben Dateisystem. Technische Realisierung: später. RW-Systemarchitektur Kap. 8

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 prüfen, wie sie Links behandeln! RW-Systemarchitektur Kap. 8

Dateizugriff Sequentieller Zugriff: Alle Bytes einer Datei können nur nacheinander vom Anfang beginnend gelesen werden. Kein Überspringen Zurückspulen möglich Random-Access-Dateien (Dateien mit wahlfreiem Zugriff): Lesen erfolgt von der gerade aktuellen Position Beliebiges Festlegen der aktuellen Position durch Seek-Operation möglich RW-Systemarchitektur Kap. 8

Mögliche Operationen auf Dateien Operationen entsprechen Systemaufrufen des Betriebssystems: Create: Erzeugen Delete: Löschen Open: Öffnen Close: Schließen Read: Lesen von aktueller Position Write: Schreiben an aktuelle Position Append: Anhängen an Dateiende Seek: Bei Random-Access-Dateien aktuelle Position bestimmen Get attributes: Lesen der Dateiattribute Set attributes: Verändern der Dateiattribute Rename: Umbenennen RW-Systemarchitektur Kap. 8

Mögliche Operationen auf Verzeichnissen Operationen entsprechen Systemaufrufen des Betriebssystems: Create: Erzeugen Delete: Löschen Opendir: Öffnen Closedir: Schließen Readdir: Nächsten Verzeichniseintrag lesen Get attributes: Lesen der Verzeichnisattribute Set attributes: Verändern der Verzeichnisattribute Rename: Umbenennen Kein Write. Verzeichniseinträge werden nur geschrieben bei Create etc. auf Dateien. RW-Systemarchitektur Kap. 8

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.: 1 2 3 4 5 etc., etc. RW-Systemarchitektur Kap. 8

Layout eines Dateisystems (1) Ganze Platte Partitionstabelle Plattenpartition MBR Bootblock Superblock Freispeicherverw. I-Nodes Datenblöcke Sektor 0 der Platte enthält 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 Ausführen des Bootblocks der aktiven Partition Bootblock enthält Betriebssystem, d.h. Starten des Betriebssystems! RW-Systemarchitektur Kap. 8

Layout eines Dateisystems (2) Ganze Platte Partitionstabelle Plattenpartition MBR Bootblock Superblock Freispeicherverw. I-Nodes Datenblöcke Bootblock lädt Dateisystem der Partition. Superblock des Dateisystems enthält Schlüsselparameter des Dateisystems (z.B. Schreibschutzmarkierung, Name des Dateisystemtyps etc.). Freispeicherverwaltung: Informationen über freie Blöcke im Dateisystem I-Nodes: Liste von Datenstrukturen Eine Datenstruktur pro Datei mit wesentlichen Informationen über Datei Datenblöcke: Eigentliche Inhalte der Dateien. RW-Systemarchitektur Kap. 8

Realisierung von Dateien 3 verschiedene Alternativen zur Realisierung von Dateien: Zusammenhängende Belegung Belegung durch verkettete Listen I-Nodes RW-Systemarchitektur Kap. 8

Realisierung von Dateien - Zusammenhängende Belegung (1) Abspeicherung von Dateien als zusammenhängende Menge von Plattenblöcken: RW-Systemarchitektur Kap. 8

Realisierung von Dateien - Zusammenhängende Belegung (2) Abspeicherung von Dateien als zusammenhängende Menge von Plattenblöcken: Vorteil bzgl. Lesegeschwindigkeit! … Datei A Datei C Datei E Datei G Datei B Datei D Datei F RW-Systemarchitektur Kap. 8

Realisierung von Dateien - Zusammenhängende Belegung (2) Situation nach Löschen von D und F: Fragmentierung der Platte! Verschiebung der Blöcke? Verwaltung der entstehenden Löcher in Freilisten? Was passiert, wenn man eine Datei erzeugt, deren Größe aber noch unbekannt ist? Zusammenhängende Belegung im allgemeinen keine gute Idee! Aber: Benutzt bei Spezialfällen wie Dateisystemen für CD-ROMs … Datei A Datei C Datei E Datei G Datei B RW-Systemarchitektur Kap. 8

Realisierung von Dateien – Belegung durch verkettete Listen (1) Idee: Speichere Dateien als verkettete Listen von Plattenblöcken 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 RW-Systemarchitektur Kap. 8

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 RW-Systemarchitektur Kap. 8

Realisierung von Dateien – Belegung durch verkettete Listen (3) Idee für Variante 2: Halte Information über Verkettung der Blöcke 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) RW-Systemarchitektur Kap. 8

Realisierung von Dateien – Belegung durch verkettete Listen (4) Datei-block 0 Datei-block 1 Datei-block 2 Datei-block 3 Datei-block 4 Plattenblock 4 7 2 10 12 Plattenblock 6 3 11 14 Datei A: Datei B: FAT: Plattenblock 0 Plattenblock 1 Plattenblock 2 Plattenblock 3 Plattenblock 4 Plattenblock 5 Plattenblock 6 Plattenblock 7 Plattenblock 8 Plattenblock 9 Plattenblock 10 Plattenblock 11 Plattenblock 12 Plattenblock 13 Plattenblock 14 Plattenblock 15 10 11 7 3 2 12 14 -1 Beginn Datei A Beginn Datei B RW-Systemarchitektur Kap. 8

Realisierung von Dateien – Belegung durch verkettete Listen (5) Vorteil: Da FAT im Hauptspeicher abgelegt, muss bei wahlfreiem Zugriff auf Block n nur eine Kette von Verweisen im Hauptspeicher verfolgt werden Nachteil: Größe der FAT im Speicher! Anzahl der Einträge = Gesamtzahl der Plattenblöcke Auch wenn Platte fast komplett unbelegt! Beobachtung: Man braucht Verkettung der Plattenblöcke nur für aktuell bearbeitete Dateien! ) I-Node-Konzept (UNIX, LINUX) RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (1) Zu jeder Datei gehört eine Datenstruktur, der sog. I-Node (Index-Node) I-Node ermöglicht Zugriff auf alle Blöcke der Datei. I-Node muss nur dann im Speicher sein, wenn Datei offen ist. Wenn k Dateien offen sind und ein I-Node n Bytes benötigt, dann nur k ¢ n Bytes insgesamt. Einfaches Beispiel: … RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (2) Dateiattribute Adresse von Plattenblock 0 Adresse von Plattenblock 1 Adresse von Plattenblock 2 Bsp.: UNIX System V I-Node einer Datei enthält Alle Attribute der Datei m Adressen von Plattenblöcken (UNIX System V: m = 10) Adresse von Plattenblock 3 Adresse von Plattenblock 4 Adresse von Plattenblock 5 Adresse von Plattenblock 6 Adresse von Plattenblock 7 Adresse von Plattenblock 8 Adresse von Plattenblock 9 Zeiger auf Block mit weiteren Adressen (einfach indirekt) Zeiger auf Block mit weiteren Adressen (zweifach indirekt) Zeiger auf Block mit weiteren Adressen (dreifach indirekt) RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (3) Kleine Dateien bis 10 x 1 KByte (bei Blockgröße 1 KByte): Datenblock 0 Datenblock 1 Datenblock 2 Zeiger 0 Datenblock 3 Zeiger 1 Datenblock 4 Zeiger 2 Datenblock 5 Zeiger 3 Datenblock 6 Zeiger 4 Datenblock 7 Zeiger 5 Datenblock 8 Zeiger 6 Datenblock 9 Zeiger 7 Zeiger 8 Zeiger 9 RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (4) Für größere Dateien werden Datenblöcke zur Speicherung von weiteren Plattenadressen genutzt Bsp.: Blockgröße 1 KByte Größe eines Zeigers auf Plattenblock: 4 Byte ) 256 Zeiger passen in einen Plattenblock Nach 10 (direkten) Plattenadressen gibt es im I-Node Zeiger auf Block mit 256 weiteren Plattenadressen ) Insgesamt Dateien bis zu (10 + 256) x 1 KByte = 266 KByte möglich. RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (4) Dateiattribute Adresse von Plattenblock 0 Adresse von Plattenblock 1 Adresse von Plattenblock 2 Adresse von Plattenblock 3 Adresse von Plattenblock 4 Adresse von Plattenblock 5 Adresse von Plattenblock 6 Adresse von Plattenblock 7 Adresse von Plattenblock 8 Adresse von Plattenblock 9 Adresse von Plattenblock 10 Zeiger auf Block mit weiteren Adressen (einfach indirekt) Insgesamt 256 weitere Adressen in indirekt verbundenem Datenblock … … RW-Systemarchitektur Kap. 8 Adresse von Plattenblock 266

Realisierung von Dateien – I-Nodes (5) Noch größere Dateien: Einfach indirekter Block Dateiattribute Adresse von Plattenblock 0 Adressen von Plattenblöcken Adresse von Plattenblock 1 Adresse von Plattenblock 2 Adresse von Plattenblock 3 Adresse von Plattenblock 4 Adresse von Plattenblock 5 Adresse von Plattenblock 6 Adresse von Plattenblock 7 Doppelt indirekter Block Adresse von Plattenblock 8 Adresse von Plattenblock 9 Zeiger auf Block mit weiteren Adressen (einfach indirekt) Dreifach indirekter Block Zeiger auf Block mit weiteren Adressen (zweifach indirekt) Zeiger auf Block mit weiteren Adressen (dreifach indirekt) RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (6) Bei Blockgröße 1 KB und Zeigergröße 4 Byte erhält man über doppelt indirekten Block 256 x 256 = 65536 Zeiger auf Datenblöcke. Zusätzlich noch dreifach indirekter Block … Frage: Wie groß ist mit diesen Parametern die maximale Dateigröße? RW-Systemarchitektur Kap. 8

Realisierung von Dateien – I-Nodes (7) Attributinformationen in I-Nodes: Bsp. UNIX System V RW-Systemarchitektur Kap. 8

Realisierung von Verzeichnissen (1) Verzeichnisse sind ebenfalls Dateien! Sie liefern eine Abbildung von Datei- bzw. Verzeichnisnamen auf I-Node-Nummern. ) Jeder Verzeichniseintrag ist ein Paar aus Name und I-Node-Nummer. Über I-Nodes kommt man dann zu Dateiinhalten. RW-Systemarchitektur Kap. 8

Realisierung von Verzeichnissen (2) / tmp etc var usr lib home bin man lib meier mueller schulze games mail news work I-Node von mueller . 7 I-Node von home .. 3 games 45 I-Node Nr. 45 mail 76 I-Node Nr. 76 news 9 I-Node Nr. 9 RW-Systemarchitektur work 14 Kap. 8 I-Node Nr.14

Verwaltung freier Plattenblöcke (1) Datenblöcke im Dateisystem an beliebigen Stellen genutzt. Nicht notwendigerweise aufeinander folgend. Verwaltung freier Blöcke: Über Freibereichsliste als verkettete Liste: Speichere Nummern von freien Plattenblöcken Benutze zum Speichern der Nummern freie Plattenblöcke, die miteinander verkettet werden Bitmap Bitmap mit 1 Bit für jeden Plattenblock Plattenblock frei , entsprechendes Bit = 1 RW-Systemarchitektur Kap. 8

Verwaltung freier Plattenblöcke (2) RW-Systemarchitektur Kap. 8

Verwaltung freier Plattenblöcke (3) Wann ist welche Freispeicherverwaltung günstiger? Weitere Möglichkeit: Blockung zusammenhängender Bereiche – wann günstig? Eventuelles Problem? RW-Systemarchitektur Kap. 8

Belegung des Dateisystems Belegung gegeben durch Anzahl genutzter I-nodes und Datenblöcke. Dateisystem voll, wenn Keine I-Nodes mehr frei oder Keine Datenblöcke mehr frei. Überprüfung mittels df: $ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hda2 64512 6437 58075 10% / /dev/hda1 6024 33 5991 1% /boot /dev/hda5 500960 76638 424322 16% /usr RW-Systemarchitektur Kap. 8

Implementierung von Hardlinks $ ls –l -rw-r----- 1 meier users … datei1 $ ln datei1 datei2 -rw-r----- 2 meier users … datei1 -rw-r----- 2 meier users … datei2 datei1 71 I-Node Nr. 71 linkcount = 2 datei2 71 RW-Systemarchitektur Kap. 8

Implementierung symbolischer Links $ ls –l -rw-r----- 1 meier users … datei1 $ ln –s datei1 datei2 -rw-r----- 1 meier users ... datei1 lrwxrwxrwx 1 meier users ... datei2 -> datei1 I-Node Nr. 71 datei1 71 datei2 39 datei1 I-Node Nr. 39 Datenblock einer neuen Datei vom Typ LINK, enthält Pfadnamen „datei1“ RW-Systemarchitektur Kap. 8

Steigerung der Leistungsfähigkeit Festplatten-Cache zur Beschleunigung von Leseoperationen, Jeder lesende Zugriff führt zum Laden in den Cache, Prüfung auf Anwesenheit über Hash-Tabelle, Ersetzungsstrategien modifiziertes LRU, um Zugriffshäufigkeit auszunutzen und Konsistenzgefahren zu verkleinern. Für Konsistenz wichtige Blöcke sofort zurück schreiben, Blöcke, die nicht bald wieder zugegriffen werden, z.B. I-nodes, als alt kennzeichnen. RW-Systemarchitektur Kap. 8

Steigerung der Leistungsfähigkeit (2) Reduzieren der Plattenarm-Bewegung Woraus besteht ein Zugriff auf einen Plattenblock? Suchzeit (seek time) – Bewegung des Arms bis zum verlangten Zylinder, Rotationsverzögerung (rotation delay) – Zeit zum Erreichen des verlangten Sektors, Datentransferzeit – Zeit für die Übertragung der verlangten Daten. Meist dominiert die Suchzeit. Mögliche Effizienzsteigerung: Tabelle, indiziert mit Zylindernummer, enthalten Köpfe von verketteten Listen anstehender Zugriffe auf den jeweiligen Zylinder. Nächster Zugriff wird mit Strategie Shortest Seek First ausgewählt. Problem: Fairness Abhilfe: Aufzugsalgorithmus – ein Bit für Up/Down RW-Systemarchitektur Kap. 8

Zusammenfassung Objekte zur Datenspeicherung werden meist in Verzeichnisbäumen in Form von Dateieinträgen verwaltet. Dateien und Verzeichnisse vom Dateisystem bereitgestellt Der Verzeichnisbaum wird aus mehreren Dateisystemen zusammengebaut Links erzeugen neue Verweise auf (vorhandene) Objekte Verschiedene Implementierungsvarianten für Dateisysteme Unterschiede liegen in Effizienz (Speicher und Laufzeit) Geeignete Wahl des Dateisystems bestimmt durch Eigenschaften des physikalischen Speichermediums. RW-Systemarchitektur Kap. 8