12
RW- Systemarchitektur Kap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher geräteunabhängig organisiert in baumartigen Verzeichnisstrukturen zu jeder Datei gehört ein Pfad in diesem Baum Adressraum eines Prozesses ist eine Abstraktion des Arbeitsspeichers des Rechners virtueller Speicher abstrahiert von der Größe des vorhandenen Arbeitsspeichers virtuelle Adressen abstrahieren von physischen Adressen Betriebssystem verwaltet Ein-/Ausgabegeräte Gerätetreiber sind geräteabhängig, realisieren Abstraktion des Geräts

RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

Embed Size (px)

Citation preview

Page 1: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Wiederholung

Betriebssystem bietet eine Abstraktion der Hardware an:

• Dateien sind eine Abstraktion von persistentem Speicher– geräteunabhängig– organisiert in baumartigen Verzeichnisstrukturen– zu jeder Datei gehört ein Pfad in diesem Baum

• Adressraum eines Prozesses ist eine Abstraktion des Arbeitsspeichers des Rechners– virtueller Speicher abstrahiert von der Größe des vorhandenen

Arbeitsspeichers– virtuelle Adressen abstrahieren von physischen Adressen

• Betriebssystem verwaltet Ein-/Ausgabegeräte– Gerätetreiber sind geräteabhängig, realisieren Abstraktion des Geräts

Page 2: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Systemfunktionen (System Calls)

• Schnittstelle zum Betriebssystem• realisieren Betriebssystem-Dienste, z.B. Ein-/Ausgabe,

Dateioperationen, Prozesskreieren, -löschen, …• schalten zwischen Benutzer-Modus und System-Modus um,• manche blockieren den aufrufenden Prozess.

Benutzer-programm

Betriebs-system

AufrufSystemfunktion

blockiert

AusführungSystemfunktion

WiederaufnahmeBenutzerprogramm Benutzer-

Modus

System-Modus

Page 3: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Systemfunktionen (System Calls)

• Systemfunktionen organisiert in Programmbibliothek• Aufrufe sehen wie Prozeduraufrufe aus

1. Aufrufer blockiert,2. neuer Eintrag für Systemfunktion (mit Rückkehradresse) auf dem

Laufzeitkeller angelegt, 3. dieser Eintrag bei Rückkehr wieder aufgegeben,4. Ausführung Benutzerprogramm an der Rückkehradresse fortgesetzt.

• Unterschiede:– Wechsel zwischen Benutzer- und System-Modus– Aufruf implementiert durch trap-Befehl statt durch üblichen

Unterprogramm-Aufruf-Befehl – trap-Befehl schaltet um in System-Modus, – übergibt die Nummer der Systemfunktion

Page 4: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Schritte für die Ausführung eines Systemdienstes

11 Schritte für die Ausführung von read (fd, buffer, nbytes)

Page 5: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Systemdienste

Prozesse besitzen 3 Segmente: Programmtext, Daten, Keller

Page 6: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Klassen von Systemfunktionen (POSIX)

• Prozessverwaltung:– pid = fork() : lege Kopie des aktuellen Prozesses an, fährt unabhängig fort;

gibt dem Vater-Prozess den Prozess-Identifier (pid) des neuen Prozesses und diesem 0 zurück

– waitpid((pid, … , …) : Vater-Prozess wartet auf Terminierung der Kind-Prozesse

– s = execve(name, argv, environp) : führe Kommando mir Name name aus

• Dateiverwaltung:– fd = openfile(file, modus, …) : öffne Datei für Lesen und/oder Schreiben

– s = close (fd) : schließe eine geöffnete Datei

– n = read(fd, buffer, nbytes) : lese Daten aus Datei in Puffer

– n = write(fd, buffer, nbytes) : schreibe Daten aus Puffer in Datei

– …

Page 7: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Beispiel – Kommando-Interpreter (Shell)

• Shell wartet auf Eingabe von Benutzer-Kommandos

• kreiert einen neuen Prozess für die Ausführung des Kommandos

#define TRUE = 1

while (TRUE) { /* Endlosschleife */ type_prompt(); /* gebe Prompt auf Bildschirm aus */ read_command(comm, params) /* lese Eingabe vom Terminal */ if (fork()!=0){ /* kreiere Kind-Prozess */ /* Vater-Prozess */ waitpid(…) /* warte auf Terminierung Kind-Prozess */ } else { /* Kind-Prozess */ execve(comm, params, 0); /* führe Kommando aus */ }}

Page 8: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

(Einige) Betriebssystem-Strukturen

• Monolithische Struktur – das ganze Betriebssystem ist ein ausführbares Maschinenprogramm

• Geschichtetes System

• Mikrokerne

• Client-Server

• Virtuelle Maschinen

Page 9: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Geschichtetes System (THE System, Dijkstra 1968)

Hardware

0 Prozessor-Verwaltung und Multiprogramming

1 Speicher- und Trommel-Verwaltung

2 Kommunikation Operateur- Prozess

3 Ein-/Ausgabe-Verwaltung

4 Benutzerprogramme

5 Operateur

ab hier: Virtualisierung des Prozessors

ab hier: Lage-unabh.Speicheradressierung

ab hier: Virtualisierung derOperateur-Konsole

ab hier: Abstraktion derEin-/Ausgabegeräte

Stapelverarbeitungs-Betriebssystem

Page 10: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Mikrokerne

• Prinzip: Teile Betriebssystem in eine Menge von Modulen auf, von denen nur einer, der Mikrokern, im System-Modus laufen muss.

• Halte Mikrokern so klein wie möglich.

• Grund: – Fehler im Kern sind gefährlicher als Fehler in Benutzerprogrammen.

Sie können das System zum Absturz bringen.Fehler in Benutzerprogramm i.A. nicht.

– Größerer Kern mehr Fehler.

Page 11: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Virtuelle MaschinenVirtual Machine Monitor organisiert den Mehrprogrammbetrieb mit mehreren

identischen Kopien der Hardware, aber ohne Erweiterungen wie Dateien etc.

Auf jeder Kopie kann ein (evtl. anderes) Betriebssystem laufen.

Problem: Das Abfangen von privilegierten Befehlen –

1. Abfangen in CMS-virtueller Maschine (trap in CMS),

2. CMS führt Ein-/Ausgabe-Operationen aus (trap in VM/370),

3. Ausführen auf der realen Hardware.

Page 12: RW-SystemarchitekturKap. 7 Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an: Dateien sind eine Abstraktion von persistentem Speicher

RW-Systemarchitektur Kap. 7

Client-Server

Client-Server in verteiltem BS

Gleicher Aufruf – verschiedene Implementierung