Technische Informatik II Übung 3 Beispiellösung Aufgabe 1: Interrupt-System a. Eine bestimmte CPU führe beim Auftreten eines Interrupts folgende Aktionen aus: Sichern der Rücksprungadresse (alter Inhalt des Programmzählers) Sichern des Programmstatusworts (alter Inhalt des PSW-Registers) Sichern von weiteren 16 Registerinhalten (allgemeine Register) Jede Sicherung eines Registerinhalts benötigt einen Buszyklus, da die Sicherung selbst auf dem Stack erfolgt, der einen Teil des Hauptspeichers darstellt. Am Ende des Interrupt-Handlers (Interrupt Service Routine, ISR) ist ein Wiederherstellen der alten Registerinhalte (inkl. PC und PSW) nötig, was genau gleich lange dauert wie das Sichern. Wieviele Interrupts könnten maximal pro Sekunde verarbeitet werden unter der Annahme, dass der Bus mit einer Taktfrequenz von 100 MHz arbeitet und der Interrupt-Handler ausser für das Sichern der Register keine Zeit benötigt? Eine Sicherung benötigt total 18 Buszyklen, eine Wiederherstellung genau gleich viel. Der Zeitbedarf ist also total: 36 x 10 ns = 360 ns = 0,36 µs Damit sind maximal 1/0,36 µs = 2.777.777 Interrupts/Sekunde verarbeitbar. a. Ein Drucker arbeitet mit einer Druckgeschwindigkeit von 16 Seiten pro Minute. Die Geschwindigkeit der Textausgabe auf den Drucker ist von der Anzahl der zu druckenden Zeichen pro Seite abhängig. Eine Seite enthält 90 Zeilen zu 70 Zeichen. In welchen Zeitabständen finden die Zeichenausgaben statt? 16 Seiten pro Minute = 0,2666 Seiten/s 90 Zeilen zu 70 Zeichen = 6300 Zeichen pro Seite Anzahl Zeichen pro Sekunde: 0,2666 * 6300 = 1680 Zeitabstand zwischen zwei Zeichenausgaben: 1 / 1680 = 595 µs b. Wir gehen von der Situation aus Teilaufgabe b) aus. Zur Beurteilung der Eignung der drei möglichen Ein-/Ausgabearten (polling, interrupt-gesteuert, DMA) soll die prozentuale CPU-Auslastung zu Hilfe gezogen werden. Es gelten folgende Rechenzeitbedarfe (teilweise abhängig vom eingesetzten E/A-Verfahren): Die Ausgabe eines einzelnen Zeichens benötigt Rechenoperationen von der Dauer von 15 µs (ausser bei DMA). Die Aktivierung des Interrupt-Handlers benötigt pro Interrupt 5 µs. Die Programmierung eines DMA-Kontrollers (einmal pro Druckseite) benötigt 200 µs (der Zeitbedarf für den abschliessenden Interrupt und seine Behandlung sei darin inbegriffen). Die Datenbereitstellungszeit für die DMA-Ausgabe beträgt 1 µs pro Zeichen. Technische Informatik II, Übung 3 18. Februar 2008 Seite 1/5
Bestimmen Sie die resultierenden CPU-Auslastungen während einer Druckausgabe und beurteilen Sie die Eignung der drei möglichen Ein- /Ausgabearten (polling, interrupt-gesteuert und DMA) für diesen Einsatzzweck. Polling E/A: CPU-Auslastung = 100 % (busy waits!) Interrupt-gesteuert: Zeitbedarf pro Sekunde: 1680 x (15 + 5)µs = 33600 µs damit CPU-Auslastung = 3,4 % DMA: Zeitanteil DMA-Controllerprogr. pro Sekunde: 0.267 x 200 µs = 53 µs Zeitbedarf für Einzeltransfers: 1680 x 1 µs = 1680 µs Zeitbedarf total: 53 µs + 1680 µs = 1733 µs damit CPU-Auslastung = 0.17 % Beurteilung: Auf Polling basierte E/A würde den Rechner für den Benutzer unangenehm lange blockieren und wäre daher eine schlechte Wahl. Die interruptgesteuerte E/A ist akzeptabel und gut denkbar. Der Einsatz von DMA würde die CPU am wenigsten belasten und damit die freie verfügbare Rechenleistung maximieren. Aufgabe 2: Zugriffszeit Plattenspeicher Eine Festplatte besitze folgende Eckdaten: Suchzeit (seek time): 3 ms Drehzahl: 7200 rpm Sektoranzahl: 512 (= Anzahl Kreissektoren) Speicherkapazität eines logischen Sektors: 512 Byte Zylinderanzahl: 256 a. Wie groß ist die Datentransferrate für das Auslesen einer Spur, falls sich der Lese-/Schreibkopf bereits in der richtigen Spur und an der richtigen Position innerhalb der Spur befindet? Speicherkapazität pro Spur: 512 x 512 Byte = 262.144 Byte = 256 KB Drehzahl: 7200 U/min = 120 s-1 damit Datentransferrate: 120 s-1 x 256 KB = 30720 KB/s = 30 MB/s BEMERKUNG: Angabe nach Konvention 1 MB = 1024 KB, 1 KB = 1024 Byte (Achtung: Bei Rechnernetzen gilt hingegen stets die metrische Festlegung, zum Beispiel 1 KBit/s = 1000 Bit/s.) b. Wie viele Daten müssen zusammenhängend gelesen werden, damit die eigentliche Datentransferzeit gleich groß wie die kumulierte Suchzeit und Rotationsverzögerung(rotational delay) ist? HINWEIS: Die Rotationsverzögerung (rotational delay) ist die mittlere Zeit, die beim Erreichen des Zylinders gewartet werden muss, bis der gewünschte Sektor beim Lesekopf vorbeikommt. Treffen Sie eine einfache (begründete!) Annahme. Rotationsverzögerung = halbe Umdrehungszeit = 1/240s = 4,16 ms Kumulierte Zeit: 3 ms + 4,16 ms = 7,16 ms Anzahl Byte = 7.16 ms x (120 s-1 * 512 * 512 Byte) = 225.234 Byte = 220 KB BERMERKUNG: Dies ist möglich, da ohne Spurwechsel bis max. 256 KB lesbar sind. c. Die Festplatte besitze eine Spurwechselzeit von 0,1 ms. Die Spurwechselzeit ist diejenige Zeit, die benötigt wird, um den Lese-/Schreibkopf von der aktuellen zur Technische Informatik II, Übung 3 18. Februar 2008 Seite 2/5
nächsten benachbarten Spur zu bewegen. Die Angabe der Suchzeit durch den Hersteller beruht auf gewissen Annahmen über den "Füllgrad" der Platte (d.h. genutzte Speicherkapazität im Verhältnis zu maximaler Speicherkapazität). Von welchem Füllgrad ist der Hersteller ausgegangen, wenn er die Suchzeit als 3 ms angibt? HINWEIS: Die Suchzeit ist die mittlere Zeit, um von einer beliebigen Zylinderposition A zu einer beliebigen Zylinderposition B im belegten Plattenbereich zu fahren. Treffen Sie eine einfache Annahme für die nötigen Suchbewegungen, d.h. die mittlere Distanz zwischen zwei aufeinander folgenden Positionen. Eine einfache Annahme für den Suchweg geht davon aus, dass in dem belegten Zylinderbereich im Mittel die Hälfte der Zylinder abgefahren werden muss. Eine ergänzende Annahme kann sein, dass keine Fragmentierung auf der Platte vorliegt (d.h. lückenlose Belegung). Die mittlere Anzahl Spurwechsel ergibt sich aus: 3 ms / 0,1 ms = 30 Da dies dem halben Bereich entspricht, ergibt sich ein Bereich von 60 Zylinder Dies entspricht 60/256 = 23,4% Füllgrad Wird von einem "lokalen* Verhalten ausgegangen, dann ist der zu fahrende Weg kleiner als die Hälfte des Bereichs. In diesem Fall würde sich ein höherer Füllgrad ergeben. d. Es gelten die Angaben aus der vorangegangenen Teilaufgabe. Bestimmen Sie den ungünstigsten Fall einer viel Zeit benötigenden Kopfpositionierung unter Berücksichtigung der gegebenen Plattengeometrie. Bestimmen Sie die für diesen Zugriff geltende Zugriffszeit. Ungünstigster Fall: Von Zylinder 1 auf Zylinder 256 fahren: 255 Spurwechsel Letzter Sektor in Spur wird gerade verpasst: Volle Rotationsverzögerung fällt an Gesamtzeit: 255 * 0,1 ms + 1/120 s = 33,8 ms (ca. 10-mal die mittlere Suchzeit!) Aufgabe 3: RAID a. Sie möchten einen Block auf einem RAID-Array speichern. Überlegen Sie sich für jeden der RAID-Level 0,1,3, 5 und 6: wie viele verschiedene Festplatten Sie minimal und maximal benötigen wie viel Speicherplatz insgesamt belegt wird wie hoch die Ausfalltoleranz ist wie sie die Lese- und Schreibgeschwindigkeiten (tief, normal, hoch) beurteilen. Stellen Sie die Ergebnisse in einer Matrix dar! Technische Informatik II, Übung 3 18. Februar 2008 Seite 3/5
RAID- Level Minimale Anzahl Festplatten Benötigter Speicherplatz in Blöcken insgesamt RAID 0 2 1 Block tief (Totalverlust beim Defekt einzelner Platte) RAID 1 2 2 Blöcke RAID 2 (Parity) RAID 3 (Striping) 3 1.5 Blöcke 3 1.5 Blöcke RAID 4 3 1.5 Blöcke RAID 5 3 1.5 Blöcke Ausfalltoleranz Lese- Geschwindigkeit Schreib- Geschwindigkeit Normal Normal b. Einige Hersteller bieten über die erwähnten Standards weitere inoffizielle RAID- Level und RAID-ähnliche Konfigurationen an. Beispiele sind RAID 50, 51 sowie JBOD. Machen Sie eine Internet-Recherche und beantworten Sie folgende Fragen: Beschreiben Sie die drei Erweiterungen. Worin besteht der jeweilige Mehrwert? RAID50: Ein RAID 0-Array, welches aus mehreren striped RAID5 gebildet wird. RAID51: Spiegelung zweier RAID5 Arrays in der Art eines RAID1-Systems. JBOD: Just a Bunch of Disks, ein Bündel Fesplatten ohne RAID. Finden Sie noch weitere hersteller-spezifische RAID-Level? Zwei weitere inoffizielle Standards sind beispielsweise RAID 30 und RAID 45: z.b. http://de.wikipedia.org/wiki/raid#raid_30 RAID 30 wurde ursprünglich von AMI entwickelt. Es stellt eine Stripe- Variante von RAID 3 dar (das heißt ein RAID0 welches mehrere RAID3 zusammenfasst). Ein RAID 30-Verbund benötigt mindestens sechs Festplatten (zwei Legs mit je drei Festplatten). Es darf eine Festplatte in jedem Leg. z.b. http://de.wikipedia.org/wiki/raid#raid_45 Ein RAID 45-Verbund fasst, ähnlich dem RAID 55, mehrere RAID 4 mit einem RAID 5 zusammen. Man benötigt hierfür mindestens 3 RAID-4 Legs zu je 3 Festplatten und damit 9 Festplatten. Bei 9 Festplatten sind nur 4 Festplatten nutzbar, das Verhältnis verbessert sich allerdings mit der Anzahl der verwendeten Festplatten. RAID 45 wird daher nur in großen Festplattenverbünden eingesetzt. Die Datensicherheit ist sehr hoch, da mindestens drei beliebige Festplatten, zusätzlich eine Festplatten in jedem Leg und dazu noch ein komplettes Leg dürfen Technische Informatik II, Übung 3 18. Februar 2008 Seite 4/5
Aufgabe 4: Memory Mapped I/O und Memory Mapped Files Erklären Sie in je nur einem einzigen Satz die Konzepte Memory Mapped I/O und Memory Mapped Files. Memory Mapped I/O ist ein Verfahren, um mittels einfacher Zeigeroperationen im Hauptspeicher I/O-Register von elektronischen Bauteilen der angeschlossenen Hardware direkt anzusprechen. Memory Mapped Files: Falls zwei Prozesse Daten auf programmiertechnisch komfortablem Weg austauschen wollen, können Sie eine Datei per Systemaufruf in den Arbeitsspeicher einblenden und so gegenseitig verfügbar machen. Aufgabe 5: Disk Scheduling Strategien In der Vorlesung haben Sie verschiedene Disk Scheduling Strategien kennengelernt. a. Angenommen, die mittlere Länge der Auftragswarteschlange sei klein, d.h., sie enthält 0 oder 1 Element. Wie verhalten sich die Verfahren FCFS, SCAN und SSTF in diesem Fall? SCAN/CSCAN bewegen den Arm jeweils über die gesamten Plattenlänge. Wenn die beiden sehr häufig referenzierten Regionen nicht am Plattenrand befinden, entsteht durch die zusätzliche Suchzeit eine unnötige Verzögerung. b. Angenommen, auf einer Festplatte gebe es 2 sehr häufig referenzierte Regionen, welche weit auseinanderliegen. Vergleichen Sie die Verfahren FCFS, SSTF und SCAN/CSCAN. SSTF (Shortest-seek-time-first) minimiert grundsätzlich die Suchzeit und ist daher für dieses Szenario optimal. Technische Informatik II, Übung 3 18. Februar 2008 Seite 5/5