Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien...

11
Betriebssysteme Sommersemester 2019 Betriebssysteme 11. Kapitel Dienste, Betriebsmittel und Geräte Prof. Matthias Werner Professur Betriebssysteme Betriebssysteme – Dienste, Betriebsmittel und Geräte 11.1 Dienste 11.1 Dienste I Wiederholung (aus Kapitel ??): I Dienste beziehen sich auf Betriebsmittel I Es werden logische und reale Betriebsmittel unterschieden I Dienste, die nicht unmittelbar im Kernel bereitgestellt sind, werden durch Prozesse (oder Gruppen von Prozessen) des Betriebssystem erbracht I In einem Microkernelsystem sind dies die meisten Dienste I Ausnahmen: Prozessmanagement, IPC, ggf. Speichermanagement I UNIX-Konzept für solche Prozesse: Daemon I Dienstnehmer (Klienten, Clients) nehmen Dienste in Anspruch mit Hilfe von IPC (i.d.R. Kommunikation, d.h. über Kanäle) I Ein Prozess kann gleichzeitig Client und Server sein SoSe 2019 · M. Werner 2 / 39 osg.informatik.tu-chemnitz.de Betriebssysteme – Dienste, Betriebsmittel und Geräte 11.2 Dienstleistungsbeziehung 11.2 Dienstleistungsbeziehung Client send_async() receive_sync() Server Initialisierung recv_sync() Diensterbringung send_async() KA Auftrag KE Ergebnis Kanäle I In der Regel bietet ein Server mehrere Operationen an, die von einem Client aufgerufen werden können I Ein Auftrag entspricht der Ausführung einer dieser Operationen, z. B. I Dateidienst: Öffnen, Schließen, Lesen, Schreiben I Namensdienst: Auflösen, Eintragen, Löschen I Realisierung der Serveroperation in einem oder mehreren Prozessen SoSe 2019 · M. Werner 3 / 39 osg.informatik.tu-chemnitz.de Betriebssysteme – Dienste, Betriebsmittel und Geräte 11.2 Dienstleistungsbeziehung Zeit I Die Dienstleistungsbeziehung hat Einfluss auf den Fortschritt: I Client muss bis zur Übermittlung des Ergebnis warten (blockiert) I Server steht bis zur nächsten Runde anderen Klienten nicht zur Verfügung Beschränkung des Durchsatz I Verbesserung durch: I Driften der Kommunikation I Pufferung I Parallelität im Server SoSe 2019 · M. Werner 4 / 39 osg.informatik.tu-chemnitz.de

Transcript of Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien...

Page 1: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

BetriebssystemeSommersemester 2019

Betriebssysteme

11. KapitelDienste, Betriebsmittel und Geräte

Prof. Matthias WernerProfessur Betriebssysteme

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.1 Dienste

11.1 Dienste

I Wiederholung (aus Kapitel ??):I Dienste beziehen sich auf BetriebsmittelI Es werden logische und reale Betriebsmittel unterschieden

I Dienste, die nicht unmittelbar im Kernel bereitgestellt sind, werden durch Prozesse (oder Gruppen vonProzessen) des Betriebssystem erbrachtI In einem Microkernelsystem sind dies die meisten Dienste

I Ausnahmen: Prozessmanagement, IPC, ggf. SpeichermanagementI UNIX-Konzept für solche Prozesse: DaemonI Dienstnehmer (Klienten, Clients) nehmen Dienste in Anspruch mit Hilfe von IPC (i.d.R. Kommunikation,

d.h. über Kanäle)

I Ein Prozess kann gleichzeitig Client und Server sein

SoSe 2019 · M. Werner 2 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

11.2 Dienstleistungsbeziehung

Client

send_async()

receive_sync()

Server

Initialisierung

recv_sync()

Diensterbringung

send_async()

KA

Auftrag

KE

Ergebnis

Kanäle I In der Regel bietet ein Server mehrereOperationen an, die von einem Clientaufgerufen werden können

I Ein Auftrag entspricht der Ausführungeiner dieser Operationen, z. B.I Dateidienst: Öffnen, Schließen,

Lesen, SchreibenI Namensdienst: Auflösen,

Eintragen, LöschenI Realisierung der Serveroperation in

einem oder mehreren Prozessen

SoSe 2019 · M. Werner 3 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Zeit

I Die Dienstleistungsbeziehung hat Einfluss auf den Fortschritt:I Client muss bis zur Übermittlung des Ergebnis warten (blockiert)I Server steht bis zur nächsten Runde anderen Klienten nicht zur Verfügung á Beschränkung des

Durchsatz

I Verbesserung durch:I Driften der KommunikationI PufferungI Parallelität im Server

SoSe 2019 · M. Werner 4 / 39 osg.informatik.tu-chemnitz.de

Page 2: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Driften

I Ziel: Überlappung von Client- und Serveraktivität

I Realisierung:I Auftrag zum frühestmöglichen Zeitpunkt abschickenI Ergebnis zum spätestmöglichen Zeitpunkt entgegennehmen

I D.h., Sendeoperation sollte somit im Programm des Clients möglichst nach vorne driften, dieEmpfangsoperation nach hinten

I Driften gelingt nur, wenn keine Datenabhängigkeiten verletzt werden

SoSe 2019 · M. Werner 5 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Pufferung

I Statt großer Aufträge kann es sinnvoll sein, Aufträge zu stückeln á Auftragsberbeitung kann eher startenI Durch Pufferung kommt es zur Entkopplung

á erhöhte Parallelität zwischen Client und Serverá Vermeidung von Blockierungen

I Analog beim ErgebnisI Insbesonders bei Servern, die (direkt oder indirekt) auf I/O-Geräte zugreifen, da dort sehr große

Verzögerungen auftreten könen

SoSe 2019 · M. Werner 6 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Pufferung (Forts.)

I Verschiedene Artenvon Puffern

Ohne Pufferung Einzelpuffer

Doppelpuffer RingpufferBildquelle: Stallings

SoSe 2019 · M. Werner 7 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Pufferung (Forts.)

I Neben einer höheren Parallelisierung können durch Pufferung noch andere Ziele erreicht werdenI Caching

Beispiel: Puffer für Dateien

I Änderung der DatensemantikBeispiel:I Zeichenorientierte I/O an blockorientierten Geräte und vice versaI Terminalmodes (raw, cooked, halfcooked)

SoSe 2019 · M. Werner 8 / 39 osg.informatik.tu-chemnitz.de

Page 3: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Parallelität innerhalb des Servers

I Parallelität zwischen Client und Server verbessert die Antwortzeit beim Clienten (und damit beim Nutzer)

I Daneben gibt es noch die Möglichkeit, den Durchsatz im Server zu erhöhenI Betrachten drei Ansätze

I Reproduktion (Cloning)I PipeliningI Multiplexing

SoSe 2019 · M. Werner 9 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Cloning

I Serverprozess wird in mehreren identischenKopien (Clones) zur Verfügung gestellt

I Alle entnehmen ihre Aufträge einemgemeinsamen Kanal

I Eigenschaften:I Transparent für ClientI Überholung möglichI leicht zu realisieren

Friseurladen: Reproduktion (Cloning)

5-19

SoSe 2019 · M. Werner 10 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

Pipelining

I Serverprozess wird in mehrere Teilprozesse„zerschnitten“

I Zwischen den einzelnen Teilserverprozessengibt es Puffer

I EigenschaftenI kein ÜberholenI höherer Transportaufwand (innere Kanäle)I schwieriger zu realisieren

Friseurladen: Pipelining (Waschen, Schneiden,Fonen)

5-22

SoSe 2019 · M. Werner 11 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.2 Dienstleistungsbeziehung

MultiplexingI Bei komplexeren Servern mit Unteraufträgen an andere Server treten mehrere Wartestellen auf

I Der Prozess „hängt“ an einer Empfangsoperation, könnte aber an anderer Stelle weiterarbeiten

I Man fasst alle Emfangskanäle zu einemzusammen und reagiert unterschiedlich je nachNachricht

I Eigenschaften:I Nur ein ProzessI beliebig viele Aufträge in BearbeitungI schwierig zu realisieren

I Anmerkung: Gleiches Prinzip auf Softwareebenewie Prozessdispatching auf Hardwareebene (vgl.Abschnitt ??)

Friseurladen: Multiplexing

5-27

SoSe 2019 · M. Werner 12 / 39 osg.informatik.tu-chemnitz.de

Page 4: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

11.3 Betriebsmittel

I Wiederholung: Zwei Aspekte im Umgang mit BetriebsmittelnI Verwaltung: Wer darf wann zugreifen?I Betrieb: Wie wird das Betriebsmittel genutzt?

I Weitere Klassifikation von Betriebsmitteln (neben real/logisch und ggf. virtuell)I wiederverwendbar

I Betriebsmittel werden in der Regel nach der Nutzung freigegeben und können von anderenProzessen genutzt werden

I verbrauchbarI Einige logische Betriebsmittel werden durch die Nutzung verbraucht, d.h. sie werden erzeugt und

sind nach ihrer einmaligen Nutzung nicht mehr vorhandenI Beispiele: Signale, Nachrichten, Zeitstempel

SoSe 2019 · M. Werner 13 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

KnappheitI Manche Betriebsmittel sind (z.T. nur de facto) unbegrenzt da á keine „Bewirtschaftung“, höchstens

An-/Abmelden einer Nutzung

I „Spannend“ wird es bei KnappheitI Ansätze bei Knappheit:

I Betriebsmittelverwalter (zentraler Manager) á zwischengeschaltete Instanz beim ZugriffI Beispiel: Druckertreiber

I Gemeinsames Protokoll á Bewerber um Betriebsmittel stimmen sich abI Beispiele: kritische Abschnitte, dezentrale Bus-Arbitrierung, globale Serialisierung in verteilten

SystemI Unkoordinierte Nutzung á Kollisionsgefahr, muss erkannt und reperabel sein

I Beispiele: MAC-Zugriff im Ethernet, optimistische Transaktionen

SoSe 2019 · M. Werner 14 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Knappheit (Forts.)

Achtung!

I Im Falle eines zentralen BM-Verwalters oder bei Befolgung eines gemeinsamen Protokolls können dieCoffman-Kriterien (vgl. Kapitel 10) erfüllt sein á Gefahr eines Deadlocks

I Im Falle der unkoordinierten Nutzung entsteht „Schaden“ á Nutzung nur, wennI eieine Kollision unwahrscheinlich (selten)

undI der durch die Kollision entstandene Schaden „reparabel“ ist

SoSe 2019 · M. Werner 15 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

KandidatenauswahlProblemAus einer Folge von wartenden Anforderungen eines Betriebsmittels soll eine (erfüllbare) ausgewählt werden.

I Grundsätzlich können verschiedene Strategien eingesetzt werdenI Ziele:

I gute Auslastung des Betriebsmittels und/oderI faire Behandlung der Interessenten

I Seinf (t): Anzahl der zum Zeitpunkt t freien BM-Einheitenn(i): Anzahl der von Prozess Pi geforderten EinheitenW (t): Menge der wartenden Anforderungen/Prozesse

I W (t) ist Warteschlange, bei der Neuankömmlinge „hinten“ eingefügt werdenI Kann bei einem BM nf > 1 gelten, spricht man von einem Mehrexemplarbetriebsmittel

SoSe 2019 · M. Werner 16 / 39 osg.informatik.tu-chemnitz.de

Page 5: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Auswahlstrategien

I FIFO (First-In-First-Out) bzw. FCFS (First-Come-First-Served)I Lediglich erste Anforderung in Warteschlange wird betrachtetI Bei n(i) ≤ nf (t) werden n(i) Einheiten belegt, sonst passiert nichtsI Nachteil:

I Betriebsmittelauslastung kann schlecht sein, wenn erste Anforderung groß istI Nachfolgende kleinere – und erfüllbare – Anforderungen bleiben unberücksichtigt

I First-Fit-RequestI Die Warteschlange wird von vorne beginnend durchsucht, bis eine Anforderung j gefunden wird, die

erfüllt werden kann (n(j) ≤ nf (t))

SoSe 2019 · M. Werner 17 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Auswahlstrategien (Forts.)

I Best-Fit-RequestI Die Warteschlange wird vollständig durchsucht, und es wird diejenige Anforderung j gewählt, für die

das nachfolgende Minimum angenommen wird:

jsel = j, j ∈W (t), n(j) ≤ nf (t), nf (t)− n(j) = mink

(nf (t)− n(k))

I Es wird diejenige Anforderung gewählt, die die freie Restkapazität minimiert

I Nachteil bei First-Fit- und Best-Fit-Request: Gefahr von „Verhungern“ für große Anforderungen

SoSe 2019 · M. Werner 18 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Iteration über AuswahlstrategienI Iterative Anwendung

I Nach Freigabe einer größeren Anzahl von Einheiten können u.U. mehrere Anforderungen auf einmalerfüllt werden

I Die obigen Strategien können daher iterativ angewendet werden, bis keine Belegung mehr möglich ist

I FensterUm Aufwand zu reduzieren, kann man sich auf ein Fenster der Größe L beschränken, d.h. lediglich dieersten L Positionen der Warteschlange werden betrachtet

Anforderung

Warteschlange

Fenster (L=3)

A3A6A2A5Belegung

SoSe 2019 · M. Werner 19 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

VerhungernI Verwendet man eine dynamische Fenstergröße, so kann auch das Verhungern einer großen Anforderung (bei

First-Fit-Request oder Best-Fit-Request) verhindert werdenI Sei Lmax die maximale Fenstergröße (Initialwert)I Dann wird bei jeder erfolgreichen Belegung die Fenstergröße L folgendermaßen modifiziert:

Lneu =

{L− 1 ⇐ (L > 1) ∧ erste Anforderung übergangenLmax sonst

á Nachdem die vorderste Anforderung Lmax − 1 mal übergangen wurde, wird Fenstergröße = 1, d.h. die vordersteAnforderung muss berücksichtigt werden

Anforderung

Warteschlange

Fenstergröße L=1

A3A6A2A5

BelegungA8

I Für L→ 1 konvergieren Best-Fit-Request und First-Fit-Request gegen FCFS

SoSe 2019 · M. Werner 20 / 39 osg.informatik.tu-chemnitz.de

Page 6: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

11.3.1 Spezialfall: Strategien beim Scheduling von Plattenspeicher

I Einzelner Treiber kann Aufträge von vielenverschiedenen Benutzerprozessenentgegennehmen

á Möglicherweise Stau von Aufträgen imEingangskanal

I FCFS-Bearbeitung kann beim Plattenzugriffsehr ineffizient werden

Arm

Schreib-/LeseköpfeZylinder

Armbewegung

SektorenZylinder

Geometrie eines Plattenspeichers

SoSe 2019 · M. Werner 21 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Beispiel

Parameter

I Gegeben sei ein Plattengerät mit folgenden Pa-rameternI Zeit für Armpositionierung:

I Nachbarspur: 1,5 msI Mittel: 11,0 ms

I Rotationsgeschwindigkeit: 5400 min−1 ámittlere Latenzzeit 5.55 ms

I Sektorengröße 512 bytesI Sektorenzahl: 63/Spur

I Es sollen 1,3 MByte (2560 Sektoren) gelesen wer-den

Achtung!

Das Beispiel enthält Idealisierungen, beispielsweisevariiert bei vielen heutigen Platten die Anzahl derSektoren pro Spur.

SoSe 2019 · M. Werner 22 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Beispiel – Best Case

Parameter

I Gegeben sei ein Plattengerät mit folgenden Pa-rameternI Zeit für Armpositionierung:

I Nachbarspur: 1,5 msI Mittel: 11,0 ms

I Rotationsgeschwindigkeit: 5400 min−1 ámittlere Latenzzeit 5.55 ms

I Sektorengröße 512 bytesI Sektorenzahl: 63/Spur

I Es sollen 1,3 MByte (2560 Sektoren) gelesen wer-den

I Bester Fall: dichte Speicherung á alle Sektorenauf 8 benachbarten Spuren (8 · 320 = 2560)

I Erste Spur:11ms+ 5,55ms+ 11,11ms = 27,67ms

I Jede weitere Spur:1,5ms+ 5, 55ms+ 11,11ms = 18,16ms

I Gesamt: 27,67ms+ 7 · 15,61ms = 154,79ms

SoSe 2019 · M. Werner 22 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Beispiel – Worst Case

Parameter

I Gegeben sei ein Plattengerät mit folgenden Pa-rameternI Zeit für Armpositionierung:

I Nachbarspur: 1,5 msI Mittel: 11,0 ms

I Rotationsgeschwindigkeit: 5400 min−1 ámittlere Latenzzeit 5.55 ms

I Sektorengröße 512 bytesI Sektorenzahl: 63/Spur

I Es sollen 1,3 MByte (2560 Sektoren) gelesen wer-den

I Ungünstigster Fall: gestreute Speicherung áJeder Sektor wird einzeln gesucht

I Pro Sektor: 11ms+ 5,5ms+ 600005400·63 = 16,67

I Gesamt: 2560 · 16,67 = 42, 69s

SoSe 2019 · M. Werner 22 / 39 osg.informatik.tu-chemnitz.de

Page 7: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Beispiel – Erkenntnis

Parameter

I Gegeben sei ein Plattengerät mit folgenden Pa-rameternI Zeit für Armpositionierung:

I Nachbarspur: 1,5 msI Mittel: 11,0 ms

I Rotationsgeschwindigkeit: 5400 min−1 ámittlere Latenzzeit 5.55 ms

I Sektorengröße 512 bytesI Sektorenzahl: 63/Spur

I Es sollen 1,3 MByte (2560 Sektoren) gelesen wer-den

I Erkenntnis:Der Unterschied zwischen besten undschlechtesten Fall beträgt mehrereZehnerpotenzen!

I Kompensation durch Caching und angepasstesPlattenscheduling

SoSe 2019 · M. Werner 22 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Strategie FCFS

I Aufträge in der Warteschlange (Spurnummer): 98, 183, 37, 122, 14, 124, 65, 67I Aktuelle Kopfposition: 53

1991831241229867655337140

SoSe 2019 · M. Werner 23 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Strategie SSTFI Shortest Seek Time First: immer zur Anforderung, die geringste Armbewegung verlangtI Aufträge in der Warteschlange (Spurnummer): 98, 183, 37, 122, 14, 124, 65, 67I Aktuelle Kopfposition: 53

1991831241229867655337140

SoSe 2019 · M. Werner 24 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Strategie SCANI Fahrstuhlstrategie (SCAN, Elevator): wie SSTF, aber jeweils in eine RichtungI Aufträge in der Warteschlange (Spurnummer): 98, 183, 37, 122, 14, 124, 65, 67I Aktuelle Kopfposition: 53I Aktuelle Richtung: abwärts

1991831241229867655337140

SoSe 2019 · M. Werner 25 / 39 osg.informatik.tu-chemnitz.de

Page 8: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Strategie C-SCANI Zyklische Fahrstuhlstrategie (C-SCAN oder SCAN-C): wie SCAN, jedoch nach jedem Durchlauf Rücksprung

auf Zylinder 0 eine RichtungI Aufträge in der Warteschlange (Spurnummer): 98, 183, 37, 122, 14, 124, 65, 67I Aktuelle Kopfposition: 53I Aktuelle Richtung: abwärts

1991831241229867655337140

SoSe 2019 · M. Werner 26 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Bewertung

Mittlere Antwortzeit

Auftragsrate

FCSF

SCAN

I FCFS erfordert im Mittel (beiGleichverteilung) ein Überfahren von 1/3der Spuren

I SCAN, SCAN-C, SSTF bringen vor allembei starker Last Vorteile, denn im Grenzfallist nur eine Spur weit zu springen

I SCAN und SSTF benachteiligen die„Randspuren“

I SSTF ist i.a. am effektivsten, kann jedochzum „Verhungern“ von Aufträgen führen

SoSe 2019 · M. Werner 27 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.3 Betriebsmittel

Beispiel: Linux Deadline Scheduler

I Modifizierte SCAN-C-StrategieI Jeder Auftrag wird Deadline (Lesen: 500ms,

Schreiben: 5s) versehen und zusätzlich (zurSCAN-C-Queue) in eine Read- oder Write-Queueeingetragen

I Normalfall: SCAN-Queue wird abgearbeitetI wenn vorderste Auftrag in einer der FIFO-Queues

überfällig ist, wird dieser (und einige weitere)aus der jeweiligen FIFO Queue bearbeitet

SCAN

Read FIFO

Write FIFO

I Andere Strategien in Linux:I Completely Fair Queuing (CFQ)I Anticipatory scheduler

SoSe 2019 · M. Werner 28 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

11.4 Betrieb von E/A-Geräten

I Reale Betriebsmittel sind (i.d.R.) Geräte zur Ein- und AusgabeI Ausnahmen: CPU, Speicher

I Betrieb hat im wesentlichen zwei Aufgaben:I Transport: Daten zwischen der Zentrale (Prozessor, Hauptspeicher) und Gerät zu kopieren

I z.B.: „Gib Zeichen X aus“I Steuerung: Bedingungen/Parameter/Zustände für Transport setzen/lesen, z.B.:

I Übertragungsrate einstellenI Schreib-/Lesekopf positionierenI ...

SoSe 2019 · M. Werner 29 / 39 osg.informatik.tu-chemnitz.de

Page 9: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Anforderungen an Ein-/Ausgabe-Software

I Abstraktion: Bedienung sollte möglichst einheitlich unabhängig vom konkreten Gerätetyp funktionierenI Beispiel: Dateikonzept ist gleich für Festplatte und CD-Laufwerk

I Parallelität/Synchronität: asynchroner Betrieb ermöglicht Verzahnung mit anderen Aktivitäten áEffizienzsteigerung; Nutzer sollten aber eine synchrone Sicht haben á Einfachheit der ProgrammierungI Beispiele: siehe Abschnitt 11.2

I Fehlerbehandlung: Fehler sollten so nah wie möglich am Gerät behandelt werden á TransparenzI Beispiel: Fehlererkennende Kodierung

SoSe 2019 · M. Werner 30 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Arten des Datentransfers bei Ein-/AusgabeSynchrone Ein-/AusgabeI Benutzerprogramm benutzt

einen SystemaufrufI Der Aufruf wird vom BS-Kern in

einen Prozeduraufruf für denentsprechenden Treiber(Gerätesoftware) umgesetzt

I Der Treiber führt dieEin/Ausgabe durch (ggf. mittelsPolling und Multiplexing) undspringt zurück

I BS übergibt die Kontrolle wiederans Benutzerprogramm

I Nachteil: ineffizient (daherselten genutzt)

Asynchrone Ein-/AusgabeI Der Treiber beauftragt das

Gerät mit der Aufgabe undwartet auf eineUnterbrechung (Interrupt)wenn das Gerät fertig ist

I Die Unterbrechung wird vomGeräte-Controller erzeugt

I BS erledigt inzwischenandere Aufgaben

I Nachteil: Z.T. zu vieleUnterbrechungen, z. B. einepro gedrucktes Zeichen

E/A-Prozessoren (directmemory access, DMA)I Ein spezieller Prozessor

(DMA-Chip auf Gerät) regeltden DatenflussSpeicher-Controller

I Die CPU initialisiert denProzessor und erteilt ihm dieE/A-Aufgabe

I Sobald der Chip fertig ist,erzeugt er eineUnterbrechung

I Nachteil: ErhöhterHardwareaufwand

SoSe 2019 · M. Werner 31 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Arten des Datentransfers bei Ein-/Ausgabe (Forts.)

I Prozessornutzung bei Synchroner und Asynchroner E/AHauptspeicher

GerätProzessor Steuereinheit

Bus

I Prozessornutzung bei DMAHauptspeicher

GerätProzessor Steuereinheit

Bus

SoSe 2019 · M. Werner 32 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

E/A-Steuerung

I Auslösung á (Wie erhält die Steuereinheit ihre Aufträge?)Prozessor muss Steuerregister der jeweiligen Steuereinheit laden:I Art der Operation (z. B. Lesen, Schreiben)I QuelleI Ziel

I Reaktion á Rückmeldung an den ProzessorNach Beendigung der E/A muss der Prozessor davon informiert werdenI Synchrone E/A: Der Prozessor fragt gelegentlich das Statusregister der Steuereinheit ab á PollingI Asynchrone E/A + DMA: Der Prozessor wird durch ein Interrupt informiert;

SoSe 2019 · M. Werner 33 / 39 osg.informatik.tu-chemnitz.de

Page 10: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Typische Grobstruktur eines einfachen Treiberprozessesrecv_sync

Parameteraufbereitung

Parameter parsen

in E/A-Register ablegen

send_async

recv_sync

Verlaufsanalyse

send_async

vomNutzerprozess

zumNutzerprozess

zum Gerät

vom GerätInterrupt

SoSe 2019 · M. Werner 34 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Interrupt-Problem

I Interrupts werden offensichtlich vielfach genutztI Preemptives SchedulingI E/AI Traps (z.B. Speicherfehler)

I Interrupts sind vollständig asynchron, können also jederzeit auftreten, insbesondere auch innerhalb andererInterruptbehandlungen á ProblemI Blockieren á Kann zu Inkonsistenzen bei Daten und im Programmablauf führenI Geschachtelte Interrupts á verlangt wiedereintrittsfähigen CodeI Verzögerte (sequentielle) Interrupts á erhöhter Verwaltungsaufwand

SoSe 2019 · M. Werner 35 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

I Bei der Programmierung von ISR istbesondere Sorgfalt nötig!I Kontamination von Zuständen

vermeiden á kritische Zuständeretten

I Lange ISR vermeiden áParallelisierung

I Typische Compileroptimierungenkönnen schaden (z.B. solltenVariablen explizit volatile sein)

Geschachtelte Interrupts

SoSe 2019 · M. Werner 36 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.4 Betrieb von E/A-Geräten

Fehlerbehandlung

I Bei der Verlaufsanalyse wird vor allem überprüft, ob Fehler aufgetreten sind und ggf. darauf reagiertI Drei Klassen von Fehlern

I verzögernd á kann durch Unterstützung des Bedieners behoben werdenI Beispiel: Papierfach leer, kein Datenträger im Laufwerk

I stochastisch á zufällig auftretende Störungen, können durch Redundanz (i.d.R. Wiederholung)überwunden werdenI Beispiel: Paritätsfehler, Timeout, Kollision

I endgültig á nicht behebbar, Auftrag muss abgewiesen werdenI Beispiel: Geräteadresse unbekannt, keine Betriebsspannung

SoSe 2019 · M. Werner 37 / 39 osg.informatik.tu-chemnitz.de

Page 11: Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien (Clones) zur Verfügung gestellt I Alle entnehmen ihre Aufträge einem gemeinsamen

Betriebssysteme – Dienste, Betriebsmittel und Geräte11.5 Zusammenfassung

11.5 Zusammenfassung

I Dienste werden über IPC in Anspruch genommen, was i.d.R. zum Zustandswechsel (d.h. auch Blockierung)beim Dienstnehmer (Client) führt

I Effizienz wird erreicht durchI Parallelisierung zwischen Client und ServerI Parallelisierung innerhalb der ServerI angepasste Bedienstrategien

I Im Fall direkter Interaktion mit der Hardware (Geräte) in Treibern gibt es hardwarespezifische Maßnahmená DMA, Interrupts

SoSe 2019 · M. Werner 38 / 39 osg.informatik.tu-chemnitz.de

Betriebssysteme – Dienste, Betriebsmittel und GeräteLiteratur

Literatur

� [Sta04] W. Stallings. Operating Systems: Internals and Design Principles. Prentice Hall, 2004, Chapter 12& 11A

� [Tan08] A. Tanenbaum. Modern Operating Systems. Prentice Hall, 2008, Chapter 4 & Section 5.4

SoSe 2019 · M. Werner 39 / 39 osg.informatik.tu-chemnitz.de