Systeme 1 Kapitel 3 Dateisysteme.

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.
PC-Senioren Ludwigsburg
Ausführen.
Kapitel 9 Dateisysteme RW-Systemarchitektur Kap. 8.
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.
Datenbanken Einführung.
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
Informatik Tagesprotokoll vom
6. Termin Teil A: Mischlogik, Dateien, Betriebssysteme
Software Von Webmaster Mario.
Lehrmaterial Grundlagen EDV
der Universität Oldenburg
Dateisysteme Was sind Dateisysteme (Definition)
SAP R/3 - Speichermanagement
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10.
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Effizienz: Indexstrukturen
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
PS: Basisinformationstechnologie Jens Alvermann
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Dateisysteme.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
OC-Pro ermöglicht, ohne Installation zusätzlicher Software, die benutzerfreundliche Kalkulation von Netzhautdicke und Flächen intra-/subretinaler Flüssigkeitsansammlungen.
Access 2000 Datenbanken.
UNIX-Dateisystem Vortrag: Ronny Kuhnert am
DVG Dateien. DVG Die Klasse File Die Klasse File stellt die Verbindung zwischen dem File-System des Rechners und dem JAVA-Programm her.
Anwendungsprogramm Benutzeroberfläche Schnittstelle für Systemaufrufe Systemkern.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Einrichtung eines File- und Printservers mit
Referat zum Thema „DLL“
Was ist ein Dateisystem?
So arbeitet ein PC.
Was ist ein Betriebssystem?
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?
Windows Server 2008 R2 Datenträgerverwaltung NTFS als Dateisystem vs. FAT32 RAID Volumes Dynamische Festplatten Basisfestplatten Von Pascal Runk Gruppe.
Betriebssysteme & BIOS
Seminar Internet Technologien
Laufwerke Laufwerk zum Speichern von Daten
Wer macht was beim Einschalten des Rechners?
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Bs Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet.
Studiengang Informatik FHDW
DATEISPEICHER in der S P S
Einführungstutorial: Linux Konsole
CD-& DVD-Laufwerk Laufwerk(Computer) CD-ROM-Laufwerk DVD
Dokumente meistern Dokumente anlegen Dokumente speichern
Computeria Zürich Treff vom 7. Juli 2004 Acronis True Image ein Vortrag von René Brückner.
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.
Andrew S. Tanenbaum – Moderne Betriebssysteme
6.2 Repräsentation auf Platten
LVM - Logical Volume Management unter Linux
Dateisystem Eine Präsentation von Kay Rubner, Maximilian Magendanz und Toni Materne.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Auf dem Weg: Certified Linux LPI-Zertifizierung Dateizugriffsrechte und - eigentümerschaften verwalten Copyright (©) 2006 by W. Kicherer. This.
1 Grundstruktur von Linux Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
Das Betriebssystem Linux
 Präsentation transkript:

Systeme 1 Kapitel 3 Dateisysteme

Dateisysteme Hauptaufgaben: Beispiel für ein einfaches Dateisytem: Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im zur Verfügung stehenden Arbeitsspeicher verwaltet. Definiert ein Ordnungs- und Zugriffssystem Erlaubt den (gleichzeitigen) Zugriff mehrerer Programme Beispiel für ein einfaches Dateisytem: RamFS / TempFS (Linux): Bereiche des Arbeitsspeichers werden als logisches Ordnungssystem genutzt.

Dateisysteme Persistente Dateisysteme Beispiele: Daten werden persistent gesichert Daten sind von Lebensdauer von Programmen unabhängig. Nutzung von externen Medien z.B. Platten, CD-ROM, Bänder Erlaubt die Organisation von großen Datenmengen Daten müssen nicht vollständig in den Arbeitsspeicher geladen werden. Beispiele: (V)FAT, NTFS (MS-DOS / Windows)‏ ext3, XFS, ReiserFS (Linux)‏ ISO 9660 (CD-ROM), UDF (ISO 13346) (DVD)‏

Dateien Dateien Kleinste logische Einheit eines Dateisystems Aus Sicht des Betriebssystems eine Sequenz von Daten einer gegebenen Länge Zugriff über Namen (Dateiname)‏ Regeln variieren von System zu System Beispiel: MS-DOS (FAT): Name: maximal 8 Zeichen Dateierweiterung: maximal 3 Zeichen Keine Unterscheidung zwischen Groß- und Kleinbuchstaben Beispiel: Linux (ext3)‏ Unterscheidung zwischen Groß- und Kleinbuchstaben 255 Zeichen (ohne '/' und NUL ('\0'))‏

Dateitypen Reguläre Dateien Verzeichnisse (Directory)‏ Gerätedateien beinhalten Benutzerdaten Verzeichnisse (Directory)‏ Systemdatei zur hierarchischen Organisation beinhalten reguläre Dateien Gerätedateien Blockbasiert Lesen und schreiben in Blöcken z.B. Platten, Diskettenlaufwerke, ... Zeichenbasiert Modellierung von Seriellen- und E/A-Geräten z.B. Maus, Tastatur, Modem Symbolische Links Pipes, Sockets ...

Dateiattribute Dateiattribute speichern Metadaten über Dateien 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

Beispiel: Dateiattribute unter Linux $ ls –l drwxr-x--- 6 admin users 4096 Dec 02 08:10 verzeichnis -rw-r----- 1 ann users 1804 Dec 05 19:30 datei1 -rwxr--r-- 1 bob users 1804 Dec 01 20:22 datei2 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

Dateiattribute (Beispiele)‏

Exkurs: Rechteverwaltung unter UNIX Standardrechte für Verzeichnisse und Dateien: Dateien „r“: Datei darf gelesen werden „w“: Datei darf geändert werden „x“: Datei darf als Programm ausgeführt 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

Exkurs: Rechteverwaltung unter UNIX Sonderrechte: Optische Notation bei ls: -rwsr-s--- und drwxrwxrwt Dateien: SUID-Prozess läuft unter der UID des Programmbesitzers SGID-Prozess 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

Exkurs: Rechteverwaltung unter UNIX 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.

Verzeichnisbaum Baumartige hierarchische Strukturierung Ausgangspunkt Wurzelverzeichnis (UNIX: '/')‏ 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).

Dateizugriff Sequentieller Zugriff: Alle Bytes einer Datei können nur nacheinander vom Anfang beginnend gelesen werden. Kein Überspringen Zurückspulen möglich Beispiel: (serielle) E/A-Gerätedateien, Bandlaufwerke Random-Access-Dateien (Dateien mit wahlfreiem Zugriff): Lesen erfolgt von der gerade aktuellen Position Beliebiges Festlegen der aktuellen Position durch Seek-Operation möglich Beispiel: Dateien auf Festplatten

Dateienoperationen Operationen entsprechen Systemaufrufen 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

Verzeichnisoperationen Operationen entsprechen Systemaufrufen 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 Aber: kein Write! Verzeichniseinträge werden nur geschrieben bei Create etc. auf Dateien.

Kapitel 3.1 Implementierung von Dateisystemen

Festplatten Dateisystem z.B. auf Festplatten Festplatten bestehen aus mehreren Platten Platte ist eingeteilt in Sektoren

Festplatten Layout 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 den Bootloader, dieser lädt das Betriebssystem (-> hat Kenntnis über Dateisystem).‏

Festplatten Layout 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.

Realisierung von Dateien 3 verschiedene Alternativen zur Realisierung von Dateien: Zusammenhängende Belegung Belegung durch verkettete Listen I-Nodes

Realisierung von Dateien Abspeicherung von Dateien als zusammen-hängende Menge von Plattenblöcken:

Realisierung von Dateien Abspeicherung von Dateien als zusammenhängende Menge von Plattenblöcken: Vorteil: schnelles sequentielles Lesen einfache Implementierung

Realisierung von Dateien Abspeicherung von Dateien als zusammenhängende Menge von Plattenblöcken: Problem: Löschen von Dateien 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: Wird benutzt in Spezialfällen wie Dateisysteme für CD-ROMs.

Realisierung von Dateien Speichere Dateien als verkettete Listen von Platten-blöcken Dateiinhalt wird auf Blöcke gleicher Größer verteilt

Realisierung von Dateien Speichere Datei als verkettete Listen von Plattenblöcken Dateiinhalt wird auf Blöcke gleicher Größer verteilt Vorteile Keine Fragmentierung Sequentielles Lesen Nachteile Wahlfreier Zugriff Zugriff auf Block n: Starte bei Block 0 und verfolge alle Blöcke n-1 Blöcke => n-1 langsame Lesezugriffe auf die Platte

Realisierung von Dateien (FAT)‏ Speichere Datei als verkettete Listen von Plattenblöcken Verbesserung: 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 (u.a. FAT-32)‏

Realisierung von Dateien (FAT)‏

Realisierung von Dateien (FAT)‏ Speichere Datei als verkettete Listen von Plattenblöcken 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)‏

Realisierung von Dateien (I-Node)‏ 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 eine Datei offen ist. Wenn k Dateien offen und I-Node n Bytes benötigt, dann nur k * n Byte insgesamt.

I-Node einer Datei enthält Bsp.: UNIX System V I-Node einer Datei enthält alle Attribute der Datei m Adressen von Plattenblöcken (UNIX System V: m = 10)‏

Realisierung von Dateien (I-Node)‏ Kleine Dateien bis 10 x 1 KByte (bei Blockgröße 1 KByte):

Realisierung von Dateien (I-Node)‏ 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.

Realisierung von Dateien (I-Node)‏

Realisierung von Dateien (I-Node)‏ Noch größere Dateien.

Realisierung von Dateien (I-Node)‏ Bei Blockgröße 1 KB, 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? Übung

Realisierung von Dateien (I-Node)‏ Attribut-Informationen von I-Nodes * * Hier 3-Bytes für eine Adresse

Realisierung von Verzeichnissen 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.

Realisierung von Verzeichnissen / tmp etc var usr lib home bin man lib meier mueller schulze games mail news work

Verwaltung freier Plattenblöcke 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

Verwaltung freier Plattenblöcke

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

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