280 likes | 369 Views
Secondary Storage and System Software. oder Sekundäre Speicher und ihre Merkmale Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Manfred Thaller HS „Intelligente Dateisysteme“, WS 2013/14 Referent: Max Supplieth. Table of Contents.
E N D
Secondary Storage and System Software oder Sekundäre Speicher und ihre Merkmale Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Manfred Thaller HS „Intelligente Dateisysteme“, WS 2013/14 Referent: Max Supplieth
Table of Contents • Was sind Sekundäre Speicher? • (Festplatten-)Laufwerke: Disk Drives • Funktionsweise einer Disk • Speicherverwaltung auf einer Disk • Magnetband • Funktionsweise eines Magnetbandes • Speicherverwaltung auf einem Magnetband • CD-ROM • Funktionsweise der CD-ROM • Speicherverwaltung auf einer CD-ROM Exkurs: „The Journey of a Byte“ Schritt für Schritt
Was sind sekundäre speicher? • Bei sekundären Speichern werden die Dateien auf einem externen Speichermedium gespeichert. • Zugriffe auf Dateien (Erstellen, Öffnen, Speichern, Schließen) dauern länger. • Nicht alle Zugriffe sind gleich schnell. Gute Datenstruktur = Datenverarbeitung mit möglichst geringer Laufzeit. • Es gibt unterschiedliche Typen von Speichermedien (Diskette, Magnetband, CD-ROM).
FUNKTIONSWEISE EINER DISK • Die Oberfläche der Diskette ist in Spuren (Tracks) und Sektoren (Teilstücke einzelner Tracks) unterteilt. • 1 Spur besteht aus n Sektoren. Ein Sektor bezeichnet die kleinstmögliche Speicheradresse auf der Diskette. • Zwei direkt untereinander befindliche Spuren bilden 1 Zylinder.
FUNKTIONSWEISE EINER DISK • Wird eine Datei aufgerufen (file.read(n)), wird also nach einem bestimmten Byte auf der Diskette gesucht. Dafür lokalisiert der Lese-/Schreibkopf im Diskettenlaufwerk zunächst die korrekte Oberfläche, die Spur und den Sektor. Der gesamte Sektor wird in einen Buffer eingelesen, das angefragte Byte in diesem Buffer gefunden.
FUNKTIONSWEISE EINER DISK • Um den Speicherplatz auf einer Festplatte zu berechnen: Speicherkapazität pro Spur = Anzahl Sektoren/Spur * Bytes pro Sektor. Skpro Zylinder = Anzahl Spuren/Zylinder * Sk pro Spur: Skder gesamten Festplatte = Anzahl Zylinder * Sk pro Zylinder. • Wenn also auf einer Festplatte 24,8 Zylinder Speicherplatz frei sind (und es wohl keine 24,8 physisch zusammenhängenden Zylinder gibt), muss die Datei auf mehrere Zylinder verteilt gespeichert werden. Wenn pro Zylinder nur wenig Platz verfügbar ist, vielleicht sogar auf hunderte.
Speicherverwaltung auf einer disk • Sektorverwaltung vs. Blockverwaltung • Sektorverwaltung: Physische Anordnung vs. Versetzte Anordnung der Sektoren • Physisch: Alle Sektoren sind nebeneinander angeordnet, besitzen eine feste Größe. • Nachteile: Wenn man z.B. eine Reihe von Sektoren innerhalb eines Tracks lesen will: Verarbeitungsgeschwindigkeit des Lesekopfs langsamer als Drehzahl der Disk. Nur 1 Sektor pro Umdrehung kann gelesen werden! • Besser: Versetzte Anordnung: Zwischen aufeinanderfolgenden Sektoren liegen mehrere (n) Sektoren. Beispiel: Wenn n=5, dann braucht man nur noch 5 Umdrehungen, um alle Tracks zu lesen.
CLUSTER • Wenn auf eine Datei zugegriffen wird, betrachtet der File Manager die Datei als eine Folge von Clustern (benachbarte Sektoren). • Wenn dieser Cluster einmal auf der Disk gefunden wurde, können alle Sektoren dieses Clusters ohne nochmaligen Suchlauf adressiert werden. • File Manager verwendet File AllocationTalble (FAT), eine Art „Inhaltsverzeichnis“. Jeder Cluster einer Datei ist dort mit seiner phyischen Speicheradresse aufgeführt.
FRAGMENTIERUNG • Wenn ein Sektor 512 Bytes groß ist, aber alle Datenverbünde insgesamt 300 Bytes? • Nur 1 Verbund pro Sektor speichern. Vorteil: Jeder beliebige Verbund kann durch das Aufrufen nur eines Sektors adressiert werden. Nachteil: Viel ungenutzter Speicherplatz = interne Fragmentierung! • Verbünde sektorübergreifendauf mehreren Sektoren speichern. Vorteil: Keine Platzverschwendung durch Fragmentierung. Nachteil: Einige Verbünde nur durch das Aufrufen mehrerer Sektoren adressierbar.
blockverwaltung • Alternative zur Sektorverwaltung. Spuren werden in Blocks variabler Größe unterteilt, abhängig von der logischen Anordnung der Dateien. • Keine sektorübergreifende Speicherung, kein Laden mehrerer Sektoren für einen Verbund mehr erforderlich • Keine interne Fragmentierung • Hinter jedem Block befindet sich zudem ein Subblock, der Informationen über die Größe des Blocks oder den Key für den letzten Verbund enthält. Spur kann nach einem Block mit einem bestimmten Key durchsucht werden. Viel effizientere Suchvorgänge, kein Laden in den primären Speicher mehr erforderlich!
MAGNETBAND • Magnetband in Cassetten, Minitapes, Videoband, Tonband • Keine direkten Dateizugriffe möglich, bieten aber dafür sehr schnellen sequentiellen Zugriff. • Kompaktes, leicht zu lagerndes und zu transportierendes Speichermedium. • Günstiger in Anschaffung und Herstellung als Disks
Funktionsweise eines MAGNETBANDs • Da die Daten auf einem Magnetband (logischerweise) sequentiell angeordnet sind, ist auch keine Adressierung der Speicherorte erforderlich. • Genauer gesagt: Die logische Position eines Bytes entspricht der tatsächlichen Position der Datei auf dem Band.
Speicherverwaltung auf einem MAGNETBAND • Die Oberfläche eines Bandes besteht aus mehreren parallel angeordneten Tracks. Jeder Track besteht aus einer Bit-Sequenz. • Beispiel: 9 Tracks auf dem Band, 9 Bits/Track, 9 Bits = 1 Byte + 1 Paritätsbit. • Das Paritätsbit gehört nicht direkt zu den Daten, wird verwendet, um die Validität der Daten zu überprüfen und fehlerhaft übertragene Bits zu erkennen. • Die einzelnen Blocks werden durch sog. „Zwischenblockzeichen“ (interblockgaps) abgetrennt. • Ein Großteil des Platzes auf dem Band bleibt leer!
DISK ODER MAGNETBAND? • Disk: Direkter und beliebiger Zugriff auf Dateien möglich. Früher deutlich längere Zugriffsdauer, da gleichzeitig mehrere solcher Prozesse gesteuert werden. • Magnetband: Gut für sequentielle Datenverarbeitung, Langzeitarchivierung von Dateien. Schneller Zugriff, da nur 1 Prozess überwacht werden muss. • Aber: Kosten für die Herstellung der Disk sind drastisch gesunken, auch die Zugriffsgeschwindigkeit hat sich stark erhöht. Somit sind die früheren ‘Alleinstellungsmerkmale‘ des Magnetbandes verschwunden. Disk hat leichte Vorteile, aber Magnetband ist immer noch günstiger als Disk und bleibt wichtiges Speichermedium für die Langzeitarchivierung von Dateien.
CD-ROM • Compact Disc Read-OnlyMemory • Read-only bzw. Write-Once: Wenn einmal etwas auf CD oder CD-ROM geschrieben wurde, kann es nicht mehr überschrieben werden. • Eher ein „Verbreitungs“medium, als ein Speichermedium. • Präferiertes Medium für die Publikation von Textdaten (meist in Verbindung mit Bilddaten), Video- oder digitalen Audiodateien.
Funktionsweise der cd-rom • CD-ROMs werden von einer sog. Master-Disc ab„gedruckt“. • Digitale Daten werden per Laserstrahl auf die gläserne Master-Disc gebrannt. Das Glas wird durch den Strahl verformt, die vom Laser bearbeiteten Stellen werden zu pits (Vertiefungen), unbehandelte Areale bleiben lands (Ebenen). Dieser Abdruck der Information wird auf die Disc gedruckt, das Muster wird somit übertragen. • Wird die Disc nun gelesen, wird mittels Laserlicht die Spur ausgelesen. Pits streuen diesen Lichtstrahl, Ebenen reflektieren diesen. Dieses „alternierende Licht“ wird verwendet, um die digitale Information auf der Disc zu rekonstruieren. 1 = Änderung von Pit zu Land und umgekehrt (wenn die Lichtstärke sich ändert). 0 = Meßwert für die Zeitintervalle zwischen den Lichtänderungen. Je länger dieses Intervall, desto mehr 0.
Funktionsweise der cd-rom • Dieses Übersetzungsschema übersetzt die Lichtsignale (die von der originalen 8-Bit-Sequenz ausgehen) sozusagen in eine „expandierte“ Bit-Abfolge. • Diese (translatierte) Sequenz wird nun beim Lesevorgang mittels einer Lookup-Table in die tatsächliche Abfolge von 1 und 0 (8-Bit-Sequenz) rückübersetzt.
SPEICHERVERWALTUNG AUF DER CD-ROM clv VS. cav • Zur physischen Speicherung auf einer CD-ROM gibt es zwei unterschiedliche Verfahren: CLV vs. CAV: • CLV = Constant Linear Velocity. Die Spuren werden spiralförmig und rotatorisch vom Zentrum der Disc bis zu den Außenrändern angeordnet. • Die Sektoren in der Mitte haben die gleiche Größe wie die am Rand. Also kann der gesamten Platz auf der Disc ausgenutzt werden. • Aber: Wenn die äußeren Spuren gelesen werden, muss die Disc langsamer rotieren, das Tempo „gedrosselt“ werden, da die Datenübertragung konstant bleiben muss!
Speicherverwaltung auf der cd-rom: CLV vs. CAV • CAV (Constant Angular Velocity): Die Spuren werden konzentrisch angeordnet, Sektoren sind alle gleich groß. Weniger dichte Datenbeschreibung, Speicherkapazität wird verschwendet. • Disc kann immer gleich schnell rotieren, da eine Rotation immer die gleiche Anzahl von Sektoren ausliest (da sie ja alle gleich groß sind!) • CLV ist schuld an langer Zugriffsdauer. Aber: Eine Disc hätte nur halb so große Speicherkapazität, würde sie CAV verwenden!
SPEICHERVERWALTUNG AUF DER CD-ROM • Eine CD-ROM hat entweder 70 Min. oder 600 MB Speicherkapazität. • Die Speicheradresse auf der CD-ROM entspricht der tatsächlichen Min:Sek:Sektor auf der Disc. Bespiel: 34.Sektor in 22.Sekunde der 16.Spielminute: 16:22:34
SPEICHERVERWALTUNG AUF DER CD-ROM „Warum kann eine Disc Unmengen von Textdateien speichern, aber nur ganz wenig Audio?“ • Audio wird durch Wellensignale kodiert. Die Welle hat eine bestimmte Amplitude und Frequenz. Jede dieser Amplituden muss in bestimmten Zeitintervallen gespeichert werden. Beispiel: Ein 16-Bit- oder 2-byte-Signal. • Bei 44,1 kHz = 44100x / Sek. Speichern = 88200 Byte / Sek. • Bei Stereo-Qualität: Verdoppeln. 176400 Byte / Sek. Noch Fragen ?!
Pro und contra der CD-ROM • Größte Schwäche: Schwache Suchperformanz/lange Zugriffsdauer. Durchschnittlich 500 msec, kann aber auch über 1 Sek. dauern! • Schwäche: Speicherkapazität, ca. 600 MB. Für Audiodateien und Rastergrafiken schnell verbraucht, für Textdateien aber unschlagbar viel! • Stärken: Read-Only-Access. Nach Produktion kann Medium nicht mehr verändert/überspielt werden. Daten sind sicher. • Dateien werden ein Mal auf der CD-ROM platziert und können danach (fast) unendlich oft adressiert/verbreitet werden.
„THE JOURNEY OF A BYTE“ – was passiert da? • Was passiert, wenn ein Programm ein Byte auf eine Datei schreibt? write(textfile, ch, 1); • Diese Anweisung „befiehlt“ dem Betriebssystem, einen character auf die Festplatte zu schreiben, gibt Informationen über die Position/Speicheradresse des chars. • Das System übernimmt den Schreibbefehl und gibt die Antwort dem aufrufenden Programm zurück.
„THE JOURNEY OF A BYTE“ SCHRITT FÜR SCHRITT • Das Programm fordert das Betriebssystem an, den Inhalt der Variable ch auf die nächste freie Position der textfile zu schreiben. • Das Betriebssystem leitet diese Aufgabe an den File Manager weiter. • Der File Manager prüft die textfile. Ist die Datei geöffnet? Ist sie bereit zur Verwendung? Habe ich überhaupt Zugriffsrechte? • Der File Manager ermittelt anhand einer Lookup-Table die korrekte physikalische Position des Sektors auf der Disk, in dem sich das gesuchte Byte befindet. • Der letzte Sektor der Datei wird in einem Puffer im Arbeitsspeicher abgelegt, der Charakter an der richtigen Position innerhalb des Puffers gespeichert. • File Manager informiert den I/O-Prozessor über die Speicheradresse des Bytes im Arbeitsspeicher (RAM) und die Adresse, an die das Byte an die Disk gesendet werden soll.
„THE JOURNEY OF A BYTE“ SCHRITT FÜR SCHRITT 7. Sobald die Festplatte zur Datenübertragung bereit ist, schickt der I/O- Prozessor die Datei im richtigen Format an die Disk. Wenn Datei sehr groß, kann sie auch gepuffert abgespeichert und in Segmenten übertragen werden. 8. Der I/O-Prozessor sendet dem Festplatten-Controller die Daten. 9. Der Controller fordert die Festplatte an, den Lese-/Schreibkopf auf die gewünschte Spur zu positionieren, wartet, bis der gewünschte Sektor unter den Lesekopf fährt, und sendet das Byte anschließend an die Festplatte. Dort wird sie bit für bit auf die Oberfläche der Disk abgelegt.
VIELEN DANK FÜR DIE AUFMERKSAMKEIT! • Michael J. Folk, Bill Zoellick, Greg Riccardi: File Structures, 1998, Chapter 3, p. 43 – 116.