27
Kapitel 6 Betriebssysteme - Einführung

Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Embed Size (px)

Citation preview

Page 1: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kapitel 6Betriebssysteme - Einführung

Page 2: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Überblick Betriebssysteme

6 Einführung6.1 Aufgabe von Betriebssystemen6.2 Verschiedene Komponenten / Konzepte von Betriebssystemen6.3 Unterschiedliche Arten von Betriebssystemen6.4 Anforderungen6.5 Daraus abgeleitete Probleme, Teilaufgaben, Konzepte, Verfahren6.6 Zusammenfassung6.7 Historische Entwicklung7 Prozesse, Fäden (threads), Scheduling8. Speicherverwaltung9. Dateisysteme10. Ein- und AusgabeNebenläufigkeit und wechselseitiger Ausschluss – Inhalt der Vorlesung

„Nebenläufige Programmierung“Deadlocks - dito

Page 3: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Abstraktionsniveaus für Programmierer

Befehlssatzarchitektur - Instruction Set Architecture (ISA)

Betriebssystem - Abstraktion der Architektur

Bibliotheksfunktionen, Dienstprogramme

Anwendungsprogramme

Anwender

Anwendungs-programmierer

Betriebssystem-programmierer

Page 4: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.1 Aufgabe von Betriebssystemen

Hardware für bestimmte Zwecke benutzbar machen: bietet komfortable Abstraktion der Hardware an,

Beispiel (Tanenbaum):read- und write-Kommando für Floppy Disks verlangen 13 Parameter, in 9 Bytes gepackt: Adresse,

Zahl der Sektoren pro Spur, Aufzeichnungsmodus, Zwischenraum zwischen Sektoren, …

geben 23 Status- und Fehlerfelder zurück, in 7 Bytes gepackt

Programmierer möchte aber Datei-Abstraktion haben.

Page 5: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.2 Was gehört zum Betriebssystem

Rechner haben (mindestens) zwei Betriebsmodi (Hardware hat ein Modus-Bit):

System-Modus – erlaubt uneingeschränkte Nutzung aller Hardware-Funktionen und Zugriff auf alle Betriebsmittel,

Benutzer-Modus – erlaubt eingeschränkte Nutzung (Ausführung von nur einem Teil der Maschinenbefehle).

Betriebssystem läuft als einziges im System-Modus! System-Modus ist die Basis für Schutzmechanismen. Darauf aufbauend gibt es weitere privilegierte Systeme,

z.B. Passwortverwaltung, … Bedienoberfläche, Webbrowser laufen nicht im System-

Modus nicht Teil des Betriebssystems

Page 6: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Betriebssystem, Dienstprogramme, Anwendungsprogramme

Schnittstelle zwischen Betriebssystem und System- bzw. Dienstprogrammen ist nicht immer klar definiert.

Hier: Dienstprogramme laufen nicht im System-Modus, sind also nicht Teil des Betriebssystems.

Typische (anwendungsunabhängige) Dienstprogramme sind: Compiler Editoren Bedienoberfläche Kommandointerpreter (sog. Shell)

Anwendungsprogramme: Textverarbeitung Tabellenkalkulation Datenbankanwendungen Webbrowser etc.

Page 7: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.3 Typen von Betriebssystemen

Viele Typen von Betriebssystemen mit verschiedenen Aufgaben, Unterstützung von

Anwendungsprogrammen: Textverarbeitung, Tabellenkalkulation, Spiele, …

Softwareentwicklung, Kontrolle eingebetteter (Echtzeit-)Systeme, Transaktionssystemen: Datenbanken, Reservierungssysteme,

Buchhaltung,…

Betriebssysteme unterstützen verschiedene Arten von Benutzern: Architektur-Abstraktion wichtig für den

Anwendungsprogrammierer, Interaktivität wichtig für Online-Nutzer, Persistente Speicherung wichtig für Server-Nutzer

Page 8: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.4 Anforderungen an Betriebssysteme

Page 9: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Anforderungen an und Charakteristik von PC/Workstation-Betriebssystemen

Page 10: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Anforderungen an und Charakteristik von Echtzeit-Betriebssystemen

Page 11: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Anforderungen an und Charakteristik von File-Server-Betriebssystemen

Page 12: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Anforderungen an und Charakteristik von Compute-Server-Betriebssystemen

Page 13: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Anforderungen an und Charakteristik von Transaktions-Betriebssystemen

Page 14: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Page 15: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.5 Von den Aufgaben abgeleitete Probleme, Teilaufgaben, Komponenten, Konzepte, Verfahren, Eigenschaften

Betriebssystem verwaltet Berechnungen Konzept: Prozess – in Ausführung befindliches Programm kreiert durch Benutzer, Service-Anfrage oder periodischen

Auslöser, koexistiert häufig mit anderen Prozessen

Nebenläufigkeit, Schutz voreinander, Deadlock, Livelock Sicherheitseigenschaften, Lebendigkeitseigenschaften

benötigt zur Ausführung Betriebsmittel/Ressourcen Verwaltung von Betriebsmitteln, Virtualisierung, wg. Nebenläufigkeit: Konkurrenz um Betriebsmittel Scheduling Lebendigkeitseigenschaften, Fairness

Page 16: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Von den Aufgaben abgeleitete Probleme, Teilaufgaben, Komponenten, Konzepte, Verfahren, Eigenschaften

Betriebssystem verwaltet Speicher, garantiert Persistenz – Dateisystem, garantiert Atomizität – Transaktion,

Betriebssystem verwaltet Ein-/Ausgabegeräte Virtualisierung – jedem Prozess sein verlangtes Gerät Zuordnung zu realen Geräten unter

Randbedingungen - Synchronität, gegenseitiger Ausschluss

Page 17: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Von den Aufgaben abgeleitete Probleme, Teilaufgaben, Komponenten, Konzepte, Verfahren

Verschiedenen Typen von Betriebssystemen - verschiedene Optimierungsziele

Server – Durchsatz Timesharing-System - Interaktivität

Echtzeitbetriebssystem „garantiert Reaktionszeiten”, genauer, garantiert bestenfalls die Unabhängigkeit

des zeitlichen Verhaltens der Prozesse,

Page 18: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.6 Zusammenfassung: Aufgabe von Betriebssystemen

Ein Betriebssystem ist ein Programm (Software) mit den grundsätzlichen Funktionen:1. Virtualisierung von Systemressourcen, dazu2. Verwaltung von Systemressourcen,3. Bereitstellen einer „erweiterten Maschine“ für den

Anwendungsprogrammierer,4. Anbieten von Schutzmechanismen.

Page 19: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Virtualisierung

Betriebssystem bietet dem Benutzer statt – einem realen Rechner mit

– einer festen Zahl von Prozessoren, – beschränktem Hauptspeicher, – beschränkter Zahl von Ein-/Ausgabe-Geräten

– viele virtuelle Rechner an– pro ausgeführter Anwendung einen,– mit (fast) unbegrenztem Speicher,– der notwendigen Zahl von Ein-/Ausgabe-Geräten.

Page 20: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Verwaltung von Systemressourcen

Verwaltung aller Komponenten eines komplexen Systems Komponenten sind z.B.

Prozessoren, Speicher, Uhren, Platten, Terminals, Ein-/Ausgabegeräte, Netzwerkschnittstellen etc.

Diese Bestandteile eines Rechnersystems bezeichnet man auch als Betriebsmittel.

Betriebssystemaufgabe: Geordnete und kontrollierte Zuteilung von Betriebsmitteln an konkurrierende Prozesse / Benutzer.Beispiele: Mehrere Programme rechnen scheinbar gleichzeitig auf einer CPU und im gleichen

Speicher, versuchen gleichzeitig Daten auf demselben Drucker

auszugeben.

Page 21: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Betriebssystem als Ressourcenmanager

Aufgaben beim Verwalten von Systemressourcen: „Faire“ Zuteilung von gemeinsam genutzten

Betriebsmitteln Auflösung von Konflikten bei der Betriebsmittelanforderung Effiziente Verwaltung von Betriebsmitteln Protokollieren der Ressourcennutzung Abrechnung der Betriebsmittelnutzung Fehlererkennung, Fehlerbehandlung

Hardware: Gerätefehler Software: Programmfehler

Page 22: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Ressourcenverwaltung in zwei Dimensionen:

Zeit: Verschiedene Benutzer erhalten Betriebsmittel nacheinander

Raum: Verschiedene Benutzer erhalten verschiedene Teile einer Ressource.Achtung: Manche Ressourcen sind unteilbar!

Page 23: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Ressourcen-Zuteilung

Vergabestrategie zur Erreichung von Entwurfszielen, je nach Typ des Betriebssystems: Fairness Grad an Interaktivität Optimierungsziel: Maximierung von Durchsatz Garantien: Einhaltung von Fristen (Deadlines)

Page 24: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Bereitstellen einer „erweiterten Maschine“ (ABI) Abstraktion von Verhalten des zugrunde liegenden

Rechners auf möglichst hohem Niveau Verstecken von Eigenschaften der realen Hardware

vor dem Programmierer Leichte Programmierbarkeit

Beispiel: Datenspeicherung auf der Festplatte Entlastung des Programmierers von Details wie Einschalten

des Motors, Bewegung des Plattenarms, Aufteilung des benötigten Platzes auf Sektoren der Platte etc.

Einfache Programmierschnittstelle: Schreiben in Datei

Das BS stellt dem Programmierer eine abstrakte Programmierschnittstelle (ABI) zur Verfügung.

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

Page 25: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Schutz Schutz verschiedener Benutzer und Programme

voreinander Kontrolle des Zugriffs auf Speicherbereiche und Dateien –

z.B. kein Überschreiben von Programmener, kein Pufferüberlauf (buffer overflow)

Zugriffskontrolle zum System Verhindern nicht autorisierten Eindringens.

Page 26: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

6.7 Historische Entwicklung von Betriebssystemen

bis 1955 Rechnen auf „nackter“ Hardware

1955 Stapelverarbeitung, Serielle Abarbeitung der Jobs gesteuertdurch kleines Softwareprogramm, genannt Monitor, IBM

1966/67,IBM OS/360

Mehrprogrammfähige Stapelverarbeitungssysteme,überlappende Ausführung mehrerer Progamme zur Überbrückung von Ein-/Ausgabewartezeiten, mehrere Speicherpartitionen.

Time-Sharing Systeme (Zeitaufteilungsverfahren),interaktives Arbeiten mehrerer Benutzer mit Online-Zugang

Systeme mit graphischen Benutzeroberflächen, Fenster, Maus, …

1962 CTSS,1963-69 Multics,1969-74 UNIX

Mikrocomputer-Betriebssysteme1974 CPM,1980 MS-DOS

1974 XEROX,1983 Apple1985 MS-Windows

Page 27: Kapitel 6 Betriebssysteme - Einführung. RW-Systemarchitektur Kap. 6 Überblick Betriebssysteme 6 Einführung 6.1 Aufgabe von Betriebssystemen 6.2 Verschiedene

Kap. 6RW-Systemarchitektur

Zusammenfassung

Betriebssystem ist ein Softwareprogramm. Liefert eine abstrakte Schnittstelle zum Rechner Verwaltet Systemressourcen Verschiedene Arten von Betriebssystemen aufgrund

verschiedener Anforderungen in unterschiedlichen Anwendungsgebieten

Moderne Betriebssysteme sind in der Regel Timesharing-Systeme mit vielen zusätzlichen Eigenschaften.