Verzeichnisbaum. Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt

Ähnliche Dokumente
Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Maren Bennewitz

Wiederholung: Realisierung von Dateien

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard

Systeme I: Betriebssysteme Wiederholung wichtiger Inhalte der Kapitel 3-7. Maren Bennewitz

Betriebssysteme 1. Thomas Kolarz. Folie 1

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard

Systeme I: Betriebssysteme Übungsblatt 3

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Dateisysteme. Was ist ein Dateisystem?:

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Dateisysteme. Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. c~åüüçåüëåüìäé açêíãìåç

Dateisystem: Einführung

Dateisystem: Einführung

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

Einführung FAT - File Allocation Table NTFS - New Technology Filesystem HFS - Hierachical Filesystem ext - Extended Filesystem Zusammenfassung

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Systeme I: Betriebssysteme Wiederholung wichtiger Inhalte der Kapitel 3-7. Maren Bennewitz

Raimund Kirner, Peter Puschner 1

E.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Technische Informatik II. SoSe 2014 Jörg Kaiser IVS EOS

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag.

Dateisystem: Einführung

Dateisystem: Einführung

UEFI. Unified Extensible Firmware Interface UEFI. OSP 2015 UEFI Rene Brothuhn Seite: 1

6.2 FAT32 Dateisystem

Grundlagen der Dateisysteme. Daniel Lieck

Halt! Wo bin ich überhaupt?... C:\

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1

Was ist ein Dateisystem? Wozu dient es? Lokale Dateisysteme. Speichergrößen. Inhalt der Präsentation

Einführung in Dateisysteme

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

Dateisystem 1, Suchpfad, Befehlstypen

Einführung in Dateisysteme

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

File Management. Peter Puschner Institut für Technische Informatik

6.1.5 Verzeichnisdateien

Dateisysteme und Links

Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard

4.1 Datenträger/Partitionen

Leichtgewichtsprozesse

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

Implementierung von Dateisystemen

Grundlagen der Dateisysteme. Daniel Lieck

Einführung. Datei Verwaltung. Datei Verwaltung. Einführung. Einführung. Einführung. Einführung. Datei Verwaltung. Puffer Cache Verwaltung

Freispeicherverwaltung

GJU IT-forensics course

BACKUP Datensicherung unter Linux

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme.

Moderne Betriebssysteme. 4., aktualisierte Aulage. Andrew S. Tanenbaum Herbert Bos

OPERATIONEN AUF EINER DATENBANK

Grundlagen der Informatik für Ingenieure I. Background: 4. Dateisystem/Betriebssystemschnittstelle

Partitionierung unter Linux

Partitionieren und Formatieren

Computer-Systeme. Teil 16: Dateisysteme

18.1 Überblick Überblick (3)

Dateisystem. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero

5. Dateisysteme. Überblick. 5.3 Verwaltung des Plattenspeichers und Leistungsaspekte. 5.1 Grundlagen über Dateien und Verzeichnisse

Betriebssysteme I WS 2014/2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

Freispeicherverwaltung Martin Wahl,

Varianten der CD-ROM (Philips, Orange Book, 1988) Kapazität: 4.7 GByte (einseitig), 9.4 GByte (zweiseitig)

Ein einfaches Dateisystem

2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Linux booten. Jörg Ahrens

Update eines XENTRY Connect über einen USB-Datenträger

Systemprogrammierung

ASUS Disk Unlocker Anleitung

KV Betriebssysteme (Rudolf Hörmanseder, Michael Sonntag, Andreas Putzinger)

Das ext2-dateisystem

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Installationshinweise Linux Kubuntu 9.04 bei Verwendung des PC-Wächter

UNIX-Dateisysteme - Allgemeines

Systemprogrammierung. Speicherung von Dateien. Freispeicherverwaltung. Beispiele: Dateisysteme unter UNIX und Windows. Dateisysteme mit Fehlererholung

7.2 Journaling-File-Systems (4)

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Betriebssysteme (BS)

Implementierung von Dateisystemen

Multibooting mit Windows 2000 und Windows XP

Digital Forensics. Slackspace DI Robert Jankovics DI Martin Mulazzani

Lokales Storage Teil 2

Win10. Projekt. August update: 26. August 2017 um 17:44

FLASH. Hermann Härtig, TU Dresden. Betriebssysteme WS 2015, Dateisysteme 1

5. Dateisysteme. 5.1 Definition Dateisystem

Lokales Storage Teil 1

Kapitel 15: Dateien und Dateisystem

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

3 Master File Table (2)

Transkript:

Verzeichnisbaum Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt / tmp etc var usr lib home bin man lib meier mueller schulze 1

Verzeichnisse Absolute Pfade beginnen mit /, z.b. /home/meier Relative Pfade beziehen sich auf das aktuelle Arbeitsverzeichnis Relative Pfade beginnen nicht mit /, z.b. meinverzeichnis Wechsel des aktuellen Arbeitsverzeichnisses durch cd ( change directory ) 2

Verzeichnisse/Verzeichnisbaum Graphische Repräsentation (hier: Windows) 3

Zusammenbau von Verzeichnisbäumen (1) Temporäres, manuelles Anhängen (Mounten) von Dateisystemen mount /dev/sda1 /home/maren/extern Hängt Dateisystem in /dev/sda1 an das Verzeichnis /home/maren/extern im bestehenden Verzeichnisbaum an /home/maren/extern heißt Mountpoint 4

Zusammenbau von Verzeichnisbäumen (2) Evtl. vorhandene Einträge in /home/maren/extern werden temporär verdeckt und sind nach Abhängen wieder zugreifbar Abhängen mit umount /home/maren/extern Geht nur, wenn keine Datei im angehängten Dateisystem geöffnet ist 5

Zusammenbau von Verzeichnisbäumen (3) Graphische Oberfläche: Das Mounten von Wechseldatenträgern wie USB-Sticks, CDs, externen Festplatten, etc. geschieht meist automatisch Typischerweise im Verzeichnis /media oder /Volumes 6

Symbolische Links (1) Zweck von Links: Ansprechen desselben Objekts mit mehreren Namen Beispiel: Benutzer meier befindet sich in Arbeitsverzeichnis /home/meier meier will bequem auf ausführbare Datei /home/mueller/mytools/text/script zugreifen Anlegen eines Links im Verzeichnis /home/meier: ln s /home/mueller/mytools/text/script script 7

Symbolische Links (2) ls l script lrwxrwxrwx 1 meier users script -> /home/mueller/mytools/text/script Aufruf durch script in Verzeichnis /home/meier nun möglich 8

Symbolische Links (3) ln s quelle ziel Enthalten Pfade zu Referenzobjekten (Ziel) Löschen/Verschieben/Umbenennen von Referenzobjekt: Link zeigt ins Leere Löschen von Link: Referenzobjekt ist unverändert Rechte am Link: Entsprechend Referenzobjekt Zulässiges Referenzobjekt: beliebiges Objekt im Dateibaum Technische Realisierung: später 9

Harte Links ln quelle ziel Erstellt Verzeichniseintrag in Dateisystem mit weiterem Namen für Dateiobjekt Zulässiges Referenzobjekt: Dateiobjekt in demselben Dateisystem (Festplattenpartition) Nach Umbenennen/Verschieben funktioniert Link noch Technische Realisierung: später 10

Harte Links: 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 den Wert 0 hat 11

Zugriff auf Dateiinhalte Sequentieller Zugriff (Folgezugriff) Wahlfreier Zugriff (Direktzugriff, Random Access) 12

Sequentieller Dateizugriff Alle Bytes können nur nacheinander vom Datenspeicher gelesen werden Kein Überspringen möglich Um auf einen bestimmten Datensatz zugreifen zu können, müssen alle Datensätze zwischen Start- und Zielposition besucht werden Die Zugriffszeit ist von der Entfernung der Datensätze vom ersten Datensatz abhängig 13

Wahlfreier Dateizugriff Zugriff auf ein beliebiges Element in konstanter Zeit Bytes/Datensätze können in beliebiger Reihenfolge ausgelesen werden Befehl seek: setzt den Dateizeiger auf eine beliebige Stelle (Byteposition innerhalb der Datei) Danach kann die Datei sequentiell von dieser Position gelesen werden Für viele Anwendungen relevant (z.b. Datenbanksysteme) 14

Mögliche Operationen auf Dateien (Systemaufrufe) Create: Erzeugen Delete: Löschen Open: Öffnen Close: Schließen Read: Lesen von aktueller Position Write: Schreiben an aktuelle Position 15

Mögliche Operationen auf Dateien (Systemaufrufe) Append: Anhängen an Dateiende Seek: Setzt Dateizeiger an beliebige Stelle Get Attributes: Lesen der Dateiattribute Set Attributes: Verändern der Dateiattribute Rename: Umbenennen 16

Mögliche Operationen auf Verzeichnissen (Systemaufrufe) 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 der Datei 17

Implementierung von Dateisystem (Festplatte) Eine Festplatte besteht aus mehreren Scheiben Festplatten können in eine oder mehrere Partitionen unterteilt werden Einzelne Partitionen können unabhängige Dateisysteme besitzen (z.b. Windows und Linux Dateisystem) 18

Implementierung von Dateisystem (Festplatte) Scheiben sind eingeteilt in Blöcke (Sektoren), alle Blöcke der Festplatte sind durchnummeriert 0 1 2 3 4 5 19

Layout einer Festplatte (1) GUID Partitionstabelle (GPT) Ganze Platte Plattenpartitionen MBR... GPT GPT-formatierte Festplatte GPT = GUID (Globally Unique Identifier) Partitionstabelle GPT enthält Anfangs- und Endadresse jeder Partition Erster Sektor der Platte enthält MBR (Master Boot Record, nur für alte Betriebssysteme) 20

Layout einer Festplatte (2) GUID Partitionstabelle (GPT) Ganze Platte Plattenpartitionen MBR... GPT UEFI (Unified Extensible Firmware Interface): Schnittstelle zwischen Hardware und Betriebssystem beim Bootvorgang (Nachfolger von BIOS) Wahl der zu bootenden Partition durch Boot- Manager (Teil von UEFI) Betriebssystem von der gewählten Partition wird eingelesen und gestartet 21

Layout einer Festplatte (3) GUID Partitionstabelle (GPT) Ganze Platte Plattenpartitionen MBR zu bootende P.... GPT Superblock Freispeicherverw. I-Nodes Datenblöcke: Dateien, Verz. Bsp. Linux: Superblock enthält Schlüsselparameter des Dateisystems (z.b. Name des Dateisystemtyps, Anzahl Blöcke,...) Freispeicherverwaltung: Informationen über freie Blöcke im Dateisystem 22

Layout einer Festplatte (4) GUID Partitionstabelle (GPT) Ganze Platte Plattenpartitionen MBR zu bootende P.... GPT Superblock Freispeicherverw. I-Nodes Datenblöcke: Dateien, Verz. I-Nodes (Index Node): Enthalten Metadaten der Dateien (Eigentümer, Zugriffsrechte, Dateityp, Größe, Linkzähler, etc.) Zu jeder Datei gehört ein einziger I-Node Datenblöcke: Eigentliche Inhalte der Dateien 23

Realisierung von Dateien Drei verschiedene Alternativen zur Realisierung von Dateien: Zusammenhängende Belegung Belegung durch verkettete Listen I-Nodes (bzw. File Records) 24

Realisierung von Dateien: Zusammenhängende Belegung (1) Abspeicherung von Dateien durch zusammenhängende Menge von Plattenblöcken 25

Realisierung von Dateien: Zusammenhängende Belegung (2) Abspeicherung von Dateien durch zusammenhängende Menge von Plattenblöcken Datei A Datei C Datei E Datei G Datei B Datei D Datei F Vorteil: Lesegeschwindigkeit (wenige Leseoperationen für gesamte Datei) 26

Realisierung von Dateien: Zusammenhängende Belegung (3) Situation nach Löschen von D und F: Datei A Datei C Datei E Datei G Datei B freie Blöcke freie Blöcke Nachteil: Externe Fragmentierung der Platte Verschiebung der Blöcke (Defragmentierung) ist ineffizient 27

Realisierung von Dateien: Zusammenhängende Belegung (4) Verwaltung der entstehenden Lücken in Listen theoretisch möglich Allerdings: Endgröße von Dateien muss bekannt sein, um passende Lücke zu finden (Dateien können nicht wachsen!) Oft ist diese nicht bekannt und würde daher deutlich überschätzt Nachteil: Evtl. viel Speicherplatz ungenutzt 28

Realisierung von Dateien: Zusammenhängende Belegung (5) Zusammenhängende Belegung im allgemeinen keine gute Idee! Benutzt bei Dateisystemen für einmal beschreibbare Medien, z.b. CD-ROMs: Dateigröße im Voraus bekannt. 29

Realisierung von Dateien: Belegung durch verkettete Listen (1) Dateien gespeichert als verkettete Listen von Plattenblöcken: Zeiger auf nächsten Block Variante 1: Datei A: Dateiblock 0 Dateiblock 1 Dateiblock 2 Dateiblock 3 Dateiblock 4 Plattenblock 4 7 2 10 12 Datei B: Dateiblock 0 Dateiblock 1 Dateiblock 2 Dateiblock 3 Plattenblock 6 3 11 14 30

Realisierung von Dateien: Belegung durch verkettete Listen (2) Vorteile: Fragmentierung der Festplatte führt nicht zu Verlust von Speicherplatz Dateien beliebiger Größe können angelegt werden (solange genug Plattenplatz vorhanden) Nachteile: Langsamer wahlfreier Zugriff Zugriff auf Dateiblock n: n-1 Lesezugriffe auf die Platte, um Block n zu lokalisieren 31

Realisierung von Dateien: Belegung durch verkettete Listen (3) Variante 2: Information über Verkettung der Blöcke im Hauptspeicher (Arbeitsspeicher, RAM) Ersetze bei wahlfreiem Zugriff Plattenzugriffe durch schnellere Hauptspeicherzugriffe Datei-Allokationstabelle (FAT=File Allocation Table) im Hauptspeicher Von Microsoft entwickeltes Dateisystem (FAT- 12, FAT-16, FAT-32) 32

FAT Beispiel Datei A: Dateiblock 0 Dateiblock 1 Dateiblock 2 Dateiblock 3 Dateiblock 4 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 -1 Plattenblock 4 7 2 10 12 Datei B: Dateiblock 0 Dateiblock 1 Dateiblock 2 Dateiblock 3 Plattenblock 6 3 11 14 Beginn Datei A Beginn Datei B 33

FAT Dateisystem Vorteil: FAT ist im Hauptspeicher Bei wahlfreiem Zugriff auf Block n muss nur eine Kette von Verweisen im Hauptspeicher verfolgt werden (nicht auf der Platte) Nachteil: Größe der FAT im Speicher: Jeder Block hat einen Zeiger in der FAT Anzahl der Einträge = Gesamtzahl der Plattenblöcke (auch wenn die Festplatte fast komplett unbelegt ist) 34

FAT-16: Größe Tabelle / Speicher Wie groß ist die FAT im Speicher? FAT-16: Zeigergröße ist 16 Bit = 2 Byte 2 16 verschiedene Zeiger für 2 16 Plattenblöcke Tabelle hat 2 16 Einträge, jeweils 2 Byte groß: 2 16 * 2 Byte = 2 17 Byte = 2 7 Kibibyte = 128 Kibibyte (2 10 Byte = 1 Kibibyte = 1 KiB = 1024 Byte) Wieviel Speicher kann verwaltet werden? Maximale Blockgröße bei FAT-16: 32 KiB 2 16 * 32 KiB = 2 16 * 2 5 KiB = 2 21 KiB = 2 31 Byte = 2 Gibibyte (= max. Partitionsgröße) 35

FAT-32 für größere Platten Mehr Zeiger für größere Platten Für Zeiger: 28 Bit; 4 Bit für andere Zwecke, z.b. Markierung freier Blöcken 28 Bit zur Adressierung: 2 28 verschiedene Zeiger, je 32 Bit = 4 Byte groß Größe der FAT: 2 28 * 4 Byte = 2 30 = 1 GiB Gegenmaßnahmen für zu große FAT: Nur wirklich benötigten Teil verwalten Betrachte Fenster über der FAT, welches im Speicher bleibt, bei Bedarf auswechseln 36

FAT-32 System Vorteile FAT-32: Maximale Partitionsgröße: 2 TiB Die meisten Betriebssysteme können darauf zugreifen Viele externe Geräte verwenden es heute (Digitalkamera, MP3-Player,...) Nachteile FAT-32: Größe der FAT Maximale Dateigröße: 4 GiB (Grund: 4 Byte großes Feld für die Dateigröße in der Directory-Tabelle) 37

Abschließende Bemerkungen Generell: Kleinere Blöcke führen zu weniger verschwendetem Platz pro Datei (interne Fragmentierung) Je kleiner die Blockgröße, desto mehr Zeiger, desto größer die FAT im Hauptspeicher Maximale Größe des ganzen Dateisystems wird durch Blockgröße begrenzt FAT-16 muss z.b. für eine 2 GiB Partition eine Blockgröße von 32 KiB verwenden Andernfalls kann mit den 2 16 verschiedenen Zeigern nicht die ganze Partition adressiert werden 38

Beobachtung Eigentlich braucht man nicht die Informationen der Verkettung für alle Plattenblöcke Sondern nur für aktuelle geöffnete Dateien Konzept der I-Nodes (Linux, Unix) bzw. File Records (Windows) 39

Wiederholung: Dateisystem Legt fest, wie die Datenspeicherung intern realisiert ist Jede Partition braucht ein Dateisystem, um Daten zu verwalten FAT-32 System ist durchaus kompatibel, birgt aber Nachteile I-Nodes: Informationen über die Verkettung der Plattenblöcke nur für aktuelle geöffnete Dateien 40

Realisierung von Dateien: I-Nodes (1) Zu jeder Datei gehört eine Datenstruktur, der sogenannte I-Node (Index-Knoten) I-Node enthält: Metadaten und Adressen von Plattenblöcken I-Node ermöglicht Zugriff auf alle Blöcke der Datei I-Node einer Datei muss nur dann im Hauptspeicher sein, wenn die Datei offen ist Wenn k Dateien offen sind und ein I-Node n Bytes benötigt: k*n Byte an Speicher werden benötigt 41

Realisierung von Dateien: I-Nodes (2) Dateiattribute Adresse von Dateiblock 0 Adresse von Dateiblock 1 Adresse von Dateiblock 2 Adresse von Dateiblock 3 Adresse von Dateiblock 4 Adresse von Dateiblock 5 Adresse von Dateiblock 6 Adresse von Dateiblock 7 Adresse von Dateiblock 8 Adresse von Dateiblock 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) 42

Realisierung von Dateien: I-Nodes (3) Viel weniger Speicherbedarf als bei FAT System FAT wächst proportional mit Plattengröße I-Node-Modell: Größe des benötigten Speichers ist proportional zur maximalen Anzahl gleichzeitig geöffneter Dateien Unabhängig davon wie groß die Platte ist 43

Realisierung von Dateien: I-Nodes (4) I-Node einer Datei enthält Alle Attribute der Datei m Adressen von Plattenblöcken (UNIX System V: m=10, ext2/3: m=12) Verweise auf Plattenblöcke, die weitere Verweise auf Blöcke enthalten Auf die ersten m Plattenblöcke kann schnell zugegriffen werden Für die folgenden Plattenblöcke sind zusätzliche Zugriffe nötig 44

Realisierung von Dateien: I-Nodes (5) Zeiger 0 Zeiger 1 Zeiger 2 Zeiger 3 Zeiger 4 Zeiger 5 Zeiger 6 Zeiger 7 Zeiger 8 Zeiger 9 Datenblock 0 Datenblock 1 Datenblock 2 Datenblock 3 Datenblock 4 Datenblock 5 Datenblock 6 Datenblock 7 Datenblock 8 Datenblock 9 Bei z.b. Blockgröße 1 KiB: Inhalte kleiner Dateien bis 10 KiB können mit den direkten Zeigern angesprochen werden 45

Realisierung von Dateien: I-Nodes (6) Für größere Dateien werden Datenblöcke zur Speicherung von weiteren Plattenadressen genutzt Beispiel: Blockgröße 1 KiB Größe eines Zeigers auf Plattenblock: 4 Byte (also 2 32 Adressierungsmöglichkeiten) 256 Zeiger (je 4 Byte) passen in einen Plattenblock Nach 10 (bzw. 12) direkten Plattenadressen gibt es im I-Node einen Zeiger auf einen Plattenblock mit 256 weiteren Plattenadressen von Dateiblöcken Nun Dateien möglich bis zu einer Größe von (10 + 256) x 1 KiB = 266 KiB 46

Realisierung von Dateien: I-Nodes (7) Dateiattribute Adresse von Dateiblock 0 Adresse von Dateiblock 1 Adresse von Dateiblock 2 Adresse von Dateiblock 3 Adresse von Dateiblock 4 Adresse von Dateiblock 5 Adresse von Dateiblock 6 Adresse von Dateiblock 7 Adresse von Dateiblock 8 Adresse von Dateiblock 9 Zeiger auf Block mit weiteren Adressen (einfach indirekt) indirekter Zeiger Adresse von Dateiblock 10 10 direkte Zeiger Insgesamt 256 weitere Adressen in indirekt verbundenem Datenblock Adresse von Dateiblock 265 Zeiger auf bis zu 256 weitere Plattenblöcke 47

Realisierung von Dateien: I-Nodes (8) Noch größere Dateien: Dateiattribute Adresse von Dateiblock 0 Adresse von Dateiblock 1 Adresse von Dateiblock 2 Adresse von Dateiblock 3 Adresse von Dateiblock 4 Adresse von Dateiblock 5 Adresse von Dateiblock 6 Adresse von Dateiblock 7 Adresse von Dateiblock 8 Adresse von Dateiblock 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) Einfach indirekter Block 256 Zeiger auf Dateiblöcke 48

Realisierung von Dateien: I-Nodes (8) Noch größere Dateien: Dateiattribute Adresse von Dateiblock 0 Adresse von Dateiblock 1 Adresse von Dateiblock 2 Adresse von Dateiblock 3 Adresse von Dateiblock 4 Adresse von Dateiblock 5 Adresse von Dateiblock 6 Adresse von Dateiblock 7 Adresse von Dateiblock 8 Adresse von Dateiblock 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) Einfach indirekter Block Doppelt indirekter Block 256 Verweise auf Plattenblöcke je 256 Zeiger auf Dateiblöcke 49

Realisierung von Dateien: I-Nodes (8) Noch größere Dateien: Dateiattribute Adresse von Dateiblock 0 Adresse von Dateiblock 1 Adresse von Dateiblock 2 Adresse von Dateiblock 3 Adresse von Dateiblock 4 Adresse von Dateiblock 5 Adresse von Dateiblock 6 Adresse von Dateiblock 7 Adresse von Dateiblock 8 Adresse von Dateiblock 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) Einfach indirekter Block Doppelt indirekter Block je 256 Zeiger auf Dateiblöcke je 256 Verweise auf Plattenblöcke Dreifach indirekter Block 256 Verweise auf Plattenblöcke 50

Beispiel: Maximale Dateigröße Blockgröße 1 KiB, Zeigergröße 4 Bytes 10 direkte Zeiger des I-Nodes: 10 KiB Daten lassen sich speichern Einfach indirekter Zeiger verweist auf einen Plattenblock, der maximal 1 KiB/4 Byte Zeiger verwalten kann, also 256 Zeiger Indirekt: 1 KiB * 256 = 256 KiB Daten Zweifach indirekter Zeiger: 1 KiB * 256 * 256 = 64 MiB Daten Dreifach indirekter Zeiger: 1 KiB * 256 * 256 * 256 = 16 GiB Daten 51

I-Node-Tabelle (1) I-Node-Tabelle auf Festplatte: Enthält alle I-Nodes mit Speicheradresse Die Größe der I-Node-Tabelle wird beim Anlegen des Dateisystems festgelegt Es muss eine ausreichende Anzahl von I-Nodes eingeplant werden: Jeder Datei ist ein eindeutiger I-Node zugeordnet Größe I-Node heute: 256 Bytes 52

I-Node-Tabelle ` (2) Wenn verfügbarer Plattenplatz oder die I Nodes belegt sind: disk full Theoretisch möglich: Auf der Platte sind noch viele Megabytes an Platz verfügbar Diese können aber nicht genutzt werden, weil nicht genügend I Nodes vorgesehen waren 53

Vorteile I-Nodes Die Größe eines I-Nodes ist fix und relativ klein I-Node kann dadurch lange im Hauptspeicher bleiben Auf kleinere Dateien kann direkt zugegriffen werden Die theoretische maximale Größe einer Datei sollte ausreichend sein 54

Attributinformationen in I-Nodes (urspr. Unix System V) (also max 2 16 ) bei 3-Byte-Adressen 55