4 Datenträger/Dateiverwaltung



Ähnliche Dokumente
Die allerwichtigsten Raid Systeme

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

Betriebssysteme K_Kap11C: Diskquota, Raid

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King Braunschweiger Linux-Tage Seite 1/16

STORAGE. Martin Schmidt Berufsschule Obernburg

Felix Großkreuz Philipps-Universität Marburg Fachbereich 12 Seminar IT-Administration SS2011

RAID. Name: Artur Neumann

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Lokales Storage Teil 1

Kapitel 6 Anfragebearbeitung

NAS 251 Einführung in RAID

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

OPERATIONEN AUF EINER DATENBANK

Partitionieren und Formatieren

Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration

Eigene Dokumente, Fotos, Bilder etc. sichern

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Datensicherung. Beschreibung der Datensicherung

Hard & Software Raid

Datenträgerverwaltung

my-ditto festplattenfreie Version

Handbuch USB Treiber-Installation

Formular»Fragenkatalog BIM-Server«

RAID Redundant Array of Independent [Inexpensive] Disks

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

backupmyfilestousb ==> Datensicherung auf USB Festplatte

Installationshinweise BEFU 2014

PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Dienstprogramme. Dienstprogramme (Werkzeuge)

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

3 Windows als Storage-Zentrale

USB DISK ANSCHLUSS WAHLTASTER. Vorteile dieses USB Interfaces:

Lizenzierung von System Center 2012

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2

Lokales Storage Teil 1

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Igloo 800. Externes Festplattengehäuse für zwei (2) 3.5 Festplatten

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

MAXDATA b.drive. Externe Festplatte mit integrierter Backup Software

Verwalten und Organisieren von Fotos,

Wie verbinde ich ein JBOD-System mit dem QStore QMX? - 1

Installation SQL- Server 2012 Single Node

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Datenverlust im RAID Datenverlust im RAID? : Ursachen : Tipps im Ernstfall : Vermeidung. Nicolas Ehrschwendner Geschäftsführer Attingo

Backup Premium Kurzleitfaden

GFAhnen Datensicherung und Datenaustausch

QUICK INSTALLATION GUIDE

Spotlight 5 Gründe für die Sicherung auf NAS-Geräten

Fragen zur GridVis MSSQL-Server

Systemanforderungen ab Version 5.31

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

mit SD-Karte SD-Karte Inhalt

2. Word-Dokumente verwalten

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

Verwendung des Terminalservers der MUG

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Speichernetze (Storage Area Networks, SANs)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Anleitung zur Neuinstallation von Windows 8

Unterrichtseinheit 12

EasyWk DAS Schwimmwettkampfprogramm

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Verwendung von SD-Speicherkarten über den SPI-Bus

Systemanforderungen für MSI-Reifen Release 7

Installationsanleitung bootfähiger USB-Stick PSKmail v

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Staatlich geprüfter EDV-Führerschein

Lizenzen auschecken. Was ist zu tun?

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Grundbegriffe: Speichereinheiten, Ordnerstruktur und Dateitypen

Outlook-Daten komplett sichern

Nutzung von GiS BasePac 8 im Netzwerk

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Arbeiten mit dem neuen WU Fileshare unter Windows 7

Redundant Array of Inexpensive Disks

icloud nicht neu, aber doch irgendwie anders

Handbuch PCI Treiber-Installation

i:mobile Installation und Produkt-Aktivierung

Step by Step Webserver unter Windows Server von Christian Bartl

MATRIX FÜR HITACHI VIRTUAL STORAGE PLATFORM-PRODUKTFAMILIE

Fakten statt Bauchgefühl: RAID Mathematik für Admins

INFOBLATT FÜR DAS NEU AUFSETZEN IHRES COMPUTERS

EINSATZ VON MICROSOFT TERMINAL-SERVICES ODER CITRIX METAFRAME

Powermanager Server- Client- Installation

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

USB 2.0 ZU IDE/SATA ADAPTER-KABEL

Alles Spricht von RAID-Verband

Spezifikationen für die Datenträgerlöschung mit GDisk

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Transkript:

Betriebssysteme Folie 4-1 4 Datenträger/Dateiverwaltung Dateien enthalten logisch zusammengehörende Daten werden auf einem Datenträger permanent gespeichert können im Allgemeinen über einen Namen identifiziert werden Dateiverzeichnis enthält Informationen zur Verwaltung von Dateien Dateiverwaltung bietet Benutzer/Programmierer komfortable Dienste Speicherung der Daten auf Datenträgern Realisierung von Zugriffsverfahren sequentiell indexsequentiell wahlfrei/direkt Verwaltung belegter und freier Teile des Datenträgers Gewährleistung von Sicherheit und Zugriffsschutz Dateisystem enthält alle vom Betriebssystem in derselben Art verwalteten Dateien inklusive der erforderlichen Verwaltungsinformationen

Betriebssysteme Folie 4-2 Entwicklung der Datenträger (Teil 1) 1725 Basile Bouchon benutzt eine Lochbandsteuerung zum Weben dekorativer Muster 1728 Jacques defalcon benutzt ein Lochkartenband zur Steuerung seiner Webstühle (Weiterentwicklung der Technik von Bouchon) 1805 Joseph Marie Jacquard stellt Webstühle, die durch ein Lochkartenband gesteuert werden, industriell her 1833 Analytical Engine von Charles Babbage (Konzept benutzt Lochkartenbänder zur Zahlen- und Programmeingabe. Augusta Ada Byron, Countess of Lovelace erstellt auf diesem Konzept als erste Programmiererin ein Programm zur Berechnung der Bernoullizahlen.) 1841 Sir Charles Wheatstone erfindet den Lochstreifen (paper tape) (2 Spuren, Einsatz in der Telegrafie. Wurde später für Computer auf 5, 6, 7 oder 8 Spuren erweitert. Die Z3 von Konrad Zuse (der erste programmgesteuerte Rechner, 1941) benutzt z. B. einen 8-Spur Kinofilmlochstreifen.) 1886 Herman Hollerith baut Hollerithmaschine (tabulating machine) und erfindet Lochkarte (punched card) als Datenträger (Im Jahr 1890 werden Lochkarten erstmalig zur Datenverarbeitung der 11. Volkszählung in Amerika eingesetzt. Hollerith verwendet runde Löcher. Die IBM-Lochkarte für Computer benutzt eckige Löcher und hat 12 Zeilen zu je 80 Spalten.) 1946 Magnettrommelspeicher (magnetic drum) (1950 liefert Engineering Research Associates den ersten kommerziell gebauten Rechner mit Trommelspeicher (ERA 1101) aus; Speicherkapazität: 16.384 Wörter zu je 24 Bits) 1953 IBM 726: erste kommerziell erfolgreiche Magnetbandstation 1956 IBM 350: erste Festplatte (wurde mit dem Rechner 305 RAMAC ausgeliefert und konnte auf 50 Plattenscheiben 5 MB speichern. Die Plattenscheiben hatten einen Durchmesser von 24".) 1963 IBM 1311: erste Wechselplatte (sechs 14"-Plattenscheiben, ca. 2 MB) 1970 IBM: erste 8"-Floppy (ca. 80 KB, später 180 KB und 360 KB) 1973 IBM 3340: erste Winchester -Festplatte (2-mal 30 MB) 1976 Shugart: erste 5,25"-Floppy (Kapazität: 160 KB (z. B. im IBM PC, 1981), später 360 KB (z. B. im IBM XT, 1983) und 1,2 MB (z. B. ab IBM AT, 1984)) 1980 Seagate ST-506: erste 5,25"-Festplatte (vier Plattenscheiben, 5 MB) 1981 Sony: erste 3,5"-Floppy (Kapazität:???, später 720 KB und 1,44 MB) 1983 Rodtime RO-352: erste 3,5"-Festplatte (ca. 20 MB)

Betriebssysteme Folie 4-3 Entwicklung der Datenträger (Teil 2) 1984 IBM: erste 1/2"-Bandkassette (Anfang vom Ende der bisherigen Bandgeräte) 1984 Toshiba stellt Flash Memory vor (ersetzt später EEPROM und ist Basis für Speicherkarten (z. B. Compact Flash) und USB-Sticks) 1985 erste CD-ROM-Laufwerke für PCs (z. B. Hitachi CDR-1502-S) 1987 Redundant Arrays of Inexpensive Disks (RAID, inexpensive wurde später durch independent ersetzt) 1988 Conner CP3022: erste 1"-hohe 3,5"-Festplatte (ca. 21 MB) 1988 PrairieTek: erste 2,5"-Festplatte (Prairietek 220, 20 MB) 1988 Gigatape: 1,2 GB Magnetbandkassette 1990 Kodak: Foto-CD 1991 IBM: erste 3,5"-Festplatte mit 1 GB Kapazität 1993 Seagate ST-12550 Barracuda 2: erste Festplatte mit 7.200 Umdrehungen/Minute (zehn 3,5"-Plattenscheiben, 2 GB) 1994 Syquest: 3,5"-Wechselplatte, (SQ-3270, 270 MB) 1994 Compact Flash -Speicherkarte 1997 Seagate ST-19101 Cheetah 9: erste Festplatte mit 10.000 Umdrehungen/Minute (acht 3,5"-Plattenscheiben, 9 GB) 1997 erste DVD-Laufwerke für PCs (z. B. Hitachi GF-1000, Hitachi GD-2000) 1998 M-Systems, Netac und Trek 2000 stellen fast zeitgleich USB Flash Drive vor 1999 IBM Microdrive: erste 1"-Festplatte (340 MB; Juni 2000: 1 GB) 2000 Seagate ST-318451 Cheetah X15: erste Festplatte mit 15.000 Umdrehungen/Minute (drei 2,5"-Plattenscheiben, 18 GB) 2001 erste kombinierte DVD/CDRW-Laufwerke für PCs 2002 erste Festplatten mit Serial ATA -Schnittstelle (z. B. Seagate ST- 3160023AS) 2002 erste mehrsprachige DVD-Brenner (z. B. Hitachi GMA-4020B) 2005 erste Festplatten mit perpendicular recording (z. B. Seagate ST- 9160821A, 2,5"-Plattenscheiben, 160 GB) 2006 erste Blu-ray-Disc-Brenner und HD-DVD-Brenner (z. B. BenQ BW1000, Plextor PX-B900A, Toshiba SD-L902A)

Betriebssysteme Folie 4-4 Entwicklung der Datenträger (Teil 3) 2007 erste Hybrid-Festplatten (z. B. Samsung HM16HJI, 160 GB und 256 MB Flash- Speicher) 2008 Blu-ray-Disc hat sich gegen HD-DVD durchgesetzt und wird Nachfolger der DVD rasante Kapazitätssteigerung bei 1"- bis 5,25"-Festplatten 1980: 5 MB (Seagate ST-506) 1993: 2 GB (Seagate Barracuda 2, ST-12550) 1998: 46 GB (Seagate Elite 47, ST-446452W) 1999: 1"-Festplatte mit 340 MB Kapazität (IBM Microdrive) 2002: 200 GB (Western Digital Caviar, WD2000BB) 2006: 1"-Festplatte mit 12 GB Kapazität (Cornice Dragon) 2006: 750 GB (Seagate ST-3750640AS, perpendicular recording ) 2007: 1 TB (Hitachi Deskstar 7K1000) 2009: 2 TB (Western Digital WD20EADS oder WD2002FYPS) 2010: 3 TB (Western Digital WD30EZRSDTL, Hitachi Deskstar 7K3000) Entwicklung der Solid-state Storage Devices (SSD) 1982: 64-256 MB (SSD für Cray X-MP; 1,76-3,28 Millionen Dollar) 2000: 8 MB USB-Stick (M-Systems DiskOnKey, IBM USB Flash Drive) 2008: 1,6 TB (BitMicro Altima E3S320, vermutlich erstes SSD mit mehr als einem Terabyte Kapzität im 3,5"-Festplattenlaufwerkformat) 2009: 256 GB USB-Stick (Kingston Datatraveller DT300)

Betriebssysteme Folie 4-5 Problem: die einzelnen Geräte besitzen im Allgemeinen völlig unterschiedliche Geräteparameter (z. B. unterschiedlich viele Oberflächen, Spuren pro Oberfläche, Sektoren pro Spur oder Blockgrößen) Dateiverwaltung müsste spezifisch für Datenträger erfolgen Beispiel: 3,5"-Disketten 1) Double-density: 720 KB 2 Köpfe, 80 Spuren pro Kopf, 9 Sektoren pro Spur 2) High-density: 1.440 KB 2 Köpfe, 80 Spuren pro Kopf, 18 Sektoren pro Spur Lösung des Problems: Dateiverwaltung sieht nur eine Folge von logischen Blöcken logischer Block kann aus mehreren zusammenhängenden Sektoren bestehen (Beispiel: bei einer Blockgröße von 2 KB (vier Sektoren) besitzt die 720 KB Diskette 360 Blöcke und die 1,4 MB Diskette 720 Blöcke; bei Disketten entspricht ein logischer Block allerdings im Allgemeinen immer einem Sektor, damit genügend viele Blöcke zur Verfügung stehen) Blocknummern werden vom sogenannten Gerätetreiber in gerätespezifische Angaben umgesetzt (z. B. in Zylinder/Kopf/Sektor-Werte oder logische Blockadressen bei Festplatten)

Betriebssysteme Folie 4-6 Betriebssystem und Anwendungsprogramm sehen Datei verschieden aus der Sicht des Programms besteht eine Datei aus einer Folge von Datensätzen oder Zeichen für das Betriebssystem ist die Strukturierung der Datei auf Programmebene ohne Bedeutung Betriebssystem teilt die Datei in eine Folge aufeinander folgender Blöcke ein (virtuelle Blöcke) Dateiverwaltung bildet virtuelle Blöcke der Datei auf logische Blöcke des Datenträgers ab (virtuelle und logische Blöcke werden im Allgemeinen gleich groß gewählt) buffer in application record 0 record 1 record 2 record 3 block 0 block 1 block 2 file (application view) file (operating system view: virtual block or cluster numbers) buffer cache in operating system block 0 block h block k block n file (operating system view: logical block or cluster numbers) devices (operating system view: device dependent parameters, e. g., (cylinder, track, sector) or "logical block address" for a disk)

Betriebssysteme Folie 4-7 die Größe eines Datensatzes im Programm entspricht normalerweise nicht der Blockgröße des Betriebssystems (kann kleiner oder größer als Block sein) das Betriebssystem speichert z. B. Blöcke zuerst in einem Systempuffer, aus dem es den gewünschten Datensatz in den Puffer des Programms kopiert (falls der gewünschte Datensatz über virtuelle Blockgrenzen hinausgeht, muss das Betriebssystem mehrere logische Blöcke anfordern) das Betriebssystem speichert Datensätze des Programms zuerst in Systempuffern, bevor sie auf den Datenträger geschrieben werden (die Systempuffer minimieren den zeitaufwendigen Datenaustausch mit dem peripheren Speicher, so dass ein Prozess in den meisten Fällen nicht blockiert werden muss, sondern seine Daten sofort aus dem internen Puffer erhält bzw. in diesen schreiben kann) logische Blöcke eines Datenträgers sind nach einiger Zeit mehr oder weniger zufällig belegt oder frei, so dass eine große Datei im Allgemeinen nicht zusammenhängend gespeichert werden kann Datenaustausch mit Datenträger erfolgt bei einer Festplatte z. B. durch Angabe der Zylinder/Kopf/Sektornummer (CHS-Notation) oder der logischen Sektornummer (LBA-Notation) des 1. Sektors des logischen Blocks Anzahl der zu übertragenden Sektoren/Blöcke

Betriebssysteme Folie 4-8 4.1 Festplatten/RAID-Systeme/LVM/NAS/SAN Aufbau einer Festplatte actuator axis head arm read/write head sector track cylinder spindle platter relevante Zeiten für Datenzugriff Kopfpositionierzeit (seek time) Drehwartezeit (Latenzzeit, latency time) Zugriffszeit (access time = seek time + latency time) Übertragungszeit (transfer time) transfer time seek time read/write head latency time

Betriebssysteme Folie 4-9 Parameter einiger Festplatten Seagate ST-4026 (ca. 1983/84) Seagate Marathon 4030sl (ST-94030AG, 1998) Seagate Elite 47 (ST-446452W, 1998) Seagate Barracuda 180 (ST1181677LCV 2001) Seagate Cheetah 18 (ST-118202LC, 1998) Formfaktor (in Inch) 5,25 2,5 5,25 3,5 3,5 Schnittstelle ST412 Ultra ATA-2 Ultra Wide SCSI Ultra 160 Wide SCSI Ultra 2 SCSI Datenübertragungsrate extern (MB/s) intern (Mbit/s) 0,6? < 33,3 < 104 < 40 < 185 < 160 < 508 < 80 < 231 Kapazität (in GB, 1 GB = 2 30 B) 20,4 MB 3,8 43,8 169,1 17 Anzahl Platten/Köpfe (phys.) 3/4 3/6 14/28 12/24 12/24 Geometrie physikal. logisch physikal. physikal. physikal. - Anzahl Schreib-/Leseköpfe - Anzahl Zylinder - Anzahl Sektoren (phys.) - Anzahl Sektoren (pro Spur) - Sektorgröße (in Byte) 4 615 41.820 17 512 16 7.944 8.007.552 63 512 28 9.996 91.923.356 328 (avg.) 512-4.096 24 24.247 354.600.002 609 (avg.) 512-4.096 24 6.962 35.566.479 213 (avg.) 180-4.096 Pufferspeicher (in KB) - read/write multiple - read look-ahead - multi-segmented - adaptive? 128 x x x? 4.096 x x x x 16.384 x x x x 1.024 x x x x Umdrehungen pro Minute 3.600 4.508 5.357 7.200 10.025 Umdrehungsdauer (in ms) 16,67 13,31 11,20 8,33 5,99 Kopfpositionierzeiten (in ms) - Spur-zu-Spur - erste-letzte-spur - mittlere Positionierzeit 8? 40 3 24 12 1,3 28,2 13,2 0,8 16 7,4 0,8 12,2 6 mittlere Drehwartezeit (in ms) 8,34 6,65 5,6 4,17 2,99 mittlere Übertragungszeit eines Sektors (in ms) 0,981 0,211 0,034 0,013 0,028

Betriebssysteme Folie 4-10 unterschiedliche Kapazitätsangaben in Datenblättern (teilweise gemischt) formatierte/unformatierte Kapazität Kapazitätsangabe in 10-er oder 2-er Potenzen mittlere Anzahl Sektoren/Spur für (un)formatierte Platte Beispiel: Seagate Barracuda 180 (354.600.002 Sektoren) formatiert unformatiert Kapazität in 10-er Potenz 181,6 GB 241,9 GB Kapazität in 2-er Potenz 169,1 GB 225,3 GB mittlere Anzahl Sektoren/Spur 609 793 Angaben sind teilweise widersprüchlich (z. B. wird für die Seagate Barracuda 180 als Kapazität 181,6 GB und als mittlere Anzahl Sektoren/Spur 793 angegeben (was zur unformatierten Kapazität passt, die weiter vorne im Handbuch angegeben ist)) Vergleich der Festplatten wird erschwert Datenübertragungsrate intern: Transport der Daten von der Plattenoberfläche in Puffer abhängig von Umdrehungsgeschwindigkeit und Spurkapazität (außen höhere Übertragungsrate als innen) bestes Maß für Leistungsfähigkeit der Festplatte extern: Transport der Daten aus Pufferspeicher in Hauptspeicher abhängig von der Schnittstelle (ATA, SCSI, SATA, ) gibt die maximal mögliche Übertragungsrate an

Betriebssysteme Folie 4-11 Pufferspeicher je größer desto besser (im Allgemeinen weniger Zugriffe auf die Plattenoberflächen) read look-ahead wenn ein Block benötigt wird, werden mit hoher Wahrscheinlichkeit auch die nächsten Blöcke gebraucht (sequentielle Verarbeitung) u. U. werden Daten gelesen, die nicht gebraucht werden Güte des Algorithmus wird durch Trefferrate bestimmt multi-segmented teilt den Pufferspeicher in Segmente für unabhängige Aufträge ein (die Seagate Barracuda 180 kann bis zu 64 Segmente verwalten) für jedes Segment kann read look-ahead benutzt werden bessere Nutzung großer Pufferspeicher adaptive adaptive segmentation: Anzahl der Segmente im Pufferspeicher wird dynamisch verwaltet adaptive algorithm: Ersetzungsstrategie für Segmente (Wenn es für einen neuen Auftrag noch keine Daten im Pufferspeicher gibt, müssen die Daten in einem Segment überschrieben werden. Der Algorithmus wählt z. B. das Segment aus, dessen Daten am wenigsten benutzt worden sind.) Implementierung des Pufferspeichers hat großen Einfluss auf Leistungsfähigkeit Festplatten mit i. w. identischen Parametern, können sich in der Leistung erheblich unterscheiden

Betriebssysteme Folie 4-12 Verarbeitung mehrerer Kommandos (Multiple Command Queueing and Reordering) erhöht die Leistungsfähigkeit (die Seagate Barracuda 180 kann bis zu 64 Kommandos gleichzeitig bearbeiten) Zugriffe auf die Plattenoberflächen können optimiert werden Umdrehungsgeschwindigkeit bestimmt die Drehwartezeit und Übertragungszeit für Blöcke sehr wichtig für Audio/Video-Dateien, sehr große Dateien, Kopfpositionierzeiten Zeiten für Sektor lesen sind kürzer als Zeiten für Sektor schreiben in der obigen Tabelle sind die Zeiten für Sektor lesen angegeben Sektorgröße einige Festplatten können mit unterschiedlichen Sektorgrößen formatiert werden (spezielles Programm zur Low-Level-Formatierung erforderlich; der Hersteller formatiert die Festplatten im Allgemeinen immer mit 512 Byte großen Sektoren) Sektorgröße hat Einfluss auf die Kapazität der Festplatte (größere Sektoren resultieren im Allgemeinen in einer höheren Kapazität, da die Verwaltungsinformation pro Sektor nur geringfügig steigt; das National Storage Industry Consortium hat im Jahr 2000 im Artikel Large Block Size for Disk Drives beschrieben, dass die Sektorgröße mittelfristig auf 4 KB und langfristig sogar auf größere Werte steigen muss)

Betriebssysteme Folie 4-13 einige Kapazitätsbarrieren für Festplatten in der PC-Welt FAT12-Grenze: 212 * 4 KB = 16 MB (ca. 1982/83; FAT12 wird heute (2007) immer noch bei allen Microsoft-Betriebssystemen für Disketten und DOS-Partitionen bis 16 MB eingesetzt; Windows 2000 unterstützt auch Blockgrößen von 8 KB; das Dateisystem kann dann aber von älteren Betriebssystemen (einschließlich Windows 98/ME) nicht benutzt werden) Grenze durch inkompatible Schnittstellen: 512 MB (ca. 1991/92; physikalische Adressierung der Festplatte, CHS-Notation (cylinderhead-sector); exakt liegt die Grenze bei 504 MB, da jede Spur nur 63 Sektoren enthalten kann (siehe unten)) Standard max. Anzahl Zylinder max. Anzahl Köpfe max. Anzahl Sektoren/Spur max. Kapazität BIOS INT 13h 210 28 26 8 GB IDE/ATA 216 24 28 128 GB Kombination 210 24 26 512 MB (IDE: Integrated Device Electronics, ATA: Advanced Technology Attachment storage interface) Lösung: logische Plattengeometrie und Umrechnung (BIOS INT 13h extensions; wurde auch durch neue Festplatten mit unterschiedlicher Anzahl Sektoren/Spur in verschiedenen Zylinderbereichen erforderlich (siehe weiter unten); ECHS-Notation (extended CHS); aus historischen Gründen werden Zylinder und Spuren ab 0 und Sektoren ab 1 (max. 2^n 1 Sektoren/Spur) gezählt) Zylinder Köpfe Sektoren/Spur Kapazität IDE/ATA -Grenze 65.536 16 255 127,5 GB logische Plattengeometrie (Seagate Marathon 4030sl) BIOS-Umrechnungsfaktor / 8 * 8 7.944 16 63 3,8 GB umgerechnete Geometrie 993 128 63 3,8 GB BIOS INT 13h - Grenze 1.024 256 63 7,875 GB

Betriebssysteme Folie 4-14 FAT16-Grenze: 216 * 32 KB = 2 GB (ca. 1993/94; Windows NT/2000/XP unterstützen auch 64 KB Blockgrößen; das Dateisystem kann dann aber von anderen Betriebssystemen (einschließlich Windows 98/ME) nicht benutzt werden) BIOS INT 13h -Grenze: 8 GB (ca. 1997) Lösung: logical block addressing (LBA) (BIOS INT 13h extensions; Sektoren werden nicht mehr über die 24-Bit großen CHS- Werte angesprochen, sondern direkt über 64-Bit Sektornummern, d. h., die Plattengröße wird nur über die Anzahl der physikalischen Sektoren definiert; entspricht der Adressierung bei SCSI-Festplatten (SCSI: Small Computer System Interface); große Festplatten melden im Allgemeinen immer C/H/S = 16.383/16/63, so dass bei alter BIOS-Software nur die ersten 8 GB sichtbar sind; Linux kann ab Version 2.0.34 (06/1998) Festplatten über 8 GB vollständig nutzen und Solaris ab Version 7 für Sparc- bzw. Version 8 für Intel-Prozessoren) FAT32-Grenze: 32 GB (theoretisch wären 2 28 * 32 KB = 8 TB möglich) (ca. 1998; die höherwertigen vier Bits sind reserviert, so dass nur 28 Bits für Blockadressen zur Verfügung stehen; FAT32 wird von Windows 95 OSR2, Windows 98/ME/2000/XP/ unterstützt; Partitionen mit mehr als 32 GB Kapazität können von Windows 2000/XP nicht mit FAT32 formatiert werden; Windows 2000/XP können solche Partitionen benutzen, wenn sie von anderen Betriebssystemen formatiert worden sind) vor Linux v2.2.14 (01/2000) und Solaris 8 Rel. 10/2000: 32 GB (Die Anzahl der Zylinder wurde bei Linux im Betriebssystemkern als short int gespeichert. Die Festplatte IBM Deskstar Modell DTLA-305040 meldet z. B. C/H/S = 16.383/16/63 und 80.418.240 physikalische Sektoren (ca. 38 GB). Linux hätte 80.418.240/(16 * 63) = 79.780 Zylinder für die Platte berechnet. Da der Wert als short int gespeichert wird, gehen die höherwertigen Bits verloren, so dass alte Linux-Versionen nur eine Festplatte mit 14.244 Zylindern, 16 Köpfen und 63 Sektoren/Spur (6,8 GB) erkennen.)

Betriebssysteme Folie 4-15 IDE/ATA -Grenze: 128 GB (ca. 2001/2002) Lösung: - ATA/ATAPI-6-Schnittstelle oder neuer - SCSI-Festplatten anstelle von IDE/ATA-Festplatten (ATAPI: ATA Packet Interface; Erweiterung der 28-Bit Adressierung auf 48-Bit Adressen (144 Peta Bytes); kann bis zu 65.536 Sektoren (32 MB) pro Kommando übertragen (vorher max. 256 Sektoren); Ultra DMA/100-Übertragungsmodus (100 MByte/s); wird auch 137 GB -Grenze genannt, wenn 1 GB mit 10 9 Bytes benutzt wird; Linux kann erst seit Version 2.5.3 (01/2002) IDE/ATA-Festplatten über 128 GB vollständig nutzen) nächste Grenze: 2 TB (alle 32-Bit Betriebssysteme können bei 512-Byte Sektoren maximal 2 32 * 512 Byte = 2 TB adressieren) Lösungen erforder(te)n Änderungen im BIOS und im Betriebssystem

Betriebssysteme Folie 4-16 Aufgabe 4-1: Welche Zeiten müssen beim Lesen/Schreiben eines Datenblocks von/auf einer/eine Festplatte berücksichtigt werden? Aufgabe 4-2: Gegeben sei eine Festplatte mit folgenden Eigenschaften: Umdrehungsgeschwindigkeit: 3.600 U/min, mittlere Kopfpositionierzeit: 8 ms, logische Blockgröße: 8 Sektoren, mittlere Anzahl Sektoren/Spur: 640. a) Wie lange dauert die Übertragung eines Datenblocks im Mittel? b) Welche Änderung ergibt sich, wenn die Umdrehungsgeschwindigkeit der Festplatte 10.000 U/min beträgt?

Betriebssysteme Folie 4-17 wie wurden Kapazitätssteigerungen erreicht? a) b) c) d) a) Festplatten hatten zuerst wenige Spuren und Sektoren/Spur (die Adressierung erfolgte mit den physikalischen Zylinder/Kopf/Sektor-Nummern) b) zuerst wurde die Kapazität durch mehr Spuren/Köpfe gesteigert (die Adressierung erfolgte mit den physikalischen Zylinder/Kopf/Sektor-Nummern) c) dann wurde die Anzahl der Sektoren/Spur erhöht (die Adressierung erfolgte relativ schnell mit logischen Zylinder/Kopf/Sektor- Nummern, da die physikalischen Nummern für die Datenstrukturen des Basic- Input/Output-Systems (BIOS) bzw. des Betriebssystems zu groß waren) d) schließlich wurden in verschiedenen Bändern/Zonen unterschiedlich vielen Sektoren/Spur benutzt (zoned bit recording) (die Adressierung erfolgte mit logischen Zylinder/Kopf/Sektor-Nummern bzw. später mit logischen Blockadressen (LBA), da die Struktur der Festplatte extern nicht mehr sichtbar war; im obigen Beispiel hat die innere Zone der Festplatte 10 Sektoren/Spur und die äußere 20 Sektoren/Spur; bei PC s sind logische Blockadressen zwingend bei Festplatten mit Kapazitäten größer als 8 GB erforderlich)

Betriebssysteme Folie 4-18 Beispiele Modell Zylinder Köpfe Sektoren/ Spur Kapazität Seagate ST-506 153 4 17 5,1 MB Seagate ST-412 306 4 17 10,1 MB Seagate ST-4096 1024 9 17 76,5 MB Seagate ST-4144R 1024 9 26 117,0 MB Seagate ST-2274A * 1747 5 54 230,3 MB * mögliche logische Geometrie: CHS = 873/10/54 230,2 MB Zylinderbereiche der IBM Deskstar 40GV & 75GXP (Modell DTLA-307xxx, Kapazitäten: 15-75 GB, November 2000) physikalische Zylinder Sektoren/Spur Datenzone 0 0-1.375 702 Datenzone 1 1.376-2.831 684 Datenzone 13 25.216-26.319 378 Datenzone 14 26.320-27.724 351 weitere Kapazitätssteigerung durch neues Aufzeichnungsverfahren (anstelle der horizontalen Magnetisierung wird seit dem Jahr 2005 bei neuen Festplatten oft eine vertikale Magnetisierung benutzt) longitudinal recording N S N S S N N S N S S N S N N S perpendicular recording N N S N N S S N S S N S S N N S

Betriebssysteme Folie 4-19 wie werden Daten auf der Festplatte gespeichert? Format ist abhängig vom Hersteller und Modell der Festplatte zwei grundsätzliche Formate Speicherung einer Identifikation für jeden Sektor auf der Festplatte (ID-Feld) Sektoridentifikation wird nicht auf der Festplatte sondern im Speicher des Controllers verwaltet (no-id Format) (erhöht die formatierte Speicherkapazität, da weniger Speicherplatz für Verwaltungsinformation benutzt wird) alle modernen Festplatten benutzen Servo-Blöcke zur Positionierung der Köpfe über der Spurmitte Servo-Blöcke identifizieren die Spuren (im Allgemeinen wird ein Graycode verwendet, bei dem sich zwei benachbarte Codewörter nur in einem Bit unterscheiden.) Servo-Blöcke sind notwendig bei der hohen Spurdichte Servosystem benötigt konstante Abtastrate der Servo-Blöcke entweder Servo-Informationen auf eigener Plattenoberfläche (veraltet, da die Köpfe u. U. nicht genau über der Spurmitte positioniert werden, wenn die Servo-Plattenoberfläche z. B. wärmer oder kälter als die Datenplattenoberfläche ist (unterschiedliche Ausdehnung); im Allgemeinen bei Festplatten mit ungerader Anzahl Schreib-/Leseköpfe)

Betriebssysteme Folie 4-20 oder Servo-Informationen sind in die Datenspuren eingebettet (embedded servo, sector servo; gibt es seit ca. Mitte der 1990-er Jahre; jedem Datenblock ist z. B. ein Servo-Block vorangestellt, dessen Information gelesen wird, um den Abstand der Köpfe von der Spurmitte zu bestimmen; Servo- Mechanismus der Festplatte benutzt diese Information, um den Kopf ggf. neu zu positionieren) prinzipielle Struktur einer Datenspur bei ID-Formaten gap servo gap data gap servo gap data block block block block track sync ID gap sync data sector ECC CHS, LBA flags CRC data blocks servo blocks good, bad servo split relocate pointer weitere Lücken (gap) werden verwendet, wenn sie z. B. für Umschaltvorgänge der Elektronik oder Spurwechsel notwendig sind CRC-Feld zur Überprüfung eines korrekten ID-Feldes ECC-Feld zur Fehlerkorrektur (im Allgemeinen wird ein Reed- Solomon Code verwendet, der Mehrfachfehler korrigieren kann)

Betriebssysteme Folie 4-21 für fehlerhafte Datensektoren wird ein Verweis auf einen Ersatzsektor gespeichert (jede Festplatte hat von Anfang an fehlerhafte Sektoren, so dass entsprechend viele Ersatzsektoren oder sogar Ersatzspuren vorgesehen sind (reduziert die formatierte Kapazität); Leistungsminderung durch erneutes Positionieren des Kopfes auf Ersatzsektor) früher wurden fehlerhafte Sektoren im Betriebssystem verwaltet Problem mit eingebetteter Servo-Information bei modernen Festplatten mit unterschiedlichen Datenzonen Anzahl der Servo-Blöcke wäre in jeder Zone verschieden keine konstante Abtastrate an den Grenzen der Datenzonen sind die Anfänge der Servo- Blöcke versetzt Problem für den Servo-Mechanismus Mitte der 1990-er Jahre hat IBM die Banded Sector Servo Disk Architecture entwickelt (vorher konnte die Servo-Information bei diesen Platten nicht eingebettet werden; die neue Technik wird inzwischen von (fast) allen Festplatten-Herstellern benutzt) Servo-Information kann in Datenblöcken abgelegt werden (Datenblöcke werden durch Servo-Information u. U. geteilt) Abtastrate ist wieder konstant

Betriebssysteme Folie 4-22 zusätzliche Leistungssteigerung durch Aufhebung der festen 1:1-Bindung von Servo- und Datenblöcken (im äußeren Bereich gibt es im Beispiel einen Servo-Block für zwei Datenblöcke) data band / zone servo splits data blocks data blocks servo blocks No-ID Format kein ID-Feld im Datenblock mehr Speicherplatz für Daten höhere Datenrate, da jede Spur mehr Daten enthält Sektor-Identifikation über Tabellen im Festplatten-Controller logische Blockadresse ist Wert zwischen 0 und Anzahl adressierbarer Blöcke der Festplatte physikalische Blocknummer (PBN) ist Wert zwischen 0 und Anzahl physikalischer Blöcke der Festplatte (fehlerhafte Sektoren sind ausgeblendet; Servo-Mechanismus findet physikalische Blöcke) PBN wird in exakten Wert für Zone/Zylinder/Kopf/Sektor umgesetzt (der logische Block wird auf jeden Fall an der berechneten Stelle gefunden, da die Ersatzsektoren für fehlerhafte Sektoren in einer Tabelle im Controller stehen (ID-Felder müssen nicht mehr durchsucht werden) schnellerer Zugriff (kein erneutes Positionieren, keine weitere Drehwartezeit bei defekten Sektoren))

Betriebssysteme Folie 4-23 Formatierung einer Festplatte low-level -Formatierung (legt die physikalische Struktur der Festplatte fest) erstellt die Spuren und Sektoren auf der Festplatte inkl. der erforderlichen Datenstrukturen zum Auffinden der Sektoren wird heute immer und nur vom Hersteller durchgeführt (Als die Festplatten noch dieselbe Anzahl Sektoren/Spur hatten, konnte bzw. musste diese Aufgabe vom externen Platten-Controller durchgeführt werden, damit der Schrittmotor die Schreib-/Leseköpfe genau auf die Spuren positionieren konnte. Die integrierte Servo-Information moderner Festplatten sorgt automatisch für eine korrekte Positionierung der Schreib-/Leseköpfe über der Spur.) high-level -Formatierung (legt die logische Struktur der Festplatte fest) schreibt die erforderlichen Informationen für das Dateisystem auf die Festplatte u. U. wird die Festplatte vorher in logische Platten (Partitionen) eingeteilt Festplatte kann mehrfach in verschiedene logische Platten eingeteilt oder mit unterschiedlichen Dateisystemen formatiert werden (Wenn die Festplatte neu formatiert wird, werden nur die Datenstrukturen für die Partitionen und/oder Dateisysteme neu geschrieben. Die eigentlichen Daten befinden sich im Allgemeinen immer noch auf der Festplatte und können ggf. restauriert werden (der Vorgang ist allerdings sehr aufwendig, da die Datenstrukturen des alten Dateisystems zerstört worden sind.)) die low-level -Formatierung wird durch eine high-level - Formatierung nicht verändert

Betriebssysteme Folie 4-24 Dateien sind zusammenhängend oder fragmentiert gespeichert 6 fragmented file unfragmented file 5 3 2 4 1 lange Zugriffszeiten bei fragmentierten Dateien (Drehwartezeit für Zugriff auf ersten Block; Blöcke 1, 2, 3 und 4 können in der ersten Umdrehung, Block 5 in der zweiten und Block 6 in der dritten Umdrehung gelesen werden; Zeit wird noch größer, wenn die Sektorabstände so ungünstig liegen, dass die Drehzeit nicht für die Positionierung des Kopfes ausreicht) Zugriffszeit sollte optimiert werden Schreib-/Leseaufträge von verschiedenen Prozessen für verschiedene Festplattenbereiche wahlfreier Zugriff auf Dateiblöcke Festplatten-Elektronik muss Positionierzeit im Vergleich zur Drehwartezeit optimieren Festplatten-Elektronik muss Zugriff auf Sektoren der Spuren optimieren (es sollen möglichst viele Sektoren in einer Umdrehung gelesen/geschrieben werden; war früher Aufgabe des Betriebssystems; Algorithmus braucht genaue Kenntnis der Zeiten, da eine volle Umdrehungszeit gewartet werden muss, wenn der Schreib-/Lesekopf auch nur etwas zu spät auf den Sektor positioniert hat)

Betriebssysteme Folie 4-25 Beispiel: Lesen einer 1.090.560 Byte großen Datei (2.130 Sektoren) (Annahme: Datei ist kompakt auf 10 aufeinander folgenden Spuren gespeichert; jeder Sektor wird genau einmal gelesen) Seagate Cheetah 18: 10.025 U/min 5,985 ms/u mittlere Drehwartezeit: 2,99 ms mittlere Positionierzeit: 6 ms Spur-zu-Spur Positionierzeit: 0,8 ms mittlere Anzahl Sektoren/Spur: 213 mittlere Übertragungszeit/Sektor: 0,0281 ms a) sequentielles Lesen 1. Spur lesen: 6 ms + 2,99 ms + 213 * 0,0281 ms 14,98 ms 2.-10. Spur lesen: 9*(0,8 + 2,99 + 213 * 0,0281) ms 87,98 ms minimal: 9*(0,8 + 213 * 0,0281) ms 61,07 ms insgesamt: 102,96 ms 0,1 s b) wahlfreies Lesen einen Sektor lesen: 6 ms + 2,99 ms + 0,0281 ms = 9,0181 ms insgesamt: 2.130 * 9,0181 ms 19 s

Betriebssysteme Folie 4-26 Festplattendefragmentierung unter Windows 1. Durchlauf 2. Durchlauf 3. Durchlauf

Betriebssysteme Folie 4-27 Scheduling von Festplattenzugriffen (heute im Allgemeinen im Festplatten-Controller) im Multitasking-Betrieb werden Schreib-/Leseaufträge im Allgemeinen für zufällige Plattenbereiche erzeugt (viele Prozesse mit Ein-/Ausgabe-Operationen) Schreib-/Leseaufträge können im Allgemeinen nicht so schnell ausgeführt werden wie sie eingehen (Festplatte ist viel langsamer als Prozessor) vor jedem Gerät gibt es eine Auftragswarteschlange Aufträge können umgeordnet werden, um die Zugriffszeiten zu verkürzen Auftragsreihenfolge bzgl. Kopfpositionierzeiten optimieren Auftragsreihenfolge bzgl. Drehwartezeiten optimieren (über alle Spuren eines Zylinders; wird manchmal auch sector queueing genannt; Sortierung der Sektornummern für eine Spur ist u. U. nicht erforderlich, da Festplatten mit großem Pufferspeicher im Allgemeinen alle Sektoren einer Spur einlesen (read look-ahead)) Kombination beider Verfahren Scheduler muss die genaue Position der Auftragsziele auf der Festplatte kennen Scheduler muss wissen, wie viel Zeit er für einen Positionswechsel benötigt (im Allgemeinen ist es günstiger, einen zweiten Auftrag auf derselben Spur zu bearbeiten, bevor er einen Auftrag auf einer benachbarten Spur bearbeitet; ein

Betriebssysteme Folie 4-28 Spurwechsel wäre nur sinnvoll, wenn die Drehwartezeit für den zweiten Auftrag größer ist als die Summe aus den beiden Positionierzeiten und der Übertragungszeit für den Auftrag auf der anderen Spur) im Allgemeinen wird der Scheduler die Aufträge so anordnen, dass zur Ausführung möglichst wenig Kopfbewegungen notwendig sind Bewertungskriterien für Scheduling-Verfahren Fairness Durchsatz maximieren (Anzahl bearbeiteter Anfragen pro Zeiteinheit) mittlere Antwortzeit minimieren Varianz der Antwortzeiten minimieren (Vorhersagbarkeit der Antwortzeit) globales Verhalten wird zu Lasten von Einzelanfragen optimiert

Betriebssysteme Folie 4-29 einige Scheduling-Verfahren a) FCFS b) SSTF 2 4 6 1 3 5 2 4 6 1 3 5 c) SCAN d) C-SCAN inward sweep outward sweep request arrived after inward sweep began jump to outermost request 2 4 6 1 3 5 2 4 6 1 3 5 First-Come-First-Served, First-In-First-Out sehr einfaches, faires Verfahren Aufträge werden nicht umgeordnet sehr viele Kopfpositionierungen über große Distanzen bei zufälligen Zugriffen geringer Durchsatz sehr große Antwortzeiten bei hoher Last u. U. geeignet bei geringer Last kleine Varianz der Antwortzeiten

Betriebssysteme Folie 4-30 Shortest-Seek-Time-First Auftrag, dessen Spur der aktuellen Spur am nächsten ist, wird zuerst bearbeitet Positionierung erfolgt in beide Richtungen unfair, da Aufträge mit großem Abstand benachteiligt werden (Aufträge für die inneren und äußeren Spuren können extrem benachteiligt werden, während Aufträge für die mittleren Spuren bevorzugt werden; starkes Lokalitätsverhalten; u. U. werden Aufträge für die inneren und äußeren Spuren bei hoher Last überhaupt nicht bearbeitet (starvation)) hoher Durchsatz im Allgemeinen kurze Antwortzeiten hohe Varianz der Antwortzeiten SCAN (bestes Verfahren für geringe Last) Kopf wird in einer Richtung positioniert, solange es in dieser Richtung Aufträge gibt Richtungsumkehr, wenn alle Aufträge in der ursprünglichen Richtung abgearbeitet worden sind (wird auch Fahrstuhl-Algorithmus genannt) unfair, da mittlere Plattenspuren im Allgemeinen häufiger bearbeitet werden als die Randspuren (auch bei hoher Last wird allerdings jeder Auftrag bearbeitet) hoher Durchsatz kurze Antwortzeiten mittlere Varianz der Antwortzeiten

Betriebssysteme Folie 4-31 Circular SCAN (bestes Verfahren für mittlere bis hohe Last; ausgezeichnet, wenn zusätzlich Drehwartezeit optimiert wird) Kopf wird von außen nach innen positioniert, solange es in dieser Richtung Aufträge gibt Positionierung auf den äußersten Auftrag, wenn alle Aufträge in der ursprünglichen Richtung abgearbeitet worden sind vermeidet die Nachteile von SCAN (wird oft so implementiert, dass Aufträge, die nach dem Start des Scan-Vorgangs ankommen, erst im nächsten Durchlauf bearbeitet werden Aufträge der inneren und äußeren Spuren werden nicht benachteiligt) sehr kleine Varianz der Antwortzeiten

Betriebssysteme Folie 4-32 warum wurden RAID-Systeme eingeführt? (Redundant Array of Independent Disks) Steigerung der Festplattenkapazität (viele kleine Festplatten verhalten sich wie eine große Festplatte) Steigerung der Leistung (parallele Bearbeitung auf den verschiedenen Laufwerken höhere Datenübertragungsrate) höhere Zuverlässigkeit/Verfügbarkeit (Daten werden redundant gespeichert, so dass Fehler und sogar der Ausfall einer Festplatte im laufenden Betrieb korrigiert werden können. Sobald die defekte Festplatte ersetzt worden ist, werden die verlorenen Daten automatisch wieder erzeugt. Die Daten müssen trotzdem immer noch gesichert werden (Backup), da u. U. zwei Festplatten gleichzeitig ausfallen (führt im Allgemeinen zu Datenverlust), Daten bewusst (verärgerte Angestellte, Viren) oder versehentlich gelöscht werden können, usw.) Basistechniken von RAID-Systemen Striping mehrere Laufwerke als logische Einheit zusammenfassen Daten blockweise auf die Laufwerke verteilen (Auf diese Weise können die Daten später parallel von mehreren Laufwerken gelesen werden Leistungssteigerung. Entspricht dem Interleaving beim Hauptspeicher.) Mirroring/Duplexing Spiegelung von Laufwerken über einen bzw. zwei Controller Parity kostengünstige Art zur Implementierung von Redundanz verschiedene RAID-Typen (RAID level) haben unterschiedliche Eigenschaften (es werden nur RAID 0, RAID 1, RAID 5, RAID 0+1 und RAID 1+0 vorgestellt)

Betriebssysteme Folie 4-33 RAID 0 (striping) logical disk physical disk 0 physical disk 1 physical disk 2 physical disk 3 strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 RAID controller and management software strip 0 strip 4 strip 8 strip 1 strip 5 strip 9 strip 2 strip 6 strip 10 strip 3 strip 7 strip 11 wird benutzt, um die Festplattenkapazität und/oder die Datenübertragungsrate zu erhöhen (Wenn in einem E/A-Auftrag mehrere zusammenhängende Blöcke übertragen werden, arbeiten mehrere Festplatten parallel. Die maximale Datenübertragungsrate wird erreicht, wenn das Datenvolumen eines Auftrags ein Vielfaches von Blockgröße * Anzahl Festplatten ist. Sehr kleine Aufträge bringen u. U. keine Leistungssteigerung, da die Daten dann eventuell nur auf einer Festplatte gespeichert sind. Controller kann in diesem Fall eventuell andere Aufträge parallel auf den anderen Festplatten ausführen.) keine Redundanz (daher eigentlich kein RAID) Ausfall einer Festplatte führt zu totalem Datenverlust Daten werden über zwei oder mehr Festplatten verteilt verschiedene Blockgrößen (block size, strip size, striping factor, ) (In der Praxis werden im Allgemeinen Vielfache der Sektorgröße der Festplatten als Blockgröße benutzt. Kleine Blockgrößen erhöhen ggf. die Parallelität.) Ausfallsicherheit sinkt mit steigender Anzahl Festplatten (MTBF RAID = MTBF Festplatte / Anzahl Festplatten; MTBF: Mean Time Between Failure)

Betriebssysteme Folie 4-34 RAID 1 (mirroring/duplexing) logical disk mirror of physical disk 0 another mirror of physi- physical mirror of cal disk 0 disk 1 hot spare disks block 0 block 1 block 2 block 3 block 4 block 5 block 6 block 7 block 8 RAID controller and management software physical disk 0 block 0 block 1 block 2 block 0 block 1 block 2 block 0 block 1 block 2 physical disk 1 block a block b block c block a block b block c speichert alle Daten auf jeweils zwei unabhängigen Festplatten (Bei Mirroring werden beide Festplatten am selben Kanal eines RAID-Controllers angeschlossen und bei Duplexing an verschiedenen Kanälen des Controllers oder es werden sogar zwei Controller benutzt. Ggf. können auch mehrere Kopien der Festplatte erstellt werden, um die Datenübertragungsrate beim Lesen durch paralleles Lesen von verschiedenen Festplatten zu erhöhen. Die Kapazität des RAID-Systems kann durch hinzufügen weiterer gespiegelter Festplattensätze erhöht werden. Manchmal werden auch Ersatz-Festplatten (hot spare disks) verwaltet, die eine defekte Festplatte kurzfristig ersetzen können, um die Ausfallsicherheit des Systems zu erhöhen.) sehr hohe Redundanz für sicherheitsrelevante Anwendungen (Solange höchstens eine Festplatte eines Festplattenpaares ausfällt, tritt kein Datenverlust auf.) sehr teuer (Hardware, Strom, Klimatisierung, Stellfläche, ), da mindestens 50 Prozent der Festplatten nur Duplikate der Daten enthalten hohe Datenrate bei Leseaufträgen, da von beiden Festplatten gelesen werden kann geringe Datenrate bei Schreibaufträgen, da die Daten auf beide Festplatten geschrieben werden müssen und die Drehwartezeiten auf den beiden Festplatten im Allgemeinen unterschiedlich sind

Betriebssysteme Folie 4-35 RAID 5 (striping with distributed parity) logical disk physical disk 0 physical disk 1 physical disk 2 physical disk 3 physical disk 4 strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 RAID controller and management software strip 0 strip 4 strip 8 strip 12 p(16-19) strip 1 strip 5 strip 9 p(12-15) strip 16 strip 2 strip 6 p(8-11) strip 13 strip 17 strip 3 p(4-7) strip 10 strip 14 strip 18 p(0-3) strip 7 strip 11 strip 15 strip 19 Berechnung der Parität mit Hilfe der XOR-Operation ( a xor b ist 0, wenn a und b denselben Bit-Wert haben und 1 sonst. Die XOR-Operation hat die interessante Eigenschaft, dass bei einem Fehler jedes von n+1 Bits aus den verbleibenden n Bits rekonstruiert werden kann.) a b c = a xor b b = c xor a a = c xor b 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 Vorteile kein Datenverlust beim Ausfall eines Festplattenlaufwerks preiswerter als RAID 1, da bei n Festplattenlaufwerken nur 100/n Prozent der Festplattenkapazität für redundante Daten benutzt werden hohe Datenübertragungsraten durch striping beim Lesen

Betriebssysteme Folie 4-36 Nachteile Schreibzugriffe sind langsam, da die Parität berechnet und auf eine Festplatte geschrieben werden muss (Drehwartezeiten der beteiligten Festplatten sind im Allgemeinen unterschiedlich, so dass die langsamste Festplatte die Zeit bestimmt. Falls das Programm die Blöcke nicht sequentiell sondern wahlfrei schreibt, müssen alle restlichen Blöcke eines Stripes gelesen werden, damit die Parität berechnet werden kann, bevor der aktuelle Block und der Paritätsblock geschrieben werden können RAID 5 ist für wahlfreien Zugriff oder sehr kleine Schreibaufträge eigentlich nicht geeignet, wenn die Übertragungsrate eine Rolle spielt. Bei RAID 3 oder RAID 4 wird der Paritätsblock sogar auf eine spezielle Festplatte geschrieben, die dadurch zum Flaschenhals (bottleneck) wird, da alle Schreibzugriffe diese Festplatte benötigen.) sehr rechenintensiv, da die Parität berechnet werden muss (muss im RAID-Controller erfolgen, da die CPU sonst zu stark belastet werden würde) falls ein Laufwerk ausgefallen ist, müssen dessen Daten bei jedem Zugriff rekonstruiert werden (Sehr rechenintensiv, so dass das RAID-System im sogenannten degraded mode relativ langsam ist. Bei einem RAID 1 -System können die Daten in so einem Fall einfach von der redundanten Festplatte gelesen werden.) Schreibaufträge sind kritisch und müssen deshalb synchronisiert werden Leistungseinbuße (Falls der Schreib-Prozess zwischen dem Schreiben des Datenblocks und dem Schreiben des Paritätsblocks unterbrochen wird, könnte die Datenintegrität des gesamten RAID-Systems kompromittiert werden.) bevorzugtes RAID-System für Server mit großer Festplattenkapazität (Datei-Server, Datenbank-Server, Web-Server, Intranet-Server, )

Betriebssysteme Folie 4-37 RAID 0+1 (RAID 01) und RAID 1+0 (RAID 10) zweistufige Verfahren, die die Vorteile von RAID 0 und RAID 1 kombinieren RAID 01: zuerst RAID 0 und dann RAID 1 (Spiegelung von Stripes. Der RAID-Controller fasst zuerst jeweils n/2 Festplatten zu zwei virtuellen RAID 0 -Festplatten zusammen. Danach fasst er die beiden virtuellen Festplatten zu einer virtuellen Raid 1 -Festplatte zusammen, die dann die logische Festplatte bildet, die der Server sieht.) logical disk strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 RAID controller and management software physical disk 4 strip 0 strip 4 strip 8 strip 0 strip 4 strip 8 mirror of stripe set physical disk 5 strip 1 strip 5 strip 9 strip 1 strip 5 strip 9 physical disk 6 strip 2 strip 6 strip 10 strip 2 strip 6 strip 10 physical disk 7 strip 3 strip 7 strip 11 strip 3 strip 7 strip 11 physical disk 0 physical disk 1 stripe set physical disk 2 physical disk 3 sehr einfach zu verwalten Ausfall einer Festplatte führt zu vollständigem Datenverlust im zugehörigen Stripe Set (Redundanz ist verloren) Ausfall einer weiteren Festplatte im anderen Stripe Set führt zu vollständigem Datenverlust des RAID-Systems

Betriebssysteme Folie 4-38 RAID 10: zuerst RAID 1 und dann RAID 0 ( Stripes auf gespiegelten Festplatten. Der RAID-Controller fasst zuerst jeweils zwei Festplatten zu n/2 virtuellen RAID 1 -Festplatten zusammen. Danach fasst er die n/2 virtuellen Festplatten zu einer virtuellen Raid 0 -Festplatte zusammen, die dann die logische Festplatte bildet, die der Server sieht.) logical disk strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 RAID controller and management software mirror of physical disk 0 strip 0 strip 4 strip 8 strip 0 strip 4 strip 8 mirror of physical disk 1 strip 1 strip 5 strip 9 strip 1 strip 5 strip 9 mirror of physical disk 2 strip 2 strip 6 strip 10 strip 2 strip 6 strip 10 mirror of physical disk 3 strip 3 strip 7 strip 11 strip 3 strip 7 strip 11 physical disk 0 physical disk 1 physical disk 2 physical disk 3 in jedem Festplattenpaar darf maximal eine Festplatte ausfallen (höhere Ausfallsicherheit als RAID 01) RAID 10 wird RAID 01 vorgezogen, wenn hohe Verfügbarkeit und hohe Datenübertragungsraten gefordert werden RAID 01 und RAID 10 unterscheiden sich durch die Organisation der Festplatten, während die Aufteilung der Daten auf die Festplatten identisch ist bei RAID 10 muss nur die defekte Festplatte resynchronisiert werden und bei RAID 01 müssen alle Festplatten der defekten virtuellen RAID 0 -Festplatte resynchronisiert werden

Betriebssysteme Folie 4-39 Zusammenfassung RAID 0 RAID 1 RAID 5 Speichereffizienz 100% 50% 100*(n-1)/n % bei n Laufwerken Fehlertoleranz keine sehr gut gut Verfügbarkeit niedrig sehr gut gut wahlfreies Lesen sehr gut gut sehr gut wahlfreies Schreiben sequentielles Lesen sequentielles Schreiben sehr gut gut mäßig sehr gut gut gut bis sehr gut sehr gut gut mäßig Kosten gering hoch mittel Die Eigenschaften von RAID 10 wurden fett hervorgehoben. In der Praxis können sich einzelne RAID-Systeme sehr stark in der Leistung unterscheiden, da die Leistung von den verwendeten Festplatten, dem RAID-Controller, der Größe des Pufferspeichers (Cache) im System, den implementierten Algorithmen zur Verwaltung des Pufferspeichers und vielen anderen Dingen abhängt, so dass man die Leistungsdaten der Systeme vor einem Kauf sehr genau vergleichen sollte. erstes RAID-System der Hochschule Fulda 5 Festplatten Quantum Atlas 2 (ca. 9 GB, 7.200 U/min., SCSI-3 Ultra Wide -Schnittstelle mit 40 MB/s Übertragungsrate) RAID-Level 5 (45 GB physikalisch; 36 GB logisch) RAID-Controller: CMD 5500 Anschaffungsdatum: Juni 1997 Kosten: 26.000 DM (ca. 13.300 Euro)

Betriebssysteme Folie 4-40 Logical Volume Manager (LVM) Zwischenschicht im Betriebssystem zwischen Festplatten und Dateisystem fasst mehrere physikalische Festplatten zu einer großen virtuellen Festplatte zusammen (der Logical Volume Manager bietet damit wie ein RAID-System eine hardwareunabhängige Sicht auf die Festplatten) im Allgemeinen kann die virtuelle Festplatte wieder in kleinere logische Festplatten aufgeteilt werden Größe der virtuellen Festplatte bzw. der logischen Festplatten kann einfach geändert werden schnelle und einfache Reaktion auf neue Anforderungen des Dateisystems an die Festplattengröße (Falls ein Dateisystem direkt auf einer physikalischen Festplatte aufsetzt, kann es im Allgemeinen nicht über die Festplatte hinauswachsen, wenn es im Laufe der Zeit den gesamten Festplattenplatz belegt hat. Eine virtuelle Festplatte kann dagegen sehr einfach vergrößert werden, um ein derartiges Problem zu lösen.) belastet die CPU(s) und die Bussysteme des Servers, da die Virtualisierung durch Software auf dem Server erbracht wird (bei einem RAID-System ist die Virtualisierung ausgelagert, so dass der Server entlastet wird) bisher nur blockorientierter Zugriff auf Festplatten möglich Betriebssystem benötigt höhere Abstraktionsebene Dateisystem (Verzeichnisse und Dateien)

Betriebssysteme Folie 4-41 lokale Dateisysteme und Netzwerk-Dateisysteme Workstation Storage Client Storage Client Storage Server Storage PC Storage Client Storage LAN Server Storage Workstation Storage Client Storage Client Storage Client Storage a) Einzelplatzsysteme b) vernetzte Rechner unvernetzte Rechner haben eine lokale Festplatte mit lokalen Dateisystemen (preiswert, hohe Transaktions- (Ein-/Ausgaben pro Sekunde) und Datenübertragungsrate (MB/s), hoher Administrationsaufwand bei vielen Rechnern) vernetzte Rechner haben im Allgemeinen Zugriff auf eine lokale Festplatte und auf Festplatten von Server-Systemen (u. U. aufwendig, wenn Inkompatibilitäten überwunden werden müssen, z. B. Zugriff von Windows-Rechnern auf UNIX-Server) Zugriff auf Server erfolgt über Netzwerk-Dateisystem (z. B. das Netzwerk-Dateisystem NFS (network file system) von Sun Microsystems, das von vielen Betriebssystemen unterstützt wird oder das Netzwerk-Dateisystem CIFS (common internet file system) von Microsoft (ist zu NFS inkompatibel)) freie Speicherkapazitäten auf einem System können von einem anderen System im Allgemeinen nicht benutzt werden Datei-Server (file server) sind heute sehr wichtig haben sich zu einer eigenen Produktgruppe entwickelt

Betriebssysteme Folie 4-42 Network Attached Storage (NAS) Client (Storage) Client (Storage) NAS RAID, Client (Storage) LAN NAS Backup News Server (Storage) Web/FTP Server (Storage) Application Server (Storage) vorkonfigurierte Server (Können direkt über das LAN (local area network) adressiert werden. Einfache Installation: anschließen, hochfahren, benutzen) bestehen im Allgemeinen aus einem oder mehreren internen Servern Speicherkapazität wird im Allgemeinen über NFS oder CIFS bzw. FTP (file transfer protocol) oder HTTP (hypertext tranport protocol) zur Verfügung gestellt (Heterogene Systeme können dieselben Daten benutzen, da das Dateisystem im Speichersubsystem implementiert ist und die Daten über Standard-Protokolle übertragen werden. Für Datenbanksysteme im Allgemeinen nicht geeignet, da kein direkter Blockzugriff (raw volume) unterstützt wird (viele Datenbanksysteme verwalten ihre Daten selbst auf der Festplatte).) besitzen im Allgemeinen ein für den speziellen Einsatz optimiertes Betriebssystem, das auch die Dateisysteme enthält im Allgemeinen zu langsam für E/A-intensive Anwendungen Datensicherung (Backup) belastet das Netzwerk (LAN)

Betriebssysteme Folie 4-43 Storage Area Network (SAN) Backup Server Storage Server Storage Server Database Server Application Server SAN Web/FTP Server Client Client Client LAN Client Client Client Client SAN ist Hochgeschwindigkeitsnetzwerk (Fibre Channel) zwischen Servern und Speichersubsystemen (SAN unterstützt Server-Speicher -, Server-Server - und Speicher-Speicher - Kommunikation. Mehrere Server können auf denselben Speicher sequentiell oder parallel zugreifen.) Übertragung erfolgt blockorientiert (Datenbanksysteme können damit sehr effizient arbeiten) Dateisystem ist im Server und nicht im Speichersubsystem implementiert Entlastung von LAN und Server durch direkte Speicher- Speicher -Kommunikation bei der Datensicherung (Backup) für E/A-intensive Anwendungen geeignet sehr gute Skalierbarkeit (wächst mit den Anforderungen) hohe Kosten

Betriebssysteme Folie 4-44 Aufgabe 4-3: Welche Verfahren wurden zur Kapazitätssteigerung von Festplatten eingesetzt? Aufgabe 4-4: Beschreiben Sie stichwortartig die Begriffe low level -Formatierung und high level -Formatierung. Aufgabe 4-5: Beschreiben Sie stichwortartig die Arbeitsweise des SCAN-Scheduling- Verfahrens. Aufgabe 4-6: a) Welche Vorteile bieten RAID-Systeme? b) Welche Techniken werden zur Realisierung von RAID-Systemen eingesetzt?

Betriebssysteme Folie 4-45 4.2 Festplatten-Layout/Boot-Vorgang Besonderheiten bei PCs bis zu vier Partitionen je Festplatte in der Partitionstabelle höchstens eine erweiterte Partition jede Partition (heißt bei Solaris logische Platte, die ihrerseits in slices eingeteilt wird) kann für unterschiedliche Dateisysteme formatiert werden jede Partition, von der ein Betriebssystem gestartet werden soll, muss (bei älteren Systemen) in den ersten 1024 Zylindern der Festplatte beginnen (Beschränkung in der Partitionstabelle) die meisten (alle?) Betriebssysteme können nur von der ersten Festplatte gestartet werden manche Betriebssysteme können sowohl von primären Partitionen als auch von logischen Laufwerken der erweiterten Partition gestartet werden manche Betriebssysteme können nur von der ersten primären Partition des ersten Laufwerks gestartet werden