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
© Copyright 2024 ExpyDoc