38
1 Wolfram Burgard Kapitel 2 Überblick Betriebssysteme Systeme I: Betriebssysteme

Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

1

Wolfram Burgard

Kapitel 2 Überblick Betriebssysteme

Systeme I: Betriebssysteme

Page 2: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Überblick Betriebssysteme

Aufgabe von Betriebssystemen

Historische Entwicklung von Betriebssystemen

Unterschiedliche Arten von Betriebssystemen

2

Page 3: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Aufgabe von Betriebssystemen

Betriebssystem = Computerprogramm mit zwei grundsätzlichen Funktionen

Abstraktion der tatsächlich vorhandenen Hardware

Beispiel: Manipulation des Dateisystems (z.B. Erstellen/Löschen von Dateien), Abstraktion der Hardware (Festplatte)

Verwaltung von Systemressourcen

3

Page 4: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Bereitstellen einer erweiterten Maschine

4

Ziel: Abstraktion von detailliertem Verhalten des zugrunde liegenden Rechners auf möglichst hohem Niveau

Verstecken realer Hardware-Eigenschaften vor dem Benutzer

Page 5: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Abstrakte Schnittstelle

Das Betriebssystem stellt dem Programmierer eine abstrakte Programmierschnittstelle zur Verfügung

Das Betriebssystem bietet einen Satz von Kommandos (Systemaufrufe), über die z.B. auf Ein-/Ausgabegeräte zugegriffen werden kann

Komfortabel für den Programmierer

5

Page 6: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Betriebssystem als Schnittstelle

6

Computer-Hardware

Betriebssystem

Bibliotheksfunktionen, Dienstprogramme

Anwendungsprogramme

Anwender

Anwendungs-programmierer

Betriebssystem-programmierer

Page 7: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Dienstprogramme, Anwendungsprogramme

7

Schnittstelle zwischen Betriebssystem und Dienstprogrammen nicht immer klar definiert

Typische Dienstprogramme:

Compiler

Editoren

Kommandointerpreter (sog. Shell)

Beispiele für Anwendungsprogramme:

Textverarbeitung, Tabellenkalkulation, Datenbankanwendungen

Page 8: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Verwaltung von Systemressourcen

8

Ziel: Verwaltung aller Bestandteile eines komplexen Systems (Betriebsmittel)

Beispiele: Prozessoren, Speicher, Platten, Netzwerkschnittstellen, Drucker etc.

Betriebssystemaufgabe: Geordnete und kontrollierte Zuteilung der Betriebsmittel an konkurrierende Prozesse / Benutzer

Page 9: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Betriebssystem als Ressourcenmanager (1)

9

„Gerechte“ Zuteilung von gemeinsam genutzten Betriebsmitteln

Auflösung von Konflikten bei der Betriebsmittelanforderung

Schutz verschiedener Benutzer gegeneinander (z.B. Zugriffskontrolle bei Dateien)

Effiziente Verwaltung von Betriebsmitteln

Page 10: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Betriebssystem als Ressourcenmanager (2)

10

Fehlererkennung, Fehlerbehandlung

Hardware: Gerätefehler

Software: Programmfehler

Ressourcenverwaltung in zwei Dimensionen:

Zeit: Verschiedene Benutzer erhalten Betriebsmittel nacheinander

Raum: Verschiedene Benutzer erhalten verschiedene Teile einer Ressource (z.B. Hauptspeicher)

Page 11: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Der Kernel

Der Kernel (Kern) des Betriebssystems wird in einem privilegierten Modus ausgeführt

Zugriff auf Ein- und Ausgabegeräte

Speicherschutz veränderbar

Benutzerprogramme müssen Systemaufrufe (system calls) ausführen, um diese Dienste zu nutzen

Mit dem Befehl TRAP wird vom Benutzer- in den

Kernmodus umgeschaltet

Nach Abarbeiten des Systemaufrufs übergibt das Betriebssystem die Kontrolle zurück an das Benutzerprogramm

11

Page 12: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Betriebssystemaufruf aus Anwendung

12

Hardware (Festplatte):

Sektor 0x42

/home/someuser/Documents/systeme1.txt

Anfrage des Benutzers nach Inhalt einer Datei muss vom Betriebssystem beantwortet werden

Dateisystem Kernel:

Betriebssystemaufruf

Öffne Datei

Page 13: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Zugriff auf Ein- und Ausgabegeräte

13

Es existieren verschiedene Methoden, auf Ein- und Ausgabegeräte zuzugreifen

1. „synchroner“ Aufruf: der Systemaufruf fragt in einer Endlosschleife ab, ob die Operation beendet ist aktives Warten

2. Gerät ruft eine Interrupt-Routine auf, so bald es fertig ist

3. Direct Memory Access über speziellen DMA-Chip

Page 14: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Betriebssystemaufruf durch Interrupts

14

Geräte-Controller signalisiert dem Interrupt-Controller eine abgeschlossene Operation

wird der Interrupt behandelt, so wird 1. Die aktuelle Programmausführung

unterbrochen

2. Eine Unterbrechungsroutine (interrupt handler) ausgeführt

3. Die ursprüngliche Programmausführung fortgesetzt

Aktueller Befehl

Nächster Befehl

interrupt handler

(1)

(2)

(3)

Page 15: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Erweiterbarkeit, Entwicklungs-fähigkeit von Betriebssystemen

15

Änderungen des Betriebssystems erforderlich durch z.B.

Neue Hardware

Neue Protokolle

Korrekturen (z.B. Schließen von Sicherheits- löchern)

Eigenschaften eines Betriebssystems

Modular und klar strukturiert aufgebaut

Gut dokumentiert

Page 16: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Historische Entwicklung von Betriebssystemen

16

Verschiedene Entwicklungsstadien

Serielle Systeme

Einfache Stapelverarbeitungssysteme

Mehrprogrammfähige Stapelverarbeitungssysteme

Timesharing-Systeme

Systeme mit graphischen Benutzeroberflächen

Netzwerkbetriebssysteme

Verteilte Betriebssysteme

Page 17: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Historische Entwicklung von Betriebssystemen (1)

17

Serielle Systeme (1945-1955)

Betrieb von Rechnern ohne Betriebssystem

Programmierung von Rechnern durch Lochkarten

Zuteilung von Rechenzeit durch Reservierung mit Hilfe Papieraushang

Page 18: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Einfache Stapelverarbeitungssysteme (1955, IBM)

18

Historische Entwicklung von Betriebssystemen (2)

Zentraleinheit

Drucker Lochkarteneinheit

[wikipedia]

Page 19: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Einfache Stapelverarbeitungssysteme (1955, IBM)

Unterscheidung von Programmentwicklern und Operateuren, welche die Rechner („Mainframes“) betrieben

Entwicklung auf Papier (in FORTRAN, Assembler), Stanzen auf Lochkarten

Sammlung von Programmen (Jobs) auf Lochkarten

Einlesen der gesammelten Jobs durch kleinen Rechner, Speichern auf Band

19

Historische Entwicklung von Betriebssystemen (2)

Page 20: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Einfache Stapelverarbeitungssysteme (1955, IBM)

Abarbeitung des Bandes durch Hauptrechner

Einlesen des ersten Jobs, Ausführen des ersten Jobs

Ausgaben auf zweites Band

Dann weiter mit zweitem Job etc.

Serielle Abarbeitung der Jobs gesteuert durch kleines Softwareprogramm, genannt Monitor

Ausgabe der Ergebnisse für Programmierer durch kleinen Rechner

20

Historische Entwicklung von Betriebssystemen (2)

Page 21: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

21

Historische Entwicklung von Betriebssystemen (2)

Ausgabe Verarbeitung Eingabe

[Tanenbaum]

„kleine Maschine“ „kleine Maschine“ „teurer Rechner“

Page 22: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965)

Verarbeitung durch einzigen Rechner (IBM 360 sowie Nachfolger)

Spooling

Einlesen von Jobs auf Lochkarten, danach Speichern auf Platte

Nach Beenden eines Jobs: Laden eines neuen Jobs von Platte

Mehrprogrammfähigkeit bzw. Multi-programmierung, um Wartezeiten bei E/A zu reduzieren

22

Historische Entwicklung von Betriebssystemen (3)

Page 23: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

23

Historische Entwicklung von Betriebssystemen (3) Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965)

Viel Rechenzeit wird verschwendet durch Warten der CPU auf Beendigung von E/A Operationen

Führe aus Effizienzgründen Jobs nicht streng sequentiell aus

Job 1

Betriebs-system

Job 2

Job 3

Speicher-partitionen

Aufteilung des Speichers in mehrere Bereiche

Eigene Partition pro aktivem Job

Wartezeiten auf Beendigung von E/A-Operationen genutzt durch Rechenzeit für andere Jobs

Page 24: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965)

24

Historische Entwicklung von Betriebssystemen (3)

Job 1

Job 2

E/A Operationen

Multiprogrammierung: Job 1 und Job 2 verschränkt

Page 25: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

25

Historische Entwicklung von Betriebssystemen (4) Timesharing-Systeme (ab Mitte 60er)

Bisheriger Nachteil: Kein interaktives Arbeiten mehrerer Benutzer möglich

Timesharing-Systeme: Online-Zugang zum System für alle Benutzer

Idee: Interaktives Arbeiten eines Benutzers erfordert nicht die komplette Rechenzeit eines Rechners

Bei schnellem Umschalten bemerkt der Einzelnutzer nicht, dass er die Maschine nicht für sich allein hat

Page 26: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Vergleich

26

Stapelverarbeitung

Maximale Prozessornutzung (Betreiberwunsch)

Befehle in Jobsteuersprache

Timesharing

Minimale Antwortzeit

(Benutzerwunsch)

Interaktive Kommandos

Historische Entwicklung von Betriebssystemen (4)

Page 27: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

27

Historische Entwicklung von Betriebssystemen (5) Systeme mit grafischen Benutzeroberflächen (80(60)er Jahre)

GUI (Graphical User Interface): Fenster, Icons, Menüs, Mauszeiger

Zuerst übernommen durch Apple Macintosh

Später durch Microsoft Windows

1985-1995: Grafische Umgebung, aufsetzend auf MS-DOS

ab Windows 95: Betriebssystem und GUI stark miteinander verschränkt

Page 28: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

28

Historische Entwicklung von Betriebssystemen (5) Systeme mit grafischen Benutzeroberflächen

Unix / LINUX:

GUI als Aufsatz auf das Betriebssystem

X-Window-System: Grundlegende Funktionen zur Fensterverwaltung

Komplette GUI-Umgebungen basierend auf X-Window: z.B. KDE, GNOME

Page 29: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

29

Historische Entwicklung von Betriebssystemen (6)

Netzwerkbetriebssysteme (Mitte 80er)

Benutzer kennt mehrere vernetzte Rechner

Einloggen auf entfernten Rechnern möglich

Datenaustausch möglich

Auf Einzelrechnern: Lokales Betriebssystem, lokale Benutzer

Netzwerkbetriebssystem = „normales Betriebssystem mit zusätzlichen Fähigkeiten“

Page 30: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

30

Historische Entwicklung von Betriebssystemen (7)

Verteilte Betriebssysteme

Mehrere vernetzte Rechner

Erscheinen dem Benutzer wie Einprozessorsystem

Datenspeicherung und Programmausführung verteilt auf mehreren Rechnern

Verwaltung automatisch und effizient durch Betriebssystem

Probleme: Nachrichtenverzögerungen, Dateninkonsistenz

Page 31: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

31

Historische Entwicklung von Betriebssystemen (8)

Aktuell

Betriebssysteme für Mehrkern-Prozessoren

Aufteilung der Prozesse auf vorhandene Kerne

Eigene Recheneinheiten, Zugriff auf gemeinsame Ressourcen

Theoretisch n-fache Rechenleistung bei n Kernen (abhängig von der Parallelisierung der Software)

Page 32: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

32

Arten von Betriebssystemen (1)

Mainframe-Betriebssysteme

Betriebssysteme für Großrechner

Einsatz: Webserver, E-Commerce, Business-to-Business

Viele Prozesse gleichzeitig mit hohem Bedarf an schneller Ein-/Ausgabe

Sehr hohe Ein-/Ausgabebandbreite

Beispiel: IBM OS/390, z/OS

Page 33: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

33

Arten von Betriebssystemen (1)

Mainframe-Betriebssysteme

Drei Arten der Prozessverwaltung:

Batch-Verfahren/Stapelverarbeitung: Erledigung von Routineaufgaben ohne Benutzerinteraktion (Schadensmeldungen, Verkaufsberichte)

Transaktionsverfahren/Dialogverarbeitung: Große Anzahl kleiner Aufgaben von vielen Nutzern (Überweisungen, Flugbuchungen)

Timesharing: Quasi-parallele Durchführung vieler Aufgaben durch mehrere Benutzer (Anfragen an Datenbank)

Page 34: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

34

Arten von Betriebssystemen (2)

Server-Betriebssysteme

Betriebssysteme für sehr große PCs, Workstations oder auch Großrechner

Einsatz: z.B. Internetanbieter

Viele Benutzer gleichzeitig über Netzwerk bedienen

Zuteilung von Hard- und Softwareressourcen

Beispiele: NetBSD (Unix), Windows Server

Page 35: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

35

Arten von Betriebssystemen (3)

PC-Betriebssysteme

Betriebssysteme für Personalcomputer

Meist nur 1 Benutzer (oder wenige über Netzwerk)

Einsatz: Programmierung, Textverarbeitung, Spiele, Internetzugriff, ...

Mehrere Programme pro Benutzer quasi-parallel

Aufteilung der Prozesse auf vorhandene Kerne

Zuteilung der Systemressourcen

Beispiele: Linux, Windows, Mac OS X

Page 36: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

36

Arten von Betriebssystemen (4)

Echtzeit-Betriebssysteme

Einhalten harter Zeitbedingungen (vs. im Durchschnitt schnell)

Einsatz: z.B. Betriebssysteme zur Steuerung maschineller Fertigungsanlagen (z.B. Autos)

Aktion in einem fest vorgegebenen Zeitintervall (in jedem Fall, garantierte Deadlines)

Beispiele: VxWorks, OSEK-OS

Page 37: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

37

Arten von Betriebssystemen (5)

Betriebssysteme für Eingebettete Systeme

Eingebettete Systeme = „Computer, die man nicht unmittelbar sieht“

Einsatz: Fernseher, Mikrowelle, Mobiltelefon, Auto, ...

Meist Echtzeitanforderungen

Wenig Ressourcen:

Kleiner Arbeitsspeicher

Geringer Stromverbrauch

Beispiele: QNX, Windows CE, Windows Phone, iOS, Android

Page 38: Systeme I: Betriebssystemeais.informatik.uni-freiburg.de/teaching/ws17/systems1/... · 2017-10-24 · Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen

Zusammenfassung

Betriebssystem = Softwareprogramm

Abstrakte Schnittstelle zum Rechner

Verwaltet Systemressourcen

Historische Entwicklung in mehreren Stadien

Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen in unterschiedlichen Anwendungsgebieten

Moderne Betriebssysteme: Timesharing-Systeme mit Mehrprogrammbetrieb (plus zusätzliche Eigenschaften)

38