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

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

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

Ein- und Ausgabegeräte

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

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

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

Dateisysteme. Erweiterte Anforderungen an Speicher

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

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

Leichtgewichtsprozesse

Leichtgewichtsprozesse

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

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

Überlegungen beim Entwurf eines Betriebssystems

Computer-Systeme Teil 16: Dateisysteme

Lösung von Übungsblatt 3

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

Systemprogrammierung

Betriebssysteme 1. Thomas Kolarz. Folie 1

Lösung von Übungsblatt 6

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Betriebssysteme (BS)

5 Kernaufgaben eines Betriebssystems (BS)

J. Plattenspeicher J.1.1 Einordnung

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

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

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

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.

8. Massenspeicher und Dateisysteme

Freispeicherverwaltung Martin Wahl,

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Geräteverwaltung: Einführung

RO-Tutorien 15 und 16

Betriebssysteme (BS)

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

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

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

Dateisysteme. Was ist ein Dateisystem?:

Kapitel II. Rechnersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Freispeicherverwaltung

Virtueller Speicher und Memory Management

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

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

Literatur. Betriebssysteme - WS 2015/16 - Teil 15/Dateisysteme1

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

Wiederholung: Realisierung von Dateien

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

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

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

Dateisystem: Einführung

Dateisystem: Einführung

Single- und Multitasking

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Dateisystem: Einführung

Dateisystem: Einführung

Grundlagen der Dateisysteme. Daniel Lieck

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

Multibooting mit Windows 2000 und Windows XP

6 Dateisysteme (2) 6 Dateisysteme. 6 Dateisysteme (4) 6 Dateisysteme (3)

eine Partition ist eine Menge von Verzeichnissen und deren Dateien auf einem Teil eines Datenträgers jede Partition erhält ihr eigenes Dateisystem

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

Prozessor (CPU, Central processing unit) Franz J. Hauck, Universität Erlangen-Nürnberg, IMMD IV, 1998 F-File.doc

F.2 Speicherung von Dateien

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen

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

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Anzeigen des Ereignisprotokolls (Windows) Anzeigen aller Fehler im Anwendungsprotokoll (Windows)

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

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

Kapitel II Einführung: Hardware und Software VO Betriebssysteme 1

Teil 2: Speicherstrukturen

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Das virtuelle Dateisystem von Linux (VFS)

Teil 3: Konzepte von Betriebssystemen

Einführung in Dateisysteme

Transkript:

Betriebssysteme I WS 2017/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) i

Betriebssysteme I WS 2017/2017 7 Ein-/Ausgabe und Dateisysteme Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 325

7 Ein-/Ausgabe und Dateisysteme... Inhalt: Schichten der E/A-Software Ansätze zur Durchführung der E/A Festplatten (Dateiverwaltung, 1.5.3) Realisierung von Dateisystemen Tanenbaum 5.2-5.4, 6.1-6.3, 6.4.5 Stallings 11.2-11.6, 12.1, 12.3, 12.5-12.7 Nehmer/Sturm 10.1, 9 Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 326

7.1 Schichten der E/A-Software Schichten bei der Ein-/Ausgabe: Benutzer Adreßraum Kern Adreßraum Hardware Benutzer E/A Software Geräteunabhängige BS Software Gerätetreiber Unterbrechungsroutinen Geräte Controller Geräte E/A Software In der Regel für jeden Gerätetyp eigene Controller und Gerätetreiber Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 327

7.1 Schichten der E/A-Software... Gerätetreiber Geräteabhängiger Teil der E/A-Software kommuniziert direkt mit dem jeweiligen Geräte-Controller Heute i.d.r. in Kern-Adreßraum eingebunden beim Hochfahren des BSs oder zur Laufzeit Problem: fehlerhafte Treiber können zu BS-Abstürzen führen Lösungsmöglichkeiten: zertifizierte Treiber Treiber als Systemprozesse im Benutzeradreßraum Universalgeräte mit universellen Treibern Einheitliche Schnittstelle zwischen Treibern und BS nur Unterscheidung block-/zeichenorientierte Geräte Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 328

7.1 Schichten der E/A-Software... Geräteunabhängige E/A-Software Aufgaben: Einheitliche Schnittstelle für Gerätetreiber Namensgebung für Geräte, Zuordnung zu Treibern Zugriffsschutz Pufferung von Daten Fehlerbehandlung Anforderung und Freigabe von Geräten für exklusive Nutzung, z.b. CD-Brenner Verdeckung von Unterschieden der Geräte z.b. unterschiedliche Blockgrößen Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 329

7.1 Schichten der E/A-Software... Geräteunabhängige E/A-Software... Bereitgestellte Grundfunktionen: Öffnen eines Geräts Argumente: Gerätename, Betriebsparameter Ergebnis: Handle zum Zugriff auf das Gerät Schließen des Geräts Lesen / Schreiben von Daten(blöcken) In UNIX: Geräte sind in das Dateisystem abgebildet z.b. /dev/mouse, /dev/hda Zugriff auf Geräte über normale Dateioperationen Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 330

7.1 Schichten der E/A-Software... Benutzer-E/A-Software Bibliotheksfunktionen z.b. zur formatierten Ein-/Ausgabe von Zeichenketten Spooling-System Hintergrundprozesse nehmen Auftrag entgegen und führen eigentliche E/A durch E/A-Geräte müssen nicht mehr exklusiv zugeteilt werden Beispiele: Drucker, Mail-System Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 331

7.1 Schichten der E/A-Software... Zusammenfassung: Kontrollfluß im E/A-System E/A Anforderung E/A Antwort Benutzerprozeß Geräteunabhängige Software Gerätetreiber Unterbrechungs behandlung Hardware E/A Funktionen: E/A Aufruf, Formatierung, Spooling Benennung, Schutz, Puffern, Belegen Geräteregister schreiben/lesen, Status prüfen Treiber aktivieren, wenn E/A beendet E/A Operation durchführen Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 332

7.2 Ansätze zur Durchführung der E/A Programmierte E/A Gerätetreiber wartet nach einem Auftrag an den Controller aktiv (in einer Warteschleife) auf das Ergebnis aktives Warten (busy waiting) Beispiel: Treiber-Code zur Ausgabe auf einen Drucker Puffer aus Benutzer Adreßraum in Kern Adreßraum kopieren; // buf = Puffer im Kern, count = Länge for (i=0; i<count; i++) { while (printer.status!= READY); // aktives Warten! printer.data = buf[i]; // ein Zeichen ausgeben } scheduler(); // Rückkehr in Benutzermodus Nachteil: ineffizient CPU könnte der Zwischenzeit andere Aufgaben erfüllen Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 333

7.2 Ansätze zur Durchführung der E/A... Interrupt-gesteuerte E/A Treiber beauftragt den Controller und kehrt sofort zurück auftraggebender Thread wird ggf. blockiert Controller sendet Interrupt an CPU, wenn der Auftrag erledigt ist d.h. Gerät ist wieder bereit i.d.r.: Interrupt-Nummer identifiziert das Gerät Treiber behandelt die Unterbrechung auftraggebender Thread ggf. wieder rechnend gesetzt Sinnvoll bei langsamen E/A-Geräten Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 334

7.2 Ansätze zur Durchführung der E/A... Interrupt-gesteuerte E/A... Beispiel: Ausgabe auf Drucker Treiber Code Benutzer Puffer kopieren; // ==> buf, count while (printer.status!= READY); printer.data = buf[0]; i = 1; aktuellen Thread T blockieren; scheduler(); Interrupt Handler (im Treiber) if (i == count) { Thread T bereit setzen; } else { printer.data = buf[i]; i = i+1; } Interrupt bestätigen; Rückkehr aus Interrupt Routine; Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 335

7.2 Ansätze zur Durchführung der E/A... Direkter Speicherzugriff (Direct Memory Access, DMA) Transport der Daten zwischen Controller und Speicher erfolgt nicht durch die CPU, sondern durch separate Hardware (DMA-Controller) oft auch in Geräte-Controller integriert Treiber sendet Geräte-Adresse, Startadresse und Länge der Daten, sowie Transferrichtung an DMA-Controller DMA-Controller erzeugt Interrupt als Fertigmeldung Vorteile: Entlastung der CPU, Einsparung von Interrupts Sinnvoll (nur) bei Übertragung größerer Datenblöcke DMA-Controller arbeitet nebenläufig mit CPU DMA-Controller aber oft langsamer als CPU Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 336

7.2 Ansätze zur Durchführung der E/A... Direkter Speicherzugriff (Direct Memory Access, DMA)... Beispiel: Ausgabe auf Drucker Treiber Code evtl.: Benutzer Puffer kopieren; // ==> buf, count DMA Controller aufsetzen // Parameter: buf, count, printer aktuellen Thread T blockieren; scheduler(); Interrupt Handler (im Treiber) Thread T bereit setzen; Interrupt bestätigen; Rückkehr aus Interrupt Routine; Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 337

7.3 Festplatten Aufbau einer Festplatte Spur (Zylinder) Schreib /Leseköpfe Sektor verschieb barer Arm Platten (je 2 Oberflächen) Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 338

7.3 Festplatten... Aufbau einer Festplatte... Spurwechesel durch Verschieben des Arms (d.h. aller Köpfe) Menge der jeweils übereinanderliegenden Spuren: Zylinder Einteilung der Festplatte (Adressierung): Oberfläche (Kopf), Zylinder, Sektor Sektor einer Spur nimmt einen Datenblock auf (meist 512 Byte) Beispiel: physische Geometrie einer 18.3 GByte Festplatte 12 Oberflächen, 10601 Zylinder, ca. 281 Sektoren Seit längerem: äußere Spuren besitzen mehr Sektoren als innere früher: Controller zeigte dem BS eine virtuelle Geometrie an heute: lineare Adressierung der Blöcke (LBA) Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 339

7.3 Festplatten... Zugriffszeit einer Festplatte Drei bestimmende Faktoren: Suchzeit (Anfahren der gewünschten Spur) im Durchschnitt ca. 5-10 ms Rotationsverzögerung (bis Sektor unter dem Kopf ist) im Durschnitt ca. 2-6 ms (5400-15000 U/min) Dauer der Datenübertragung ca. 5-100 µs pro Block Zugriffszeit dominiert durch Suchzeit, daher: Dateien möglichst in aufeinanderfolgenden Sektoren meist auch: Prefetching und Caching geeignetes Scheduling der Plattenzugriffe Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 340

7.3 Festplatten... Scheduling von Plattenzugriffen FCFS: viele unnötige Bewegungen des Plattenarms SSF (Shortest Seek First) Zugriffe in der Nähe der aktuellen Position bevorzugen Problem: Unfairness, Verhungerung möglich Aufzug-Algorithmus erst in eine Richtung, bis es in dieser Richtung keine Anfragen mehr gibt; dann Richtung wechseln Anfangsposition Zugriffsanfragen x x x x x x x 0 5 10 15 20 25 Zylinder Suchsequenz: Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 341

7.4 Realisierung von Dateisystemen Schichtenmodell Datenträgerorganisation einheitliche Schnittstelle zu allen Datenträgern Datenträger als Folge von Blöcken betrachtet Blockorientiertes Dateisystem Realisierung von Dateien Dateiverwaltung Dateinamen und Verzeichnisse Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 342

7.4 Realisierung von Dateisystemen... Datenträgerorganisation Evtl. Einteilung des Datenträgers in Partitionen Partition wird als Folge von (logischen) Blöcken betrachtet Blöcke fortlaufend numeriert Typisches Layout einer Festplatte (UNIX): MBR Partitionstabelle Partition 1 Partition 2... Boot block Super block Freispeicher verwaltung I Nodes Wurzel verzeichnis Dateien und Verzeichnisse MBR: Master Boot Record Superblock: Verwaltungsinformation der Partition Größe, Blockgröße,... Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 343

7.4 Realisierung von Dateisystemen... Datenträgerorganisation: Aufgaben Formatieren des Datenträgers Lesen / Schreiben von Blöcken Verwaltung freier Blöcke vgl. dynamische Speicherverwaltung! meist: Bitvektoren statt Freispeicherliste Bit i gesetzt Block i belegt Bitvektor wird auf Datenträger gespeichert Verwaltung defekter Blöcke ebenfalls über Bitvektoren Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 344

7.4 Realisierung von Dateisystemen... Blockorientiertes Dateisystem Datei als Folge von Blöcken realisiert Zuteilung von Blöcken an Dateien: zusammenhängende Belegung 0 1 2 Datei durch Anfangsblock und Blockanzahl beschrieben sehr gute Performance beim Lesen Problem: Speicherverwaltung (vgl. 6.2) Anfügen an Dateien, Fragmentierung,... verteilte Belegung 2 0 1 einfache Speicherverwaltung, schlechtere Performance Praxis: Belegung möglichst zusammenhängend Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 345

7.4 Realisierung von Dateisystemen... Blockorientiertes Dateisystem: verteilte Belegung Realisierung durch verkettete Listen Verkettung innerhalb der Blöcke 0 1 2 3 4 5 6 7 8 Datei Datei Datei Datei Datei Datei block 2 block 0 block 0 block 1 block 1 block 2 Datei A Datei B Nachteile: wahlfreier Zugriff ineffizient, Dateiblock-Länge keine Zweierpotenz mehr Realisierung durch externe Tabelle (File Allocation Table, FAT) Verkettung ausserhalb der Blöcke Tabelle kann (teilweise) im Hauptspeicher gehalten werden Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 346

7.4 Realisierung von Dateisystemen... Blockorientiertes Dateisystem: verteilte Belegung... Realisierung durch Index-Knoten (I-Nodes) jeder Datei ist eine Datenstruktur (I-Node) zugeordnet I-Node enthält Tabelle mit Verweisen auf Dateiblöcke wegen Speicherplatzbedarf: Tabelle ggf. mehrstufig Tabelle kann im Hauptspeicher gehalten werden schneller wahlfreier Zugriff auf Datei möglich Beispiel: I-Nodes in UNIX ähnliches Konzept auch in NTFS Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 347

7.4 Realisierung von Dateisystemen... Blockorientiertes Dateisystem: I-Nodes in UNIX I Node Adresse Block 0 Adresse Block 1... Adresse Block 9 Einfach indirekt Zweifach indirekt Dreifach indirekt Dateiblöcke (1 KB) mit max. 256 Verweisen................................................... Dateiblöcke mit Daten der Datei Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 348

7.4 Realisierung von Dateisystemen... Dateiverwaltung Aufgabe: Realisierung von Verzeichnissen Verzeichnis enthält für jede Datei: Dateiname, Plattenadresse (erster Dateiblock, I-Node), Dateiattribute Anmerkung: Bei Verwendung von I-Nodes werden die Dateiattribute im I-Node gespeichert Dateiattribute (u.a.): Eigentümer, Schutzinformation (Zugriffsrechte),... Dateityp, Sperre, archiviert,... Erstellungszeit, Zeit der letzten Änderung,... Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 349

7.5 Zusammenfassung / Wiederholung Schichten der E/A-Software Benutzer-E/A-Software, geräteunabhängige BS-Software, Gerätetreiber, Unterbrechungsroutinen Treiber: geräteabhängig, zur Laufzeit in BS-Kern geladen Durchführung der E/A: programmierte E/A, Interrupts, DMA Festplatten: eingeteilt in Oberfläche, Zylinder, Sektor Aufbau von Dateisystemen: Schichtenmodell Datenträgerorganisation Freispeicherverwaltung Blockorientiertes Dateisystem (Datei = Menge von Blöcken) zusammenhängende / verteilte Belegung von Blöcken Dateiverwaltung Verzeichnis: Name, Adresse, Attribute für jede Datei Betriebssysteme / verteilte Systeme Betriebssysteme I (1/15) 350