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



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

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

Systemprogrammierung

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

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

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

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

I/O-Hardware Grundlagen. Ein- und Ausgabe. Memory-Mapped I/O. Device Controller

Systemprogrammierung

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Ein und Ausgabe. von Neumann Konzept enthält folgende Komponenten: Rechenwerk Steuerwerk Speicher Eingabewerk Ausgabewerk (siehe 1.

6.2 FAT32 Dateisystem

10. Implementierung von Dateisystemen

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

Dateisysteme. Erweiterte Anforderungen an Speicher

Lösung von Übungsblatt 6

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

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

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

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

F.2 Speicherung von Dateien

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

)$7)HVWSODWWHQ3DUWLWLRQ:HQLJHUNDQQPHKUVHLQ

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Dateisystem: Einführung

Dateisystem: Einführung

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Grundlagen der Informatik III Wintersemester 2010/2011

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

Dateisystem: Einführung

Dateisystem: Einführung

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

5. Semester Informatik Betriebssysteme Schriftliche Prüfung SS 2000

Brainloop Secure Courier - Kurzanleitung

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

Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.

Betriebssysteme (BS)

Betriebssysteme (BS)

Sichere Kommunikation Allianz Encryption Service

LCD-Verwaltungssoftware LCD-VSW

Drucken und Löschen von angehaltenen Druckaufträgen

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

Datenbanksysteme SS 2013

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

Anhang B. Regression

Anleitung. Mooy Logistics Servicedesk. Version: 1.2 Date:

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

Drucken und Löschen von angehaltenen Druckaufträgen

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

Daten senden und empfangen an eine nicht parametrierte CPU. Datenkommunikation. Inhaltsübersicht

Dateisysteme 2010/11 IAIK

Ein- und Ausgabegeräte

Swissfire swiss forest fire database Waldbranddatenbank der Schweiz. Webapplikation Datenverwaltung. Gebrauchsanleitung.

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

UNIX-Dateisysteme - Allgemeines

Themenfeld Datenbanken

Betriebssystem-basierte Virtualisierung

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Kapitel 8 - Das Dateisystem 1/33

Einführung in die Informatik

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

CS-Zusammenfassung für Prüfung 2 vom

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

1. Allgemeine Datei (Binärdatei mit formatierten Inhalt)

Partitionieren und Formatieren

10 Implementierung von Dateien

Wiederholung: Realisierung von Dateien

Garmin POI-Sammlungen Download und Installationsanleitung

GI Vektoren

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

Datenorganisation. Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also

5 Kernaufgaben eines Betriebssystems (BS)

Systeme I: Betriebssysteme Übungsblatt 3

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Komprimieren von Daten

Lösung von Übungsblatt 4

Grundlagen der Programmierung. Kapitel 10: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

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

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

Grundlagen der Dateisysteme. Daniel Lieck

Internet Protokoll. Die Funktionen von IP umfassen:

Diskrete und Kontinuierliche Modellierung

Transkript:

Betriebssysteme Folie 6-1 6 Dateiverwaltung Rechner muß unterschiedliche Geräte bedienen können zeichenorientierte Geräte (character devices, unstructured devices) (z.b. Sichtgeräte, Drucker oder Übertragungsleitungen in Rechnernetzen) blockorientierte Geräte (block devices, structured devices) (z.b. Magnetplatten oder Magnetbänder) bei blockorientierten Geräten wird zwischen Rechner und Gerät immer ein Datenblock anstelle eines einzelnen Zeichens übertragen Beispiel: Ablauf einer Ein- / Ausgabe (Programm - Fragment) PROGRAM Adresskartei; (* Bearb. einer Mitgliederkartei *) CONST len = 3; TYPE KARTE = RECORD name: ARRAY [1..len] OF CHAR; vorname: ARRAY [1..len] OF CHAR; strasse: ARRAY [1..len] OF CHAR; hausnr: 1..9999; plz: 1..9999; ort: ARRAY [1..len] OF CHAR; bezirk:..999; telefon: ARRAY [1..len] OF CHAR; END; KARTEI = FILE OF KARTE; VAR mitglieder: KARTEI; satz: KARTE; BEGIN (* ====== Hauptprogramm ====== *) RESET (mitglieder); READ (mitglieder, satz); END.

Betriebssysteme Folie 6-2 Annahme: jedes Zeichen einer Karteikarte wird in 1 Byte und jede Zahl in 2 Byte gespeichert eine Karteikarte ist 156 Byte groß aus der Sicht des Programms besteht die Adreßdatei aus einer Folge von 156 Byte langen Sätzen für das Betriebssystem ist die Strukturierung der Datei auf Programmebene ohne Bedeutung das Betriebssystem teilt die Datei in eine Folge logisch aufeinanderfolgender Bereiche (logische Blöcke) ein das blockorientierte Gerät (z.b. Magnetplatte) hat eine völlig andere Blockstruktur (z.b. den Sektor als kleinste Transporteinheit) das Betriebssystem muß die logischen Blöcke der Datei auf die Blöcke des Gerätes abbilden Problem: die einzelnen Geräte besitzen i.a. völlig unterschiedliche Geräteparameter (z.b. unterschiedlich viele Oberflächen, Spuren pro Oberfläche, Sektoren pro Spur oder Sektorgrößen), so daß eine direkte Abbildung gerätespezifisch erfolgen müßte

Betriebssysteme Folie 6-3 Beispiel: Disketten 1) 5,25"-Disketten mit einer Kapazität von 36 KB: 2 Köpfe, 4 Spuren pro Kopf, 9 Sektoren pro Spur 2) 5,25"-Disketten mit einer Kapazität von 1,2 MB: 2 Köpfe, 8 Spuren pro Kopf, 15 Sektoren pro Spur Lösung des Problems: jedes Gerät stellt eine Folge von physikalischen Blöcken zur Verfügung, die z.b. jeweils aus einem oder mehreren zusammenhängenden Sektoren bestehen die Geräte stellen dem Betriebssystem eine unterschiedliche Anzahl von physikalischen Blöcken zur Verfügung, sehen aber sonst identisch aus (Beispiel: bei einer physikalischen Blockgröße von 2 KB besitzt die 36 KB Diskette 18 Blöcke und die 1,2 MB Diskette 6 Blöcke) die physikalischen Blocknummern werden vom sogenannten Gerätetreiber in gerätespezifische Angaben umgesetzt

Betriebssysteme Folie 6-4 die physikalischen Blöcke eines Gerätes sind nach einiger Zeit mehr oder weniger zufällig belegt oder frei, so daß eine Datei auf dem Gerät i.a. nicht in aufeinanderfolgenden physikalischen Blöcken gespeichert wird das Betriebssystem muß die logischen Blöcke einer Datei auf die physikalischen Blöcke des Gerätes abbilden logische und physikalische Blöcke werden i.a. gleich groß gewählt Ein-/Ausgabe bei blockorientierten Geräten Puffer im Anwendungsprogramm Satz Satz 1 Satz 2 Satz 3 Datei (Sicht des Programms) Puffer im Betriebssystem Block Block 1 Block 2 Datei (Sicht des Betriebssystems: logische Blocknummern) Block Block 1 Block n Gerät (Sicht des Betriebssystems: physikalische Blocknummern) Gerätesteuerung (Sicht des Betriebssystems: Geräteparameter, wie z.b. (Zylinder, Spur, Sektor) bei einer Platte)

Betriebssysteme Folie 6-5 die Größe eines Datensatzes im Programm entspricht normalerweise nicht der Blockgröße des Betriebssystems (Beispiel: Satz der Mitgliederkartei: 156 Byte; Blockgröße auf Betriebssystemebene: 1, 2, 4 oder 8 KB) das Betriebssystem muß jeden Block zuerst in einem Systempuffer zwischenspeichern, aus dem es den gewünschten Teil der Datei in den Puffer des Anwenderprogramms kopiert (falls der gewünschte Datensatz über eine logische Blockgrenze hinausgeht, muß das Betriebssystem zwei Blöcke anfordern) während der gesamten Ein- / Ausgabeoperation befindet sich der Prozeß im Zustand blockiert das Betriebssystem verfügt i.a. über mehrere interne Puffer um den zeitaufwendigen Datenaustausch mit dem peripheren Speicher zu minimieren, so daß ein Prozeß in den meisten Fällen nicht blockiert wird, sondern seine Daten sofort aus dem internen Puffer erhält bzw. in diesen schreiben kann

Betriebssysteme Folie 6-6 6.1 Dateiverwaltung unter MS-DOS MS-DOS verwendet eine Dateizuordnungstabelle (Synonym: Dateibelegungstabelle, engl.: file allocation table, Abk.: FAT) die FAT enthält für jeden physikalischen Block einen Eintrag, der u.a. angibt, ob der Block frei, unbrauchbar (fehlerhaft) oder einer Datei zugeordnet ist (im Betriebssystem MS-DOS heißen diese Blöcke Sektorgruppe oder cluster) im Dateiverzeichnis wird der Dateiname mit der ersten Blocknummer der Datei verknüpft diese Nummer wird einerseits dazu verwendet, den ersten Datenblock der Datei auf dem Datenträger zu lokalisieren und andererseits als Index in die FAT, um die Blocknummer des nächsten Datenblocks der Datei zu bestimmen der Wert eines Eintrags in der FAT ist entweder ein reservierter Wert (Dateiende, fehlerhafter Block) oder die Blocknummer des nächsten Datenblocks der Datei, die ihrerseits auf die gleiche Art verwendet werden kann wie die Nummer aus dem Eintrag im Dateiverzeichnis) MS-DOS verwendet eine spezielle Form einer verketteten Liste, um die Datenblöcke einer Datei zu finden

Betriebssysteme Folie 6-7 6.2 Dateiverwaltung unter UNIX Umwandlung von logischen in physikalische Blocknummern unter UNIX Dateikopf (i-node) Datenblöcke der Datei Typ + Zugriffsrechte Datenblock Referenzzähler Benutzernummer Gruppennummer Dateilänge Erstellungsdatum Datenblock 9 Datum des letzten Zugriffs Datum der letzten Änderung physikalische Blocknummer für logischen Block physikalische Blocknummer für logischen Block 9 physikalische Blocknummer für 1-fach indirekten Block physikalische Blocknummer für 2-fach indirekten Block physikalische Blocknummer für 3-fach indirekten Block Datenblock 1 Datenblock 137 Datenblock 138 Datenblock 16.521 Datenblock 16.522 Datenblock 2.113.673

Betriebssysteme Folie 6-8 UNIX verwendet eine Dateikopfliste (i-node-list), in der alle notwendigen Angaben zu einer Datei gespeichert sind das Dateiverzeichnis enthält den Dateinamen und die Nummer des zugehörigen Dateikopfes (i-node) falls eine Datei unter verschiedenen Namen bekannt ist (z.b. in verschiedenen Dateiverzeichnissen) müssen die Daten nur einmal gespeichert werden, da ein Referenzzähler im Dateikopf angibt, wie viele Verweise auf die Datei existieren die Datenblöcke einer Datei werden erst dann gelöscht, wenn der Referenzzähler den Wert annimmt sobald eine Datei geöffnet wird, wird der Dateikopf von der Platte in den Hauptspeicher übertragen und bleibt dort solange bis die Datei wieder geschlossen wird die logischen Blocknummern werden als Index in eine Verweisstruktur verwendet (die Nummern der ersten 1 Blöcke können direkt über den Dateikopf umgewandelt werden, so daß ein schneller Zugriff auf kleine Dateien sichergestellt ist. Falls die Datei größer ist, werden die nächsten Blöcke über (mehrstufige) Verweisblöcke adressiert)

Betriebssysteme Folie 6-9 UNIX erlaubt Dateien bis zu 4 GB Größe Beispiel: Es werde der 54.224-te Satz (Satzlänge 156 Byte) der Mitgliederkartei gesucht. Die physikalische Blockgröße betrage 512 Byte. Welcher Datenblock muß von der Platte gelesen werden? Der gesuchte Satz befindet sich im logischen Block mit der Nummer (54.224 x 156) / 512 = 16.521 Der physikalische Block kann nur über zwei Indexblöcke bestimmt werden (siehe obige Abbildung). Da die 2-fache Indizierung ab Block 138 beginnt, muß die logische Blocknummer 16.521 für die weitere Rechnung um diesen Wert reduziert werden (die Indizierung kann als ein Zahlsystem zur Basis 128 interpretiert werden). Aus dem Dateikopf ist die physikalische Blocknummer des ersten Indexblocks bekannt. Der Block wird eingelesen und es wird der Index für den nächsten Indexblock berechnet. (16.521-138) / 128 = Der Indexblock, den die dortige Blocknummer angibt, wird eingelesen. In diesem Block enthält der Eintrag 16.521-138 - x 128 = die physik. Blocknummer des Datenblocks mit dem gesuchten Satz.

Betriebssysteme Folie 6-1 Aufgaben 1) Warum gibt es physikalische Blocknummern? 2) Welche Aufgabe hat die Gerätesteuerung? 3) Wie werden die logischen Blocknummern einer Datei in physikalische Blocknummern bei MS-DOS umgesetzt?