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

Ähnliche Dokumente
Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)

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

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Dateisysteme. Erweiterte Anforderungen an Speicher

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

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

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

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

Dateisystem: Einführung

Dateisystem: Einführung

Wiederholung: Realisierung von Dateien

Betriebssysteme 1. Thomas Kolarz. Folie 1

6.2 FAT32 Dateisystem

Computerpflege. Windows XP Update (Arbeitssicherheit) Dieses Programm öffnet die Internetseite von Windows. Starten Sie die [Schnellsuche].

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

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

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

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

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Systemprogrammierung

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

Freispeicherverwaltung Martin Wahl,

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

Systeme I: Betriebssysteme Übungsblatt 3

5 Kernaufgaben eines Betriebssystems (BS)

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

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

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

OPERATIONEN AUF EINER DATENBANK

Partitionieren und Formatieren

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Freispeicherverwaltung

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

1 Agenda. 2 Medien. 2.1 Festplatten (2) Systemprogrammierung. 2.1 Festplatten. ITeil IXI C XIII. Dateisysteme. Medien. Speicherung von Dateien

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Klausur zum Kurs Betriebssysteme (1802) am 17. September 2011

2. Darstellung von Information im Computer

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

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

Spezifikationen für die Datenträgerlöschung mit GDisk

Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Betriebssysteme (BS)

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

5.2 Analyse des File Slack

RO-Tutorien 15 und 16

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

altec ComputerSysteme Entwicklungsdokumentation Image-Dateien Datum: Oktober 12, 2010 Autor: René Bellmer altec ComputerSysteme GmbH

Übungen zum Fach Betriebssysteme Kapitel 6

Virtueller Speicher und Memory Management

I/O: Von der Platte zur Anwendung. Von Igor Engel

Implementierung von Dateisystemen

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

4.3 Hintergrundspeicher

Überlegungen beim Entwurf eines Betriebssystems

UNIX-Dateisysteme - Allgemeines

Technische Informatik 1 - HS 2017

4.1 Datenträger/Partitionen

Das ext2-dateisystem

Grundlagen Algorithmen und Datenstrukturen Kapitel 13

Betriebssysteme (BS)

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

3 ORDNER UND DATEIEN. 3.1 Ordner

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013.

Tutorium Rechnerorganisation

8. Massenspeicher und Dateisysteme

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Speicherverwaltung (Swapping und Paging)

2.3.2 Fenster verschieben Fenster überlappen

Digital Forensics. Slackspace DI Robert Jankovics DI Martin Mulazzani

GJU IT-forensics course

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

Proseminar Konzepte von Betriebssystem-Komponenten Disk-Caches & Dateizugriff von Athanasia Kaisa

Grundsoftware üblicher Computersysteme

Tutorium Rechnerorganisation

Samsung Drive Manager-FAQs

Entwicklung der Datenbanksysteme

Einführung in Dateisysteme

Datenspeicher Festplatte - USB-Stick

6.1.5 Verzeichnisdateien

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Beweglicher Kamm: - mit Schreib-/Leseköpfen, - dicht über Magnetschicht, - langsam beweglich (10 ms). Sektoren à 512 Bytes (netto.).

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Transkript:

DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3. Folie:... 5 4. Kontrollfragen... 6 Referatstermin: 25. März 1996

AUFTEILUNG DES PLATTENSPEICHERS Unter Betriebssystemen der zweiten und dritten Generation mußte sich der Benutzer noch selbst um die Anordnung der einzelnen Dateien auf einer Magnetplatte kümmern. Einer Datei wurde ein zusammenhängender Bereich von Zylindern oder Spuren zugeordnet, und die entsprechenden Adressen mußten beim Beginn des Zugriffes zur Datei angegeben werden. Das Erweitern von Dateien war nur dann möglich, wenn hinter der Datei noch Platz frei war. Die Einteilung der gesamten Platte in gleich große Sektoren ist die Grundlage für die automatische Speicherverwaltung durch das Betriebssystem. Der Plattenspeicher wird in Belegungseinheiten (Allocation unit, Cluster) verwaltet. Die Größe eines Blockes hängt vom System und von der Art des Datenträgers ab. Üblicherweise liegen die Werte im Bereich zwischen 256 und 4096 Bytes, je nach Sektorgröße sind das 1 bis 8 Sektoren. Über die freien Belegungseinheiten muß Buch geführt werden. Eine der möglichen Methoden verwendet dazu eine Bitkette, in der jeder Belegungseinheit ein Bit entspricht. Ein anderes Verfahren verkettet freie Blöcke, wobei die freien Blöcke selbst zur Aufnahme der Kette dienen. Aus Effizienzgründen wird die Kette so aufgebaut, daß ein Block gleich die Adressen mehrerer freier Blöcke enthält. Auf manchen Systemen übernimmt das Betriebssystem auch die Verwaltung schadhafter Blöcke. Kleine Materialfehler sind schon bei der Fertigung einer Magnetplatte nicht auszuschließen, weitere schadhafte Stellen entstehen im Laufe der Zeit (Verschmutzung). Blöcke die keine korrekte Aufzeichnung der Daten ermöglichen, werden beim Formatieren oder beim Lesen erkannt und aus dem Verkehr gezogen. Intelligente Controller sind der Lage, anstelle eines schadhaften Blocks einen Ersatz aus einem Vorrat guter Blöcke zuzuteilen. DER AUFBAU VON DATEIEN Mit den vergebenen Blöcken wird Speicherplatz für eine Datei aufgebaut. Für den Programmierer ist es am einfachsten und bequemsten, innerhalb einer Datei einen linearen Adreßraum zur Verfügung zu haben. Das bedeutet, daß die Daten einfach mit 0, 1, 2,... adressiert werden können. Die Speicherverwaltung wird daher nicht nur registrieren müssen, welcher Datei ein Block zugeteilt wurde, sondern auch an welcher Stelle im Adreßraum der Datei der Block liegt. Diese Anforderungen können mit verschiedenen Verfahren gelöst werden. Eine Möglichkeit ist das Verketten der Blöcke in der Reihenfolge, in der sie den Adreßraum der Datei bilden. Die Kette könnte in den Blöcken gespeichert werden, aber das ist aus zwei Gründen schlecht: 1. Es wären zum Auffinden des n-ten Blockes n Zugriffe erforderlich weiterer 2. Eine fehlerhafte Stelle in der Kette würde das Auffinden Daten in der Folge sehr erschweren

Besser ist es daher, die Ketten aller Dateien zu sammeln und geordnet in einem eigenen Speicherbereich unterzubringen, der aus Sicherheitsgründen auch zweifach gespeichert werden kann. MS-DOS legt auf jedem Datenträger eine Tabelle (File allocation table = FAT) an, in der die Verwendung jedes Blocks registriert wird. Diese Datenstruktur ist Rückrat und Achillesferse er Speicherverwaltung. Ein Fehler in einem Eintrag würde zum Abreißen der Kette und zum Verlust des Restes der Datei führen. Der falsche Eintrag könnte an irgendeiner Stelle in der Kette einer anderen Datei führen, sodaß einige Datenblöcke gleichzeitig zu zwei Dateien gehören. Um derlei unangenehme Effekte zu vermeiden, wird die FAT auf jedem Datenträger zweimal aufgezeichnet. Die Information in einer FAT reicht sogar dazu aus, gewisse Fehler beheben zu können. Eine vollständige Kette bei der nur der Anfang fehlt (nach der Zerstörung eines Dateiverzeichnisses) kann vollkommen hergestellt werden. Bei MS-DOS wäre das der Befehl chkdsk. Ein schadhafter Sektor führt noch nicht zum Vollständigen Verlust einer Datei. Der Befehl recover ist im Stande die Datei bis auf den schadhaften Sektor wiederherzustellen. Ein ganz anderes Verfahren entsteht, wenn ein Index der verwendeten Blöcke aufgebaut wird. Ein Index ist eine Datenstruktur, die mit Hilfe eines Suchbegriffes - in diesem Fall die Blocknummer - das Auffinden der entsprechenden Daten ermöglicht. Das Betriebssystem UNIX verwendet einen solchen Index, der in einem eigenen Speicherbereich, dem Indexblock (Index node, Inode), gespeichert wird. Neben dem Index sich im Indexblock auch der Eigentümer der Datei, Zugriffsberechtigungen und andere Attribute eingetragen. Da ein Indexblock eine feste Größe hat, kann nur eine beschränkte Anzahl von Blocknummern eingetragen werden. Weitere Blocknummern müssen indirekt adressiert werden, wie Abb. 6.5 zeigt. I-node Datenblöcke Indexblöcke

Indexblöcke und Datenblöcke unter UNIX Erklärung: Die ersten zehn Einträge im Indexblock zeigen direkt auf Datenblöcke. Da UNIX den Indexblock im Arbeitsspeicher hält, können diese Datenblöcke ohne zusätzliche Plattenzugriffe erreicht werden. Der elfte Eintrag zeigt auf einen Block, in dem Adressen weiterer Datenblöcke stehen. Reicht dieser Block nicht aus, so wird im zwölften Eintrag die Adresse eines Blocks gespeichert, der Adressen von Blöcken mit Adressen von Datenblöcken enthält. Der dreizehnte Eintrag führt nach dreifach indirekter Adressierung zu den Daten. Bei einer Blockgröße von 1024 Bytes kann auf Dateien bis zu 10KByte ohne zusätzlichen Aufwand zugegriffen werden. Größere Dateien erfordern ein bis drei zusätzliche Zugriffe, bis die Daten erreicht werden. Die Effizient des Verfahrens hängt offensichtlich von der durchschnittlichen Länge der Dateien in einem System ab. Die Zerstörung eines Indexblocks führt zum Verlust einer einzigen Datei. Wenn durch Zerstörung eines Dateiverzeichnisses der letzte Verweis auf einen Indexblock gelöscht wird, bleibt die Datei intakt, kann aber nicht mehr aufgefunden werden. Da UNIX Blöcke aus Effizienzgründen nicht sofort auf die Magnetplatte schreibt, sind Fehler nach plötzlichen Abschalten des Systems nicht ausgeschlossen. Ein Programm zur Untersuchung des Dateisystems wird daher routinemäßig nach dem Laden des

Betriebssystems ausgeführt. Gefundene Dateien werden in einem eigenen Dateiverzeichnis namens / lost+found abgelegt. Die bisher vorgestellten Verfahren nehmen keine Rücksicht auf die tatsächliche Anordnung der Blöcke einer Datei auf der Magnetplatte, jeder Block muß daher einzeln adressiert werden. Wenn Vergabeeinheiten nicht einzeln, sondern in zusammenhängenden Bereichen zugeteilt werden, genügt pro Bereich eine Adresse und die Länge. Am flexibelsten sind Systeme, die einerseits die Vorgabe eines bestimmten Einheit für die Zuteilung zulassen, andererseits auf Wunsch eine Datei auch in möglichst wenigen zusammenhängenden Bereichen unterzubringen versuchen, wobei auch ein einziger Bereich gefordert werden kann. Ziel dieser Methode ist es, die Zugriffszeit zu den Blöcken einer Datei zu verkürzen. Ein Betriebssystem, das diese Technik verwendet, ist VAX/VMS. Dort wird eine Datei durch einen File-Header beschrieben, in dem - ähnlich wie im Indexblock in UNIX - der Eigentümer, Zugriffsberechtigungen, die Zeitpunkte des Anlegens und des letzten Zugriffs und ähnliches eingetragen werden. Jeder zusammenhängende Bereich von Datenblöcken ist im File-Header eingetragen. Sollte eine Datei in zu viele Bereiche zersplittert sein, daß die Einträge eines Headers nicht ausreichen, dann wird ein zweiter Header zu dieser Datei angelegt, der Platz für weitere Bereichseinträge bietet. Vorteilhaft wirkt sich die zusammenhängende Lage einer Datei dann aus, wenn die ganze Datei - oder zuminderst große Teile davon - auf einmal gelesen werden. Das kommt vor allem beim Laden von Programmen vor. Auf Systemen, die Dateien nicht systematisch in zusammenhängenden Speicherbereichen unterzubringen versuchen, ist es daher besser die Dateien von Zeit zu Zeit auf der Magnetplatte umzuordnen, sodaß die Blöcke der einzelnen Dateien nicht verstreut liegen. Folie: I-node Indexblöcke Datenblöcke

Abb. 6.5. Indexblöcke und Datenblöcke unter UNIX Kontrollfragen Warum ist das Speichern von Blöcken in der Kette schlecht? 1. Es wären zum Auffinden des n-ten Blockes n Zugriffe erforderlich

2. Eine fehlerhafte Stelle in der Kette würde das Auffinden weiterer Daten in der Folge sehr erschweren Welche 2 Befehle gibt es zum Herstellen verlorener Dateien? chkdsk : Eine vollständige Kette bei der nur der Anfang fehlt (nach der Zerstörung eines Dateiverzeichnisses) kann vollkommen hergestellt werden. Bei MS- DOS wäre das der Befehl chkdsk. recover : Ein schadhafter Sektor führt noch nicht zum Vollständigen Verlust einer Datei. Der Befehl recover ist im Stande die Datei bis auf den schadhaften Sektor wiederherzustellen. Wobei kann es zu Fehlern kommen; Wo kommen die Dateien hin? Da UNIX Blöcke aus Effizienzgründen nicht sofort auf die Magnetplatte schreibt, sind Fehler nach plötzlichen Abschalten des Systems nicht ausgeschlossen. Ein Programm zur Untersuchung des Dateisystems wird daher routinemäßig nach dem Laden des Betriebssystems ausgeführt. Gefundene Dateien werden in einem eigenen Dateiverzeichnis namens / lost+found abgelegt.