I.1-I.22 - Verteilte Systeme

Werbung
1 Einordnung
I Einführung in Betriebssysteme
Ebene 6
Problemorientierte Sprache
Ebene 5
Assemblersprache
Ebene 4
Betriebssystem
Ebene 3
ISA (Instruction Set Architecture)
Ebene 2
Mikroarchitektur
Ebene 1
Digitale Logik
Ebene 0
Physik
I.1
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.2
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
2 Was ist ein Betriebssystem?
2 Was ist ein Betriebssystem? (2)
■ DIN 44300
■ Silberschatz/Galvin
◆ „...die Programme eines digitalen Rechensystems, die zusammen mit den
Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des
digitalen Rechensystems bilden und die insbesondere die Abwicklung von
Programmen steuern und überwachen.“
◆ „... ein Programm, das als Vermittler zwischen Rechnernutzer und RechnerHardware fungiert. Der Sinn des Betriebssystems ist eine Umgebung
bereitzustellen, in der Benutzer bequem und effizient Programme ausführen
können.“
■ Tanenbaum
■ Brinch Hansen
◆ „...eine Software-Schicht ..., die alle Teile des Systems verwaltet und dem
Benutzer eine Schnittstelle oder eine virtuelle Maschine anbietet, die einfacher
zu verstehen und zu programmieren ist [als die nackte Hardware].“
◆ „... der Zweck eines Betriebssystems [liegt] in der Verteilung von Betriebsmitteln
auf sich bewerbende Benutzer.“
✱ Zusammenfassung
◆ Software zur Betriebsmittelverwaltung
◆ Bereitstellung von Grundkonzepten
zur statischen und dynamischen Strukturierung von Programmsystemen
I.3
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.4
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
2.1 Struktur des Betriebssystems
2.1 Struktur des Betriebssystems (2)
■ Betriebssystem zwischen Anwendung und Hardware
■ Anwendungen
◆ laufen „auf“ Betriebssystem
Anwendungen
Systemanwendung
◆ Betriebssystem stellt virtuelle/abstrakte Maschine dar (Programmiermodell)
Systemschnittstelle
◆ Interaktion mit Betriebssystem über Systemschnittstelle
• Systemaufrufe (Supervisor Call): Beauftragung des Betriebssystems
Betriebssystemkern
■ Systemanwendungen
SW/HW-Schnittstelle
Hardware
◆ einige Systemdienste häufig als Systemanwendungen realisiert
◆ laufen wie Anwendungen, gehören aber zum Betriebssystem
• z.B. Systemdienste, Dateiserver ...
◆ spezielle Anwendungen
Anwendung
Interaktion
Systemsoftware
Hardware
• z.B. Editoren, Compiler, Konfigurationsprogramme ...
■ Interaktion zwischen Anwendungen nur über Betriebssystemkern
I.5
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.6
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
2.2 Betriebsarten
2.3 Verwaltung von Betriebsmitteln
■ Klassifikation nach Auftragsbearbeitung
■ Physikalische Betriebsmittel
◆ Stapelverarbeitung (Batch Processing)
Prozessor (CPU, Central Processing Unit)
• eine Aufgabe nach der anderen
◆ interaktiver Betrieb (Interactive Processing)
Ein-, Ausgabegeräte/
Periphere Geräte
(I/O Devices)
• Rechner reagiert sofort auf Befehle
Hauptspeicher
(Memory)
◆ Time-Sharing-Betrieb
• Rechenzeit wird über mehrere Benutzer oder Programme aufgeteilt
◆ Echtzeitbetrieb (Real Time Processing)
externe
Schnittstellen
(Interfaces)
• Rechner reagiert unmittelbar innerhalb vorgegebener Zeitschranken
■ Ein- oder Mehrprogrammbetrieb (Uni-Programming, Multiprogramming)
Hintergrundspeicher
(Secondary Storage)
■ Virtuelle Betriebsmittel
■ Ein- oder Mehrbenutzerbetrieb (Single User, Multiuser)
◆ vom Betriebssystem erst geschaffene
• z.B. Speichersegment, Datei
I.7
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.8
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
2.3 Verwaltung von Betriebsmitteln (2)
2.3 Verwaltung von Betriebsmitteln (3)
■ Resultierende Aufgaben
■ Typische Einzelkomponenten des Betriebssystems
◆ Belegung von Betriebsmitteln auf Anforderung
◆ Verwaltung der Ein-, Ausgabegeräte
◆ Multiplexen von Betriebsmitteln für mehrere Benutzer bzw. Anwendungen
• Gerätetreiber
◆ Schaffung von Schutzumgebungen
◆ Speicherverwaltung
• gegenseitiger Ausschluss des Betriebsmittelzugriffs
◆ Anwendungs-, Prozessverwaltung
• Zugriffsberechtigungen
◆ Dateisystem
■ Ermöglichen einer koordinierten gemeinsamen Nutzung von
Betriebsmitteln, klassifizierbar in
■ Systemsteuerung
◆ Kommandosprache
◆ aktive, zeitlich aufteilbare (Prozessor)
◆ Shell (Kommandointerpreter)
◆ passive, nur exklusiv nutzbare (periphere Geräte, z.B. Drucker u.Ä.)
◆ grafische Benutzeroberfläche
◆ passive, räumlich aufteilbare (Speicher, Plattenspeicher u. Ä.)
◆ Ablaufsteuerung (Starten und Beenden von Programmen)
■ Unterstützung bei der Fehlererholung
◆ Konfiguration
I.9
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.10
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
2.4 Programmiermodelle
3 Hardware-Unterstützung
■ Betriebsystem realisiert ein Programmiermodell
■ Effiziente Betriebssysteme
◆ Programmiermodell im Kleinen durch Programmiersprache geprägt
◆ Unterstützung durch Hardware
◆ Programmiermodell im Großen durch Betriebssystem geprägt
• Prozessor
• große und/oder verteilte Anwendungen bestehen aus vielen
kooperierenden Programmen
• Memory-Management-Unit
• intelligente I/O-Bausteine
• usw.
✱ Programmiermodell des Betriebssystems
◆ abstrahiert von konkreter Hardware und Hardwarekonfigurationen
• virtuelle/abstrakte Maschine
◆ begriffliche Basis zur Strukturierung von Programmsystemen
und ihrer Ablaufsteuerung
• Komponenten, z.B. Programme, Tasks, Prozesse
• Interaktionen, z.B. Aufrufe, Benachrichtigung, Datenströme
I.11
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.12
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
3.1 Prozessor
3.2 Betriebsmodus des Prozessors
■ Wird im Laufe der Vorlesung genauer definiert
■ Moderner Prozessor arbeitet in einem von mindestens zwei Modi
◆ Benutzermodus (User Mode)
■ Vorabinformation
• eingeschränkter Befehlssatz
◆ digitales Schaltwerk
◆ enthält Register
◆ privilegierter Modus (Supervisor Mode)
• für Daten und ähnliches
• erlaubt Ausführung privilegierter Befehle
– Konfigurationsänderungen des Prozessors
– Moduswechsel
– spezielle Ein-, Ausgabebefehle
• Programmzähler (Speicheradresse des nächsten Befehls im Speicher)
◆ führt einen Befehl (Instruktion) nach dem anderen aus
• Programmzähler wird inkrementiert (außer bei Sprüngen)
◆ Modus wird meist als Bit in speziellem Register repräsentiert
(CCR, Condition Code Register)
• Supervisor-Flag S (z.B. 1 = priv. Modus, 0 = Benutzermodus)
• Bit kann nur im privilegierten Modus verändert werden
I.13
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.14
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
3.3 Externe Unterbrechungen
3.3 Externe Unterbrechungen (2)
■ Unterbrechungen von außen (External Interrupts)
■ Anwendung
◆ Reaktion auf externes Ereignis
Signalisieren der Unterbrechung
(Interrupt Request; IRQ)
• Fehlerbedingung
• ankommende Netzwerknachricht
Interruptleitungen
• Rückmeldung durch langsame Geräte
◆ Prozessor unterbricht laufende Bearbeitung und führt eine definierte
Befehlsfolge aus (vom privilegierten Modus aus konfigurierbar)
• „Wecker“-Funktion
■ Abwicklung der Unterbrechungsbehandlung?
◆ vorher werden alle Register einschließlich Programmzähler gesichert
(z.B. auf einem Stapelspeicher/Stack)
◆ nach einer Unterbrechung kann der ursprüngliche Zustand wiederhergestellt
werden
◆ Unterbrechungen werden im privilegierten Modus bearbeitet
I.15
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.16
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
3.3 Externe Unterbrechungen (2)
3.3 Externe Unterbrechungen (3)
■ Schematische Befehlsabwicklung
■ Adresse der Unterbrechungsbehandlung steht fest
◆ meist konfigurierbar
[PC] ←[PC] + 1
Befehlsausführung
Unterbrechung?
Ja
■ Rückkehr von der Unterbrechungsbehandlung
◆ spezieller Befehl, z.B. RTI: Return from Interrupt
Nein
◆ Befehlsausführung von RTI:
◆ reale Prozessoren
sichere Register
schalte in priv. Modus
lade PC
für Unterbrechungsbehandlung
• Maskierung von
Unterbrechungen
• Restaurieren gesicherte Register
– insbes. PC (alter Befehlspfad)
– insbes. CCR
• Annahmeprotokoll gegen
Doppelausführung
• Umschaltung in alten Modus
– meist durch Restauration des CCR
restauriere Register
I.17
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.18
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
3.3 Externe Unterbrechungen (4)
3.4 Interne Unterbrechungen
■ Ablauf der Unterbrechung
■ Unterbrechungen durch die Befehlsausführung
(Internal Interrupt, Exceptions)
unterbrochene
Befehlsfolge
◆ bei bestimmten Fehlersituationen (z.B. Division durch Null) unterbricht
Prozessor laufende Befehlsbearbeitung und führt definierte Befehlsfolge aus
(ähnlich wie bei externen Unterbrechungen)
Befehlsfolge der
Unterbrechungsbehandlung
◆ unterbrochene Befehlsfolge bleibt in der Regel unberührt
• Unterbrechung ist transparent
◆ verschachtelte Unterbrechungen möglich
• Unterbrechung der Unterbrechungsbehandlung
• koordinierte Handhabung der gesicherten Register
◆ Unterbrechung beliebiger Betriebsmodi
• Unterbrechung auch des privilegierten Modus
I.19
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.20
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
3.5 Systemaufrufe
3.5 Systemaufrufe (2)
■ Systemaufrufe (Traps; User Interrupts)
■ Schematische Befehlsabwicklung
◆ Wie kommt man kontrolliert vom Benutzermodus in den privilegierten Modus?
◆ spezielle Befehle zum Eintritt in den privilegierten Modus
◆ Prozessor schaltet in privilegierten Modus und führt definierte Befehlsfolge aus
(vom privilegierten Modus aus konfigurierbar)
◆ solche Befehle werden dazu genutzt die Betriebssystemschnittstelle zu
implementieren (Supervisor Calls)
...
MOVE D0, a
TRAP #3
MOVE a, D0
...
Ausführung
sichere Register, priv. Modus
lade PC
des Systemaufrufs
◆ Parameter werden nach einer Konvention übergeben
(z.B. auf dem Stack)
letzter Befehl:
RTI
restauriere Register
nächster Befehl
I.21
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
I.22
 1997-2004, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005s-TI1-I-OS.fm, 2005-05-29 22.08] http://www-vs.informatik.uni-ulm.de/teach/ws04/avo/
Herunterladen