Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Andrew S. Tanenbaum – Moderne Betriebssysteme

Ähnliche Präsentationen


Präsentation zum Thema: "Andrew S. Tanenbaum – Moderne Betriebssysteme"—  Präsentation transkript:

1 Andrew S. Tanenbaum – Moderne Betriebssysteme
File Systems Andrew S. Tanenbaum – Moderne Betriebssysteme Kapitel 6.3 & 6.4 Referent: Kevin Schwarz 1

2 Gliederung Implementierung von Dateisystemen Layout eines Dateisystems
Verwaltung des Plattenspeichers Leistungsfähigkeit eines Dateisystems Beispiele von Dateisystem 2

3 Implementierung von Dateisystemen
Wie werden Dateien und Verzeichnisse gespeichert? Wie wird Speicherplatz verwaltet? Wie geschieht dies möglichst effizient und zuverlässig? -Referat befasst sich mit der Fragestellung, wie Dateien und Verzeichnisse gespeichert werden und wie der Speicherplatz verwaltet wird, sodass effizient und zuverlässig gearbeitet werden kann 3

4 Layout eines Dateisystems
Partitionstabelle Plattenpartitionen MBR -Dateisysteme werden auf Platten gespeichert -eine Platte kann mehrere Dateisystem enthalten -der Sektor 0 wird Master Boot Record genannt -> Verwendungen beim Booten -das Ende des MBR enthält die Partitionstabelle mit Anfang und Endadresse -Bootvorgang: BIOS liest MBR ein und führt ihn aus, MBR lokalisiert die aktive Partition und liest deren ersten Block (Bootblock) und führt ihn aus, dieser lädt dann das Dateisystem -bis auf Bootblock variieren Dateisysteme -Superblock: Enthält Schlüsselparameter welche in den Speicher geladen werden; Inhalt: magische Nummer zu identifizierung; Anzahl der Blöcke im Dateisystem; administrative Schlüsselinformationen -I-Nodes(index node): Array von Dateistrukturen, in dem eine Datenstruktur pro Datei alle Informationen über diese enthält Ein Inode (auch I-Node, Kurzwort von englisch index node) ist ein Eintrag in einem Unix-Dateisystem, der Metadaten einer Datei enthält. In den meisten Unix-Betriebssystemen werden Dateien nur über ihre Inodes verwaltet. (Jeder Inode ist durch eine eindeutige Inode-Nummer gekennzeichnet und verweist auf genau eine Datei. Umgekehrt gehört zu jeder Datei auch ein einziger Inode, der Attribute der betreffenden Datei enthält, die Zuordnung ist daher eineindeutig. Namen und Inhalt werden unabhängig abgelegt: Dateinamen verweisen auf den Inode, dieser verweist auf den Speicherplatz des Datei-Inhalts, ausgenommen für sehr kleine Dateien (bis zu etwa hundert Bytes): Deren Inhalt wird von den meisten heutigen Dateisystem-Implementierungen direkt im Inode abgespeichert.) -Freispeicherverw.: Kann Bitmaps oder Liste von Zeigern enthalten -Wurzelverzeichnis: Spitze des Dateibaums -Rest der Platte enthält Verzeichnisse und Dateien Bootblock Superblock I-Nodes Freispeicherverw. Wurzelverz. Dateien & Verzeichnisse 4

5 Verwaltung des Plattenspeichers
2 Varianten zum Speichern von Dateien möglich: Bytes auf der Platte reservieren Datei in Blöcke aufteilen Blockgröße? Zu große Blöcke -> Verschwendung von Speicher Zu kleine Blöcke -> Schlechte Performance Zwei Strategien möglich: um eine Datei mit einer Größe von n Bytes zu speichern, werden n Bytes reserviert oder die Datei wird in eine bestimmte Anzahl von nicht notwendigerweise zusammenhängenden Blöcken aufgeteilt (fast alle Dateisysteme greifen auf 2. Variante zurück, weil falls die Datei wächst, Speichersegmente schneller verschoben werden können, als eine ganze Datei) Blockgröße? -Studien an UNIX-Systemen haben gezeigt dass die durchschnittliche Dateigröße 1KB beträgt -32KB Blocks wären somit verschwendeter Speicher (31/32 o. 97%) -Zerstücklung in zu kleine Belegungseinheiten bewirkt lange Wartezeiten, da das lesen einen seek und rotationsbedingte Wartezeiten benötigt -es gibt keinen Idealwert, Blöcke sind immer abhängig von Betriebssystem und Dateisystem (bei UNIX Systemen) -Ideal ist die Mediangröße von 2KB -kleine Blöcke sind sind schlecht für die Performance aber gut für die Platzausnutzung Reale Blockgrößen: UNIX: 1KB MS-DOS: 2er Potenz im Bereich von 512 Byte bis 32 KB 5

6 Verwaltung des Plattenspeichers II
Freie Blöcke? Verkettete Liste (1KB Plattenblock kann 255 Blocknummern Speichern) Bitmap (n Blöcke benötigen n bits) Bitmap wesentlich Platzsparender Betriebssystem will nicht nur wissen was belegt ist , sondern auch wieviel Speicher noch frei ist Anzahl freier Blöcke wird entweder: eine verkettete Liste von Plattenblöcken, in der der jeder Block soviele Einträge wie möglich enthält ein Bitmap: eine Platte mit n Blöcken benötigt ein Bitmap mit n Bits (freie Blöcke werden durch 0 dargestellt, belegte mit 1) Bitmap wesentlich Platzsparender, da eben nur n Bits für n Blöcke benötigt Verkette Liste: 1KB für 255 Einträge 6

7 Leistungsfähigkeit eines Dateisystems
Lesen eines 32 bit Speicherwortes Lesezugriff aus dem Speicher: 10 ns Lesezugriff auf die Festplatte: 10 MB/s ms Spursuche Lesezugriff auf die Festplatte ist ca. 40 mal langsamer Performanceverbesserung durch: Caching Das Vorauslesen von Blöcken Die Reduzierung von Plattenbewegungen Lesen eines Speicherworts benötigt 10 ns, ein Lesezugriff auf die Festplatte geht hingegen mit 10 MB/s vonstatten ms um die Spur zu Suchen und zu warten dass der Lesekopf vorbeikommt 40 mal langsamer pro 32 bit Wort Performanceverbesserung durch: Caching -> eine Ansammlung von Blöcken die logisch auf der Platte stehen, jedoch aus Gründen der Perfomance im Speicher gehalten werden Das Vorauslesen von Blöcken -> liest das Dateisystem einen Block k, so prüft das Dateisystem ob sich k+1 schon im Cache befindet, falls nicht wird eine Lesebefehl abgesendet, sodass falls k+1 benötigt wird dieser Block sich bereits im Cache befindet Die Reduzierung von Plattenbewegungen -> Blöcke, auf die wahrscheinlich sequentiell zugegriffen wird, liegen nahe nebeneinander, vorzugsweise auf dem selben Zylinder 7

8 Beispiele von Dateisystemen
Maximale Partitionsgröße Maximale Dateigröße FAT 4 GB 2 GB FAT32 32 GB unter XP, sonst 2 TB NTFS 2 TB keine FAT, steht für File Allocation Table und ist im Prinzip eine Tabelle, die vom Betriebsystem dazu verwendet wird, um zu speichern wo genau auf der Festplatte Dateien und Ordner gespeichert sind. Ist diese Tabelle beschädigt, kann es zu Dateiverlusten kommen. Man unterscheidet zwischen FAT 16 und FAT 32. Der Unterschied liegt einfach in der maximalen Partitions- und Dateigröße. Außerdem noch in der Clustergröße. Die Abkürzung NTFS steht für New Technology File System. Der Zweck ist der Selbe wie bei FAT, nur das NTFS für das Betriebssystem Windows NT entwickelt wurde. NTFS 5 wurde, wie der Name schon andeutet für Windows NT 5 entwickelt, welches besser unter dem Namen Windows 2000 bekannt ist. 8

9 Beispiele von Dateisystemen II
MS DOS Windows NT Windows 9x Windows 2000 Windows XP Windows Vista Windows 7 FAT lesen & schreiben X FAT32 lesen & schreiben - NTFS Lesen & schreiben Vorteile von NTFS gegenüber FAT unterstützt Unicode im Dateinamen (FAT unterstützt nur ASCII Code) Schreibt Dateien „intelligent“ um so Fragmentierung zu verhindern, FAT schreibt Dateien einfach nur hintereinander NTFS loggt bei Abstürzen Dateiänderungen mit, um so Datenverluste zu vermeiden Es lassen sich Sicherheitsattribute setzen Performance 9

10 Beispiele von Dateisystemen III
Beide Werte wurden unter Windows XP gemessen. Hier ist NTFS etwas schneller, was unter anderem daran liegen kann, dass der Datenträger frisch formatiert war und keinerlei Sicherheits-/Komprimierungseinstellungen aktiv waren. 10

11 Danke für eure Aufmerksamkeit
11

12 Fragen? 12


Herunterladen ppt "Andrew S. Tanenbaum – Moderne Betriebssysteme"

Ähnliche Präsentationen


Google-Anzeigen