Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien...
Transcript of Dienste, Betriebsmittel und Geräte · Cloning I Serverprozess wird in mehreren identischen Kopien...
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
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
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
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
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
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
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
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
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
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
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