Geräte- und Dateiverwaltung

Geräte- und Dateiverwaltung
Sommersemester 2015
Prof. Dr. Peter Mandl
Prof. Dr. Peter Mandl
Seite 1
Gesamtüberblick
1. Einführung in Computersysteme
2. Entwicklung von Betriebssystemen
3. Architekturansätze
4. Interruptverarbeitung in Betriebssystemen
5. Prozesse und Threads
6. CPU-Scheduling
7. Synchronisation und Kommunikation
8. Speicherverwaltung
9. Geräte- und Dateiverwaltung
10.Betriebssystemvirtualisierung
Lese- / Schreibkopf (1 pro Oberfläche)
Oberfläche 7
Oberfläche 6
Oberfläche 5
Oberfläche 4
Oberfläche 3
Oberfläche 2
Oberfläche 1
Richtung der Armbewegung
Oberfläche 0
Prof. Dr. Peter Mandl
Seite 2
Zielsetzung
 Die Grundlagen der Geräteverwaltung am Beispiel
der Festplatte und der Dateiverwaltung anhand
praktisch relevanter Filesysteme verstehen
 Konzepte von Storage Systemen kennenlernen
Prof. Dr. Peter Mandl
Seite 3
Überblick
1.
Geräteverwaltung
 Überblick
 Treiber, Gerätetypen, Gerätemodelle,...
 Fallbeispiel: Unix
2.
Dateisysteme
 Grundlagen
 Fallbeispiel: Unix
 Fallbeispiel: Windows
3.
Storage Systeme
 RAID
 SAN, NAS
Prof. Dr. Peter Mandl
Seite 4
I/O-Manager

Die Geräteverwaltung (I/O-Manager) dient der
optimierten Verwaltung von externen Geräten zur
Ein- und Ausgabe
Festplatten, Floppy-Disks
- Tastatur und Bildschirm
- Netzwerkanbindung
-


Schnittstelle zwischen den Geräten und dem Rest
des Betriebssystems
Aufgaben im Einzelnen:
-
Ausgabe von Kommandos an externe Geräte
Interruptbearbeitung
Fehlerbehandlung
Prof. Dr. Peter Mandl
Seite 5
Interrupt-Bearbeitung: Interrupt-Controller

Auffrischung
CPU
Interrupt
Controller
2: Interrupt
3: CPU-Handling
1: Gerät ist
fertig
Festplatte
Clock
Tastatur
Drucker
Bus
Prof. Dr. Peter Mandl
Seite 6
Bussysteme am Beispiel des Pentium-Bussystems


Geräte sind über Bussysteme (Datenverbindung) an die CPU
angebunden
In heutigen Rechnern gibt es eine Hierarchie von
Bussystemen
PCI
Brigde
CPU
PCI Bus
SCSI
ISA
Brigde
USB
...
Maus
...
USB: Universal
Serial Bus
Tastatur
IDE
Disk
GraphikAdapter
Monitor
PCI Slot
PCI: Peripheral
Component Interconnect
ISA: Industry Standard
Architecture
ISA Bus
Soundkarte
Drucker
ISA Slot
Vgl. Tanenbaum
Prof. Dr. Peter Mandl
Seite 7
Bussysteme am Beispiel des Pentium-Bussystems

Northbridge und Southbridge (zwei Chips auf der Hauptplatine =
Motherboard eines PCs)  Chipsatz:
-
Northbridge verbindet CPU mit Hauptspeicher (breitbandig)
-
Southbridge schließt Bussysteme an
-
Southbridge und Northbridge kommunizieren zum Beispiel über
PCI
Southbridge
Northbridge
Hauptplatine, Quelle: Wikipedia
Prof. Dr. Peter Mandl
Seite 8
Verbindungen im Chipsatz

Verbindung CPU – Northbridge über FSB
-
-
Systembus alter Prägung gibt es nicht mehr seit CPUs zu schnell sind
FSB (Front Side Bus) oder schnellere Verbindungen wie eine
HyperTransport (> 50 Gbyte/s) oder QPI-Verbindung
Rechnerkerne
Kommunikationssystem
wie FSB oder HyperTransport
Accelerated Graphics Port
(kann auch unten sein)
AGP
Northbridge
Southbridge
USB
Prof. Dr. Peter Mandl
S-ATA
PCI
RAM
Varianten: PCI, PCI-X,V-Link (proprietär),
HyperTransport (HAT-Konsortium)
SCSI
...
Seite 9
Ergänzung: Northbridge, Southbridge
Beispiel eines modernen
Chipsatzes
-North- und Southbridge sind “Router”
-Routing von Traffic von Bus zu Bus
-Die Northbridge bedient den
umfangreichen Traffic zwischen CPU und
RAM
-Die Southbridge bedient die anderen
Routen (Bussysteme) zu den externen
Geräten
-Verbindung über PCI-Bus
Prof. Dr. Peter Mandl
Seite 10
Typische Datenraten

Sehr unterschiedliche Transferraten [Bit/s] bzw. Datenraten
[Byte/s] für die einzelnen Geräte
Gerät
Transferrate bzw. Datenrate
Keyboard
ca. 10 Byte/s
Maus
ca. 100 Byte/s
Laserdrucker
ca. 100 KByte/s
USB3
5 GBit/s
ISA-Bus
16 MByte/s
Fast Ethernet
12,5 MByte/s
Serial Attached SCSI
750 MByte/s
Tape
ca. 320 MByte/s
PCI Express
32 GBit/s
IDE-Festplatten mit ATA
ca. 130 MByte/s
Festplatten mit S-ATA
Bis zu knapp 2 GByte/s
Bus-Kommunikationssystem wie AMD 50 GBit/s bis über 100 GBit/s
HyperTransport oder Intel QPI
Prof. Dr. Peter Mandl
Seite 11
Schichtung des I/O-Systems
Anwendungsprozess
Usermodus
Geräteverwaltung
Treiber Puffer
...
Treiber Puffer
Kernelmodus
Hardware, Geräte
...
Prof. Dr. Peter Mandl
Controller
Controller
Gerät
Gerät
Seite 12
Treiber



Treiber sind gerätespezifische Programmteile
Treiber werden in eigenen Modulen meist durch den
Gerätehersteller realisiert
Die wichtigsten Aufgaben eines Treibers:
-
Initialisierung und Bekanntgabe des Geräts
-
Datenübertragung von und zu einem Gerät
-
Logisches Programmiermodell auf gerätespezifische
Anforderungen übersetzen
-
Pufferung von Daten
-
Interruptbearbeitung
-
Koordination der nebenläufigen Zugriffe
Prof. Dr. Peter Mandl
Seite 13
Gerätearten (1)

Zeichenorientierte Geräte
-

Blockorientierte Geräte
-

Information wird in einzelnen Zeichen gespeichert und
gelesen
Einzelne Zeichen sind nicht adressierbar, es wird in Streams
gelesen bzw. gespeichert
Beispiele: Drucker, Maus, Netzwerkkarten
Information wird in Blöcken von mind. 512 Bytes
gespeichert und gelesen
Blöcke sind adressierbar, Zugriff erfolgt auf Blöcke
Beispiele: Festplatten, Tapes
Sonstige Geräte wie Clocks (Zeitgeber)
Prof. Dr. Peter Mandl
Seite 14
Gerätearten (2)

Geräte mit wahlfreiem Zugriff
-
Adressierungsinformation notwendig
-
Beispiel: Plattenspeicher
•
Festplatte, Quelle: Wikipedia
Adressierung über
ISA-Steckplatz, Quelle: Wikipedia
•
Spurnummer
•
Sektornummer
•
Zylindernummer
S-ATA-Anschluss, Quelle: Wikipedia
Alte IBM-Festplatte, 1979, Quelle: Wikipedia
IDE-Schnittstelle, Quelle: Wikipedia
Prof. Dr. Peter Mandl
Seite 15
Gerätearten: Beispiel Festplatte (1)




Festplatten bestehen aus Kunststoff- oder
Aluminiumscheiben, die mit einer hauchdünnen
Magnetschicht überzogen sind
Schreib-/Leseköpfe sind mit kleinem
Elektromagneten ausgestattet
Daten sind als Blöcke fester Größe in Sektoren
gespeichert, die in Spuren zu finden sind
Anordnung in sog. Zylindern
-
Bei übereinander liegenden Platten alle Spuren mit gleicher
Nummer, auf welche die Schreib-/Leseköpfe gleichzeitig
positionieren können
Prof. Dr. Peter Mandl
Seite 16
Gerätearten: Beispiel Festplatte (2)
Lese- / Schreibkopf (1 pro Oberfläche)
Oberfläche 7
Rotation mit konstanter Drehzahl:
7000 bis 15000 U/min
Oberfläche 6
Oberfläche 5
Oberfläche 4
Oberfläche 3
Oberfläche 2
Oberfläche 1
Richtung der Armbewegung
Oberfläche 0
Prof. Dr. Peter Mandl
Seite 17
Gerätearten: Beispiel Festplatte (3)



Plattenaufteilung: Spuren, Zylinder, physikalische Sektoren
(Kuchenstücke, Kreissektoren)
Alle Spuren untereinander nennt man Zylinder (eine Position des Kopfes)
Durchnummerierung logischer Sektoren entlang der Spuren  keine
mechanische Aktion erforderlich
Seite 0
Seite 1
Sektor 8
Sektor 1
Sektor 8
Sektor 1
Zylinder 0
7
0
23
Zylinder 1
16
Zylinder 2
32
Sektor 7
22
17
18
21
5
20
Sektor 6
4
Sektor 5
19
14
Sektor 2
33
9
25
41
2
13
10
28
Sektor 6
Sektor 2
26
29
12
27
Sektor 3
11
Sektor 4
Sektor 5
Prof. Dr. Peter Mandl
Zylinder 2
30
Sektor 3
3
Zylinder 1
24
40
1
6
31
Sektor 7
Zylinder 0
8
15
Sektor 4
Seite 18
Gerätearten: Beispiel Festplatte (4)

Üblicher Plattendurchmesser 3,25 oder 2,5 Zoll oder kleiner (1,8 Zoll)

Zwischen 2 und 8 Platten, Beispiel: 135.000 Spuren/Zoll

Kapazität: Bei 39 Sektoren, 761 Zylinder und 8 Köpfen und 512 Byte
großen Sektoren:
-

39 x 761 x 8 x 512 = 121.565.184 Byte
Kapazität: mehrere TiB
-
Hat sich in den letzten 30 Jahren mehr um als das 200-fache erhöht
-
Zugriffszeiten aber nicht!
Prof. Dr. Peter Mandl
Seite 19
Gerätearten: Beispiel Festplatte (5)

Betrachtung zweier Sektoren aus einer Festplattenspur

Sektoreninhalt: Präambel, Nutzdaten (hier 4096 Bit) und ECC
Zwischensektor – Lücke
Richtung der Plattenumdrehung
1 Sektor
Die Spurbreite ist
5-10 Mikrometer
Präambel
die Breite eines Bits
ist 0,1 bis 0,2
Mikrometer
4096 Datenbits
E
C
C
Richtung der
Armbewegung
Präambel
Lese-/
Schreibkopf
4096 Datenbits
E
C
C
Älterer Festplatten-Controller
Plattenarm
Prof. Dr. Peter Mandl
Seite 20
Gerätearten: Beispiel Festplatte (6)


Das Betriebssystem kennt nur logische Sektoren in durchnummerierter
Reihenfolge (sog. LSN = Logical Sector Number)
Eine Übersetzung der logischen Adressen in phys. Adressen ist erforderlich
Einfaches lineares Adressierungsmodell
mit den Speicheradressen 0..N
Adressierungslogik der Festplatte
(Laufwerk- ,Zylinder-, ..., Sektornummer)

Folge 1 bis N von Blöcken, die eindeutig durch ein
Quadrupel der Form (g, z, h, s) adressierbar sind, mit
-
g: Laufwerk
-
z: Zylindernummer
-
h: Nummer des Schreib-Lesekopfes
-
s: Sektornummer
Prof. Dr. Peter Mandl
Seite 21
Gerätearten: Beispiel Festplatte (7)

Scheduling-Strategie
-

Ein Plattentreiber muss die Lese- und Schreibaufträge
möglichst optimal und fair bearbeiten
Bekannte Schedulung-Strategien
-
FCFS (First Come First Serve)
•
-
Einfach und fair: Alle Aufträge in der Reihenfolge ausführen, in
der sie ankommen
SSTF (Shortest Seek Time First)
•
•
•
Prof. Dr. Peter Mandl
Aufträge in näherer Umgebung der aktuellen Schreib/Lesekopf-Position ausführen
Vermeidung von Kopfbewegungen
Wie bei SJF-Prozessverwaltung besteht das Problem des
Verhungerns von Aufträgen
Seite 22
Gerätearten: Geräte mit seriellem Zugriff

Geräte mit seriellem Zugriff
-
„Serielle Geräte“
-
Keine Adressierungsinformation notwendig
-
Lesen bzw. Schreiben geht Zeichen für Zeichen
-
Beispiele
-
•
Maus
•
langsame Zeilendrucker
•
Tastatur
Es wird eine Flusssteuerung benötigt (XON/XOFF)
Prof. Dr. Peter Mandl
Seite 23
Fallbeispiel Unix: Geräte als spezielle Dateien

Jedes Gerät hat unter Unix ein „special
file“ zugeordnet, über das es wie eine Datei
behandelt werden kann
-

Bei den sog. special files unterscheidet man in
-

Verzeichnis z.B. /dev
Genaue Namen sind abhängig vom Unix-Derivat
Operationen (System Calls): open, read, write,...
Block special file, z.B. /dev/hd1 (Festplatte)
Character special file, z.B. /dev/tty (Bildschirm, Tastatur)
Beispiel:
-
Kommando cp file /dev/lp kopiert eine Datei namens file
direkt auf den Drucker
Prof. Dr. Peter Mandl
Seite 24
Fallbeispiel Unix: Streams

Streams-orientiertes Modell bei System V: Treiberschichten
(Filter) können in den Stream eingebaut werden
/dev/tty
Raw I/O
Raw block
/dev/rdisk
Pufferung
Charactererkennung
für spezielle Zeichen
Zugang über File
Filesystem
DEL,
CTRL C,...
Pufferung
Terminaltreiber
Plattentreiber
Character device
Block device
Prof. Dr. Peter Mandl
Seite 25
Überblick
1.
Geräteverwaltung
 Überblick
 Treiber, Gerätetypen, Gerätemodelle,...
 Fallbeispiel: Unix
2.
Dateisysteme
 Grundlagen
 Fallbeispiel: Unix
 Fallbeispiel: Windows
3.
Storage Systeme
 RAID
 SAN, NAS
Prof. Dr. Peter Mandl
Seite 26
Einordnung in die Schichten
Anwendungsprozess
Usermodus
Dateiverwaltung
Geräteverwaltung
Treiber Puffer
...
Treiber Puffer
Kernelmodus
Hardware, Geräte
...
Prof. Dr. Peter Mandl
Controller
Controller
Gerät
Gerät
Seite 27
Dateien




Informationen müssen von Betriebssystemen
persistent gespeichert werden können
Dateien sind ein abstrakter Mechanismus zur
Speicherung und zum Wiederauffinden von
Informationen
Der Teil des Betriebssystems, der sich mit Dateien
und deren Organisation befasst, wird als
Dateiverwaltung bezeichnet
Zu jeder Datei sind bestimmte Informationen zu
verwalten
Prof. Dr. Peter Mandl
Seite 28
Informationen zu Dateien


Dateien haben einen Dateinamen und einen Inhalt
Jede Datei besitzt einen Eintrag mit Informationen
über:
-
Namen der Datei
-
Typ der Datei: Normal- oder Katalogdatei
-
Länge der Datei in Bytes
-
Blöcke, aus denen die Datei besteht
-
Zugriffsrechte zu dieser Datei
-
Passwörter zum Schutz der Datei
-
Statistikdaten: z.B.: Datum letzte Änderung
-
...
Prof. Dr. Peter Mandl
Seite 29
Dateisysteme


Dateien werden in Dateisystemen (file system)
verwaltet
Dateisysteme oft hierarchisch organisiert
-



Dateigruppen (Dateiverzeichnis) mit Verwaltungsinformation
Dateien (mit den eigentlichen Daten)
Strukturierung mit Unterverzeichnissen
(Subdirectory)
Jedes (Sub)directory enthält Einträge zu weiteren
Katalogen oder normalen Dateien
Beispiele:
Unix verfügt über ein systemweites Dateisystem
- MS-DOS verwaltet für jedes Gerät ein unabhängiges Directory
-
Prof. Dr. Peter Mandl
Seite 30
Hierarchische Verzeichnissysteme


Hierarchische Verzeichnissysteme beliebiger Tiefe sind
heute „State of the Art“
Directories sind in einer Baum-Struktur organisiert
Wurzelverzeichnis (root)
Subdirectory
Dir
Datei
Prof. Dr. Peter Mandl
Seite 31
Operationen auf Dateien

Systemdienste zur Verwaltung von Dateien:
-
Erzeugen eines Katalogeintrages (Dateiname)
-
Löschen des Katalogeintrags u. Dateiinhalts
-
Kopieren von Dateien
-
Löschen einer Datei
-
Ändern des Dateinamens oder anderer Katalogeinträge
-
Übertragen eines Katalogeintrags in einen anderen
Katalog (Directory)
Prof. Dr. Peter Mandl
Seite 32
Blockverwaltung




Die Bearbeitung von Dateien ist blockweise oder
zeichenweise möglich
Jede gefüllte Datei hat eine Liste mit von ihr
belegten Blöcken
Der Katalog enthält Hinweise auf die Blöcke, aus
denen die Dateien bestehen
Das Dateisystem verwaltet zudem:
-
Eine Pseudodatei bestehend aus allen freien Blöcken
eines Datenträgers
-
Eine Pseudodatei mit einer Liste aller unzuverlässigen
Blöcke
Prof. Dr. Peter Mandl
Seite 33
Fallbeispiel: Unix, Einordnung von Filesystemen
Anwendungssoftware
Benutzeradressbereich
write()
read()
Filesystem
Betriebssystemkern
Buffer Cache
KernelAdressbereich
Plattentreiber
Festplatte
Prof. Dr. Peter Mandl
Vgl. (Tanenbaum 2009)
Seite 34
Fallbeispiel: Unix, Verzeichnisstruktur

Unix verwendet ein beliebig tiefes, hierarchisches
Dateisystem
/
bin
etc
lib
usr
...
bin
...
...
Prof. Dr. Peter Mandl
etc
lib
...
usr
...
...
...
...
Seite 35
Fallbeispiel: Unix Verzeichnisstruktur





Die Wurzel des Baums heißt root; das rootdirectory wird mit „/“ abgekürzt. (bei MS-DOS „\“)
Darunter befinden sich die home-directories der
einzelnen User (hier unter /usr)
Die inneren Knoten des Baumes sind
subdirectories, die Blätter des Baumes sind die
eigentlichen Files
Geräte (Drucker, Terminals, Maus etc.) werden
logisch wie Dateien behandelt (special files)
Für die Organisation des Unix-Baumes haben sich
gewisse Konventionen eingebürgert
Prof. Dr. Peter Mandl
Seite 36
Fallbeispiel: Unix, Verzeichnisstruktur

Unter den Kindern der Wurzel finden sich meist
subdirectories mit folgender Bedeutung:
-

bin:
dev:
lib:
usr:
Systemdateien
Gerätedateien
Bibliotheken
Benutzerdateien
(binär)
(devices)
(libraries)
(user)
Externe Dateisysteme, also physikalische Datenträger
wie Harddisk, CDROM, Floppy,... können unabhängige
Filesysteme enthalten
-
Diese kann man mit dem Befehl mount an beliebiger Stelle in
den Unix-Dateibaum einklinken
-
Danach gibt es keine Unterscheidung mehr zwischen Files auf
der Diskette und anderen block special files
-
Mit umount wird das subdirectory entfernt
Prof. Dr. Peter Mandl
Seite 37
Fallbeispiel: Unix, Implementierung des Dateisystems

Beispiel eines Dateisystem-Layouts einer Festplatte
Vgl. Tanenbaum
Ganze Platte
Partition Table
Plattenpartitionen
MBR
Bootblock
Prof. Dr. Peter Mandl
Superblock Free Blocks
I-nodes
Rootverzeichn.
Dateien und
Directories
Seite 38
Fallbeispiel: Unix, Implementierung des Dateisystems







MBR = Master Boot Record auf Sektor 0 zum Booten des
Rechnersystems
Am Ende des MBR liegt die Partition Table: Eine Platte
kann i.d.R. in mehrere Partitionen eingeteilt werden
Bootblock wird bei Hochfahren gelesen und ausgeführt
Superblock enthält Verwaltungsinformationen zum
Dateisystem (Anzahl der Blöcke,...)
Free Blocks (z.B. Bitmap) gibt die freien Blöcke des
Dateisystems an
Rootverzeichnis enthält den Inhalt des Dateisystems
(nach der Wurzel)
I-nodes: I-nodes sind Einträge im Inhaltsverzeichnis des
Dateisystems
Prof. Dr. Peter Mandl
Seite 39
Fallbeispiel: Unix, Verweisstruktur einer Datei
Dateikopf
(i-node)
13 Verweise auf Datenblöcke:
10 zeigen direkt auf die ersten 10 Blöcke
11,12,13 können wieder unterteilt werden
Logische
Blocknummern
0
1
...
direkt
10
13
indirekt
doppelt indirekt
128
...
...
9
10
128
...
16.521
16.522
128
...
je128 ...
dreifach indirekt
Prof. Dr. Peter Mandl
...
2.113.673
Seite 40
Einschub: NFS, Verteiltes Dateisystem

Das Network File System (NFS) verbindet
Dateisysteme mehrerer Rechner zu einem logisch
zusammengehörigen Dateisystem
-
NFS-Protokoll
Rechner 1
Rechner 2
/usr/tmp
/usr/mandl/test
Prof. Dr. Peter Mandl
Seite 41
Fallbeispiel: Unix, Verzeichnisstruktur






Jedes Unterverzeichnis und jede Datei lassen sich
eindeutig durch den Weg von der Wurzel zur Datei
beschreiben
Die Folge der Knoten auf dem Weg wird, mit
„/“ getrennt, als Pfad bezeichnet.
Das Dateisystem jedes Users ist ein Subdirectory des
gesamten Unix-Baums
Die Wurzel des Unterbaums nennt man HomeDirectory
Der User arbeitet meist in seinem Home-Directory
Bei der Arbeit bezieht man sich oft auf Dateien des
selben Verzeichnisses (working directory)
Prof. Dr. Peter Mandl
Seite 42
Fallbeispiel: Windows, Volume Manager

Unter Windows gibt es einen Volume Manager
-
Verwaltung der Platten auf logischer Ebene
-
Stellt logische Laufwerke für die Anwendungen bereit
-
Veränderung, Neupartitionierung ist dynamisch, ohne
Systemneustart möglich
Dateisysteme (NTFS,...)
Volume Manager
Prof. Dr. Peter Mandl
Seite 43
Fallbeispiel: Windows, Cluster




Cluster = in Windows adressierbarer Filesystemblock
Cluster besteht aus einem oder mehreren Sektoren
FAT-x  x gibt die Anzahl der Bits an, die für die
Clusteradressierung verwendet werden
Bit-Anzahl bestimmt die Größe des Filesystems
Sektor
(logisch)
Cluster
(4 Sektoren)
Plattenstapel
Prof. Dr. Peter Mandl
Seite 44
Fallbeispiel: Windows, Überblick zu Dateisystemen

FAT-16 ist das alte MS-DOS Filesystem
-

FAT-32 ist das alte MS-DOS Filesystem
-

nutzt 32-Bit Plattenadressen und max. 2 TiB große (TebiByte)
Partitionen
NTFS (NT File System) ist das moderne, hierarchische
Filesystem von Windows 2000
-

nutzt 16-Bit Plattenadressen und max. 2 GiB (GibiByte) große
Partitionen
NTFS nutzt 64-Bit Plattenadressen und unterstützt Partitionen bis
zu einer Größe von 264 Byte
Windows unterstützt auch Read-Only Filesysteme für DVDs
(UDF) und CD-ROMs (CDFS)
Prof. Dr. Peter Mandl
Seite 45
Fallbeispiel: Windows, Filesysteme-Überblick
FileBits für
system Clusterindex
Anzahl
Cluster
Unterstützte
Clustergrößen
Maximale
Filesystemgröße
FAT-12
12 Bit
212 = 4.096
512 Byte – 8 KiB
32 MiB
FAT-16
16 Bit
216 = 65.536
512 Byte – 64 KiB
4 GiB (GibiByte)
FAT-32
32 Bit, aber nur 28
genutzt
228
512 Byte – 32 KiB
8 TiB (TebiByte)
64 Bit
264
NTFS
begrenzt auf 32 GiB
512 Byte – 64 KiB
16 EiB (ExbiByte)
begrenzt auf 256 TiB
Prof. Dr. Peter Mandl
Seite 46
Fallbeispiel: Windows, Partitionierung



Plattenpartitionierung in NTFS
Eine Platte kann mehrere logische Datenträger (Volumes
enthalten
Festlegung bei der Formatierung, Beispiel:
200 GiB
100 GiB
NTFSDatenträger
20 GiB
FAT-32
Datenträger
100 GiB
NTFSDatenträger
180 GiB
NTFSDatenträger
NTFSDatenträger
Dateinummer


Eine Master File Table (MFT) je
Volume
Für jede Datei und jedes
Verzeichnis ein oder mehrere
Einträge in der MFT
Prof. Dr. Peter Mandl
1
2
3
$Mft - MFT selbst
$MftMir - Kopie der MFT
$LogFile - Protokolldatei
....
$Boot - Startsektor
...
...
....
16 Benutzerdatei, Verzeichnis
17 Benutzerdatei, Verzeichnis
18 Benutzerdatei, Verzeichnis
....
7
NTFS-Metadatendateien(reserviert)
Seite 47
Überblick
1.
Geräteverwaltung
 Überblick
 Treiber, Gerätetypen, Gerätemodelle,...
 Fallbeispiel: Unix
2.
Dateisysteme
 Grundlagen
 Fallbeispiel: Unix
 Fallbeispiel: Windows
3.
Storage Systeme
 RAID
 SAN, NAS
Prof. Dr. Peter Mandl
Seite 48
Storage Systeme

Bisher betrachtet:
-

DAS: Direct Attached Storage = Herkömmliche
Speichersysteme
Weitere wichtige Begriffe:
-
RAID-Systeme
-
SAN: Hochgeschwindigkeitsnetzwerk zwischen Servern und
Subsystemen
-
NAS: Network Attached Storage, NAS-Systeme sind
Dateiserver keine Festplattenserver
Prof. Dr. Peter Mandl
Seite 49
RAID-Plattensysteme





Multiple Plattenspeicher, sog. RAIDs
-
sind heute sehr verbreitet
-
RAID steht für Redundant Array of Inexpensive (heute
Independent) Disks
Mehrere kleine Platten werden hier als große
virtuelle Platte verwaltet
Bleibt für das Betriebssystem transparent
Man verwendet RAID-Systeme auch zur
Verbesserung der Leistung und zur Erhöhung der
Ausfallsicherheit
Es werden verschiedene Varianten unterschieden
Prof. Dr. Peter Mandl
Seite 50
RAID-Plattensysteme

Der gesamte logische Plattenbereich wird in Streifen
(stripes) eingeteilt, die sich über mehrere Disks
erstrecken
Disk 1
Disk 2
...
...
...
Disk N
Streifen M
...
...
Streifen 1
Streifen 0
Prof. Dr. Peter Mandl
Seite 51
RAID-Plattensysteme

RAID-0-System:
-
Stripes werden über mehrere Platten eines Arrays verteilt
-
Größe der Stripes beeinflusst die Leistung erheblich
•
Stripes-Größe: 32 KB, 64 KB, 128 KB (Striping-Granularität)
-
Verteilung übernimmt entweder das Betriebssystem oder
ein eigener RAID-Controller
-
Hoher I/O-Durchsatz, schnelle Variante, aber nicht
ausfallsicher
Host-Adapter
Bus
RAID-0-Controller
Block
A
D
G
J
Prof. Dr. Peter Mandl
Streifen
B
E
H
K
C
F
I
L
Seite 52
RAID-Plattensysteme

RAID-1-System:
-
Spiegelung der Daten, volle Redundanz der Daten
-
Spiegelung durch Betriebssystem oder eigenen RAIDController möglich
-
Ausfallsicher aber langsam
Host-Adapter
Host-Adapter
Bus
RAID-1-Controller
RAID-Controller
Spiegel
AA
DB
GC
JD
Prof. Dr. Peter Mandl
A
B
C
D
Seite 53
RAID-Plattensysteme

RAID-2-System (heute nicht mehr eingesetzt):
-
Bitweises Striping und Ergänzung von Prüfdaten
(Paritätsbits) zur Fehlerkorrektur
-
Jedes Byte wird um ein Paritätsbit ergänzt
-
Bei Ausfall einer Platte kann diese rekonstruiert werden
•
 Ausfallsicherheit für eine Platte des Arrays
Disk 1
Wort 7
Wort 6
Wort 5
Wort 0
Bus
Disk 2
Daten
...
...
...
...
...
...
Disk n
Bit 7
Parity
Bit 6
Bit 5
Bit 0
1 neues Datenbyte pro Platte
Disk n+1
Prof. Dr. Peter Mandl
Seite 54
RAID-Plattensysteme

RAID-10-System:
-
-
häufig verwendet!
Striping und Spiegelung, Kombination RAID-0 und RAID-1
Schnell und ausfallsicher
Zuerst Striping und danach Spiegelung
Host-Adapter
Bus
RAID-10-Controller
Spiegelung
AA
CD
G
EJ
G
A
C
E
G
Spiegel 1
Prof. Dr. Peter Mandl
B
D
F
H
B
D
F
H
Spiegel 2
Seite 55
RAID-Plattensysteme

RAID-3-System:
-
Erweiterung zu RAID-2
-
Prüfdaten zusammenfassen und auf dedizierter Platte
speichern
-
Dient der Reduzierung der Kosten für die 1:1-Spiegelung
(heute nicht mehr so relevant)
-
Ausfall einer Platte führt nicht zu einer Ausfallzeit, Ausfall
von zwei Platten schon
Prof. Dr. Peter Mandl
Seite 56
RAID-Plattensysteme

RAID-4-System:
-
Hier werden auch die Datenbits wie bei RAID-0 zu Streifen
zusammengefasst
-
Pro Streifen wird eine Prüfsumme gebildet und auf einer
eigenen Platte gespeichert
-
Ausfallsicherheit wie bei RAID-3, Speicheraufwand weniger
als bei RAID-1, aber langsameres Schreiben
Prof. Dr. Peter Mandl
Seite 57
RAID-Plattensysteme

RAID-5-System:
-
In Gegensatz zu RAID-4 werden
die Paritätsabschnitte auf die
beteiligten Platten verteilt 
gleichmäßige Plattenauslastung
-
Gute Leistung beim Lesen,
schlechtere beim Schreiben
-
-
Host-Adapter
Verlust einer Platte hat keine
Auswirkungen, Verlust von zwei
Platten bedeutet Ausfall
Nicht so geeignet bei hoher
Transaktionslast
Prof. Dr. Peter Mandl
A
A
D
D
G
G
Parity
J
Bus
RAID-5-Controller
RAID-Controller
B
E
Parity
J
C
Parity
H
K
Parity
F
I
L
Seite 58
RAID-Plattensysteme

RAID-6-System:
-
Wie RAID-5 mit redundanten Prüfdaten auf weiterer Platte,
so dass sogar der Ausfall von zwei Platten ohne
Auswirkung bleibt
-
Gute Leistung beim Lesen, Schreibleistung schlechter als
RAID-5
-
Geeignet für sehr hohe Ausfallsicherheitsanforderungen
Prof. Dr. Peter Mandl
Seite 59
Network Attached Storage

NAS
-
Massenspeichereinheiten, die an ein lokales Netzwerk
(LAN) angeschlossen sind
Nachteil: belasten das Netzwerk
Client
Client
Client
Client
LAN
Server
Prof. Dr. Peter Mandl
Plattensubsystem
Seite 60
Storage Area Networks

SAN
-
Eigenes Netzwerk zwischen Servern und den
Speicherressourcen
Speicher kann virtuell wie eine einzige Festplatte behandelt
werden
Client
Client
Client
Client
LAN
Server
Server
FibreChannelSwitch
SAN
Disk 1
Prof. Dr. Peter Mandl
Disk 2
Disk 3
Disk n
Seite 61
Zusammenfassung




Geräte- und Dateiverwaltung sind eigene
Softwareschichten im Kernel
Festplatten wichtigstes externes Speichermedium
Dateien und Dateisysteme (FAT, NTFS, UnixDateisysteme) als Abstraktion
RAID-Systeme dienen der gesicherten
Datenspeicherung
-

RAID 1, RAID-10 und RAID 5 oft im Einsatz
NAS- bzw. SAN sind Storage-Systeme, die sich
weiter Verbreitung erfreuen
Prof. Dr. Peter Mandl
Seite 62
Gesamtüberblick
 Einführung in Computersysteme
 Entwicklung von Betriebssystemen
 Architekturansätze
 Interruptverarbeitung in Betriebssystemen
 Prozesse und Threads
 CPU-Scheduling
 Synchronisation und Kommunikation
 Speicherverwaltung
 Geräte- und Dateiverwaltung
10.Betriebssystemvirtualisierung
Prof. Dr. Peter Mandl
Seite 63