38
Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5, 5, 6, 10, 11 Filesysteme werden meist auf ein Medium gespeichert (im Gegensatz zu Filesystemen, welche z.B. ausschliesslich im RAM bestehen) Medien werden über Ein / Ausgabe Systeme angesprochen: -I / O Gerät, HW zentrale Funktion eines OS ist ein abstraktes Interface zur HW zu liefern der Zugriff auf I/O geschieht über Syscall: - in C: open, read, write greifen auf Systemfunktionen zu

Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Embed Size (px)

Citation preview

Page 1: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -

Dat

eisy

stem

eDateisysteme - Übersicht

1

basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2nd Edition", Kapitel 1.5.4, 1.5.5, 5, 6, 10, 11

Filesysteme werden meist auf ein Medium gespeichert (im Gegensatz zu Filesystemen, welche z.B. ausschliesslich im RAM bestehen)

Medien werden über Ein / Ausgabe Systeme angesprochen:-I / O Gerät, HW

zentrale Funktion eines OS ist ein abstraktes Interface zur HW zu liefern

der Zugriff auf I/O geschieht über Syscall:- in C: open, read, write greifen auf Systemfunktionen zu

Page 2: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -D

atei

syst

eme

Dateisysteme - Übersicht

2

FS ist üblicherweise in Verzeichnisse & Dateien strukturiert- hierarchische Struktur

Baumförmig:-Unix: 1 Wurzel (root, /)-Microsoft Systeme bis Win2000: mehrere Wurzeln, danach mount Points möglich

Dateien werden über Pfad angesprochen jeder Prozess besitzt einen aktuellen eigenen Pfad (current working directory)

relative Pfade führen vom current working directory aus wechsel des "current directory" mit cd (change directory) absoluter Pfad:- Unix: /home/testuser- Windows: C:\Programme- wobei C: das Laufwerk bezeichnet

Page 3: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -D

atei

syst

eme

Dateisysteme - Übersicht

3

Applikationen arbeiten mit File Deskriptoren (FD) bei open bekommt die Applikation einen FD die Dateidesktiptoren werden vom OS verwaltet

Verschiedene Medien und Dateisysteme werden unter Unix mittels mount miteinander verbunden

dabei wird ein Dateisystem in ein angelegtes Verzeichnis in den Root Baum eingebunden

Page 4: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -D

atei

syst

eme

Dateisysteme - Übersicht

4

bei Microsofts Dateisystemen werden einzelne Medien mittels verschiedener Laufwerksbuchstaben angesprochen (C:, D:, ...)

Page 5: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/OI/O - Übersicht

5

unter Unix tauchen Geräte unter /dev als special Files auf Geräte "sehen" aus wie normale Dateien aus und können mit den gleichen Mitteln manipuliert werden:-Programmatisch per: open, read, write, ...

-von der Kommandozeile aus per cp, cat, grep, ...

Unix versucht alle Ressourcen dem Benutzer als Dateien anzubieten

Geräte werden unterteilt in Block und Character Devices unterteilt

Block Devices:- HD [/dev/hda], CD ROM [/dev/cdrom], ...- Übertragung von Daten in Blöcken- Random Access

Character Devices:- Maus [/dev/mouse], Drucker [/dev/lp0], Netzwerk- nur einzelne Zeichen können übertragen werden

einige Geräte passen nicht ins Schema:-Uhr (clock)

-generieren Interrupts

Page 6: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/OI/O - Übersicht

6

unter Unix ist auch Kommunikation zwischen Prozessen möglich, indem auf die gleichen Werkzeuge zugegriffen wird:-Pipes

Pipes stellen Pseudodateien dar für die Beteiligten Prozesse sieht die Kommunikation wie Lese- und Schreibzugriffe auf Dateien aus

Page 7: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

Ein / Ausgabe

7

Hauptfunktion eines OS ist die Kontrolle und Verwaltung der Ein / Ausgabe Geräte- Kommandos an Gerät schicken, Antworten decoden- Geräte initialisieren- Interrupts behandeln- Fehler behandeln-einfach zu benutzendes Interface zur Verfügung stellen- möglichst uniformes Interface zu allen Geräten bieten

Page 8: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

Ein / Ausgabe

8

ApplikationUserspace

AdressierungKernelspace

Geräte-unabhängigeSchicht

Geräte-abhängigeSchich - Treibert

Buffering

etc.

gemeinsam

spezifisch

Interrupt Treiber

Kontroller

HW

Gerät

Page 9: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

Ein / Ausgabe

9

Arbeit eines Kontrollers:-Umsetzung von virtueller auf physische Adressen-Fehlerkorrektur-Buffering (serieller Strom v. Bits & Bytes -> zusammenfügen z.B zu Blöcken)

Page 10: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

10

Kontroller hat Register, wie eine CPU wie Kommuniziert CPU mit Kontroller

Port I/O:-IN REG, Port-OUT Port, Reg-> Spezielle Assembler Befehle- bei Mainframes verwendet (IBM 360)

- Adresse wird auf Bus gelegt- Leitung für Port I/O Signalisation wird gesetzt

Memory-Mapped I/O:- modernere Variante, ab PDP-11

Memory Mapped und Port-I/O

Page 11: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

11

Memory Mapped und Port-I/O

Port-I/O Memory Mapped I/O hybride Version

Page 12: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

12

Memory Mapped und Port-I/O

Page 13: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

13

bei Pentium:-Port I/O -> 0-64K-Memory Mapped I/O -> 640K-1M

Vor/Nachteile: Port-IO verwendet spezielle Maschinen-Befehle-> Programmierung aus Hochsprache, welche direkte Adressierung unterstützen -“wie C, C++ - nicht möglich-> es muss Assembler verwendet werden

MMU (Memory Management Unit)/CPU bieten Speicherschutz,Port-I/O jedoch ist ein Maschinenbefehl, der im Prinzip von jedem User verwendet werden kann-> Zusätzlicher Schutzmechanismus nötig

Memory-Mapped I/O Operationen sind herkömmliche Operationen auf dem Speicher-> die ganze Palette von Maschinenbefehlen kann verwendet werden

hingegen werden Speicheroperationen in der CPU gecached (L1, L2)-> spezieller Mechanismus muss vorhanden sein um Speicherbereiche vom Caching auszuschliessen

Memory Mapped und Port-I/O

Page 14: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

14

Programmiertes I/O ohne DMA: Controller liest Bits von HW macht ECC sobald Byte oder Block drin-> Interrupt

CPU reagiert auf Internet CPU liest Byte nach Byte aus Kontroller aus-> hohe Belastung für die CPU

DMA

Page 15: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

15

Mit DMA: DMA Kontroller hat direkten Zugriff auf PCI und Speicher-Bus 1. Anfrage an I/O Kontroller - CPU macht I/O Anfrage an I/O Kontroller - dieser stellt Daten bereit

2.DMA Programmierung: - CPU programmiert DMA Controller: - I/O Port - Anzahl zu übertragender Bytes - Speicheradresse der Daten

3. DMA überträgt Daten vom I/O Kontroller: - legt Port I/O oder Speicheradresse auf Bus - wartet auf Ack. vom Kontroller - liesst Daten aus Kontroller aus und überträgt sie in Speicher - kontrolliert, ob alle Daten übertragen wurden? - evtl. weitere Daten holen

4. Bescheid an CPU: - DMA legt Interrupt an - Daten liegen im RAM, wo sie von CPU verarbeitet werden können

DMA

Page 16: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

16

weiterentwickeltes DMA ermöglicht auch direktes Kopieren zwischen Geräten:- Kopieren zwischen HDs, Dateitransfer über's Netz, Abspeichern von Input Daten

DMA

Page 17: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

17

Ereignis wird von DMA, Kontrollern oder CPU mittels einer Signalleitung auf dem Bus angezeigt

CPU unterbricht ihre Arbeit speichert Ihren Zustand (Register...) auf dem Stack liest Interrupt Nummer aus verzweigt auf Routine zur Behandlung des Interrupts, deren Adresse in einer Tabelle im Speicher für den entsprechenden Interrupt registriert ist

führt Routine aus kehrt zurück, stellt Zustand wieder her und fährt mit ursprünglicher Arbeit fort

bei modernen CPUs mit paralellen Einheiten und Pipelines ist das Erfassen und Abspeichern des momentanen Zustands non-trivial

Interrupts

Page 18: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

18

Device/Geräteunabhängigkeit- ein Programm sollte auf ein Gerät zugreifen können, ohne das Gerät speziell behandeln zu müssen

Uniforme Benennung /dev/hda

/proc/cpuinfo /mnt/floppy /home/tpo/README

Fehlerbehandlung-Fehler in möglichst tiefen Schichten behandeln- nur im Falle, dass dies nicht möglich ist, Fehler weitergeben

I/O Software Prinzipien

Page 19: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

19

synchrone/asynchrone Datenübertragung- physische I/O meist asynchron, durch Interrupts signalisiert- Benutzer I/O meist synchron: -einfacher -weniger Fehleranfällig

Buffering- Zwischenspeicherung- Speicherung von oft verwendeten Daten- Übersetzung zwischen Formaten

Geteilte / Nicht geteilte Ressourcen- mehrere Benutzer (z.Bsp. auf einer HD)- 1 Benutzer/Tape- OS muss die Ressourcen entsprechend verwalten

I/O Software Prinzipien

Page 20: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

20

Programmierter I/O: Polling/busy waiting

Interrupt gesteuerter I/O: Benutzer-Prozess muss explizit blockiert werden indem Scheduler aufgerufen wird und somit während dem Warten ein anderer Prozess CPU Time bekommt

bei Interrupt -Aufwecken des korrekten Treibers, auslesen der Daten

sobald alle Daten übertragen sind Rückkehr in Userspace

I/O in Software

Page 21: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

21

OS muss damit rechnen, dass Treiber von aussen kommen-> Plugin Architektur / Ladbare Treibers- unter Linux installation von Treibern mittels modprobe und insmod / rmmod

OS muss genaues Modell liefern, was Treiber darf und was nicht

I/O Software Schichten

Page 22: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

22

Aufruf Parameter- validieren- umwandeln abstrakt /konkret

Überprüfen, ob Gerät in gebrauch -> in Queue Kommandos an Gerät schicken- Kommando angekommen?- nächster Befehl

evtl. Blockieren und auf Interrupt warten evtl. Reentranz beachten- zweiter Aufruf seitens anderen Benutzers- weitere Daten kommen, während vorherige erst bearbeitet werden

Hotplugging- Geräte werden eingesteckt/verschwinden während Gebrauch

Treiber dürfen keine Syscalls absetzen (mit Ausnahmen)

Gerätetreiber Funktionalität

Page 23: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

23

Gerät-unabhängige I/O Software

uniformes Interface

Buffering

Fehlerbehandlung

Allokation & Freigabe von Geräten

Umsetzung von Blockgrössen

Page 24: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

24

OS muss nur ein Interface definieren und unterstützen Unix - special Files:

$ ls -l /dev/hdabrw-rw---- 1 root disk 3, 0 Jun 28 2001 /dev/hda1 2 3 4 5 6 7 8 9

1 - Dateityp : Blockdevice2 - Berechtigungen3 - Anzahl Hardlinks4 - Besitzer5 - Gruppe6 - Major Number -> Treiber7 - Minor Number -> Identifikation des Geräts8 - letzte Änderung9 - Namen

Unter Unix kann ein special File mittels mknod angelegt werden

Uniformes Treiber Interface

Page 25: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

25

kein Buffering: z.Bsp bei Tastatur-Eingabe Daten werden einzeln in Userspace geschrieben

Userspace Buffering: Daten werden in Userspace geschrieben und Prozess wieder geweckt, wenn alle Daten übertragen sind

was passiert wenn Page in die geschrieben wird ausgelagert ist?-> evtl. Datenverlust

Buffering im Kernel: Daten werden in Kernelspace geschrieben und sobald vollständig vorhanden in Userspace kopiert

Problem entschärft jedoch immer noch möglich, wenn zum Zeitpunkt des kopierens Userspace page ausgelagert ist

Double Buffering im Kernel: sobald Buffer im Kernel voll wird mit Übertragung angefangen, gleichzeitig jedoch ein weiterer Kernel-Buffer angelegt, welche eventuelle weitere Daten entgegennehmen kann

Buffering

Page 26: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

26

Fehler während I/O häufig sind sehr Gerätespezifisch gemeinsames Framework macht Sinn unter Linux - Fehler erscheinen: - evtl. in eigener Fehlerkonsole - unter /var/log/kern.log - werden in kleinem Kernelspeicher gehalten und können bei Bedarf per dmesg ausgelesen werden

Fehlerbehandlung

Page 27: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

27

das Problem der De/Allokation wird dem OS teilweise abgenommen, indem das Gerät per:- open - geöffnet- close - geschlossen- unter Unix per mount angebunden werden muss

somit kann das OS Ressourcen (Buffer, ...) erst dann alloziieren, wenn ein gerät wirklich verwendet wird

andere Ressourcen, DMA Speicher, Interrupts werden vom Betriebbssystem zusammen mit dem BIOS während dem Booten, bzw. beim Laden des Treibers alloziiert

Allokation/Deallokation von Geräten

Page 28: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

28

verschiedene Geräte haben unterschiedliche Blockgrössen dies sollte den Benutzer jedoch nicht belasten die Übersetzung der Blockgrössen in eine für den Benutzer einheitliche Grösse kann das OS übernehmen

Geräteabhängige Blockgrössen

Page 29: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

29

in den allermeisten Fällen (99%?) greift der Benutzer nie direkt auf Syscalls zu, sondern verwenden Bibliotheksaufrufe

C, C++, Perl z.B. libc -> open, read, write Java -> I/O Klassen

das Bibliotheksinterface ist unter Unix durch den POSIX Standard definiert-> Unabhängigkeit von OS-> open funktioniert gleich unter Unix, Windows, Mac, ...

Benutzer ruft Bibliotheksfunktion auf diese legt Argumente in Register und Stack und führt ein TRAP (Maschinenbefehl) aus

TRAP wechselt im Kernel Modus, ähnlich wie bei Interrupts CPU Zustand wird gespeichert Trap-Routine wird in Trap Tabelle nachgeschlagen und ausgeführt Routine liest aus Reg. & von Stack Argumente führt Anfrage aus Rückkehr wie bei Interrupts

Benutzer -I/O

Page 30: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

30

z.T. funktioniert I/O nicht direkt über O/S sondern über Daemonen dabei können folgende Kommunikationsmittel verwendet werden:- Sockets- Shared Memory- Named-Pipes- Spool Verzeichnisse

Benutzer -I/O

Page 31: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

31

HDs sind oft der "Endspeicher" Zugriff geschieht über mehrere Schritte:- Benutzercode- Bibliothek- Treiber im Kernel- CPU an DMA- DMA an IDE Kontroller- IDE Kontroller and HD Kontroller

IDE=Integrated Drive Electronics

Festplatten

Page 32: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

32

Anfrage an die Festplatte geschahen früher in der Form

(Zyl, Kopf, Sektor), wobei Sektor = 512 Bytes

daraus ergibt sich eine maximale HD-Grösse von 32 GB da die Zyl, Kopf, Sektor Limiten schon früher der phyischen Geometrie nicht mehr entsprachen, gaben HD Hersteller nach aussen virtuelle Geometrien an, welche der Kontroller in physische Koordinaten umsetze

heute werden HDs mittels LBA -Logic Block Adressing angesprochen dabei wird nur noch die absolute Nummer des Blocks angegeben

Festplatten

Page 33: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

33

Moorsches Gesetz: alle 18 Monate Verdoppelung der Anzahl der Transistoren in einer CPU (auch ~ Verdoppelung der Geschwindigkeit)

Disk Seek jedoch (suche eines Sektors auf einer HD): 1970: 50ms, heute: 10ms

Schere zwischen CPU und HD Geschwindigkeit öffnet sich Kann durch viel RAM gemildert werden 1988 Patterson- Redundant Array of Inexpensive Disks- bessere Performance- und/oder grössere Zuverlässigkeit

RAID

Page 34: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

34

RAID 0 (Striping): siehe Grafik auf nächsten Seiten schneller, da von verschieden Platten gelesen wird wenn OS jeweils nur 1 Block liest kein Vorteil Nachteil : Sobald dass ein Platte defekt ist, ist das ganze Filesystem defekt

RAID 1 (Mirroring): Schreiben immer auf 2 Platten gleichzeitig Lesen entweder von einer oder der anderen Palte => Doppelter Durchsatz

es muss eine Art geben Fehler zuverlässig zu entdecken Recovery -> HD kopieren Nachteil : 50% Platzverlust

RAID

Page 35: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

35

RAID 0 bis RAID 2

RAID

Page 36: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

36

RAID 0/1 auch RAID 10 genannt: Kombination von Raid 0 und Raid 1 Vorteil: Schnell und Redundant

RAID 2: Stripes haben nur grösse von Bits oder Bytes einige Disks werden für Hamming bzw. ECC (Error Checking & Correction) Code verwendet

HD müssen synchron sein, sonst müssen die Platten gegenseitig aufeinander warten

Parallel schreiben => Grösserer Durchsatz Nachteil: Viel Aufwand für Hamming Code berechnung => Elektronik

RAID 3: wie 2, ausser dass für die Parität ausschliesslich eine HD verwendet wird.

Parität wir mit XOR gemacht Fehlerkorrektur möglich, wenn defekte HD bekannt Engpass ist das Paritätsdrive (hohe Belastung)

RAID

Page 37: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

37

RAID 4: funktioniert wieder mit Stripes ein Paritätsdrive

RAID 5: Parität wird im Round-Robbin Verfahren auf alle Disks verteilt Vorteil: keine höherbelasteten HD's (da Parritäts Information auf allen HD's verteilt)

kleinerer Platzverlust

RAID

Page 38: Systemsoftware - Dateisysteme Dateisysteme - Übersicht 1 basierend auf Andrew S. Tanenbaums "Modern Operating Systems 2 nd Edition", Kapitel 1.5.4, 1.5.5,

Sys

tem

soft

war

e -I

/ O

38

RAID 3 bis RAID 5

RAID