Betriebssysteme – Einführung 1.1 Motivation Betriebssysteme Sommersemester 2016 1.1 Motivation Woher? I Betriebssysteme (BS; engl: operation systems, OS) entwickelten sich aus einer Ansammlung von Unterprogrammen I BS als Programmlader (program loader) á Mehr im Abschnitt 2 Historischer Abriß“ ” Betriebssysteme I 1. Kapitel Heute haben Betriebssystem eine Reihe von Aufgabenbereichen: I Einführung I I I Prof. Matthias Werner I Professur Betriebssysteme I I Prozessmanagement Speichermanagement Dateimanagement E/A-Management Schutzfunktionen Kommunikation Kommandoausführung Merke: Nicht alle Betriebssysteme realisieren jede dieser Funktionen. SoSe 2016 · M. Werner Betriebssysteme – Einführung 1.1 Motivation 2 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.1 Motivation Warum? Zwei Sichten Zwei mögliche Sichten auf das Betriebssystem: 1. Virtuelle Maschine (Top-Down Sicht): I I I Moderne Rechner bestehen aus vielen komplexen Komponenten: I á Prozessor, Arbeitsspeicher, Platten, Druckern, Tastatur, Maus, Bildschirm, Netzwerkschnittstellen, etc. I Um ein Anwendungsprogramm direkt für einen Rechner zu schreiben, muss der Programmierer alle Details der Komponenten und ihrer Zusammenarbeit verstehen á nur in Spezialfällen realistisch I Deshalb wird Betriebssystem – als zusätzliche Software-Schicht – eingeführt SoSe 2016 · M. Werner 3 / 18 osg.informatik.tu-chemnitz.de Bietet dem Programmierer eine abstrakte, einfache Sicht auf die Hardware an Reale, low-level Eigenschaften werden versteckt Beispiel Festplatte/Dateisystem: I I Reale Maschine (Hardware): Folge von Datenblöcken fester Größe Virtuelle Maschine (BS): Benannte Dateien variabler Größe SoSe 2016 · M. Werner 4 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.1 Motivation Betriebssysteme – Einführung 1.1 Motivation Zwei Sichten (Forts.) Was? Was also ist ein Betriebssystem? Zwei mögliche Sichten auf das Betriebssystem: 2. Ressourcenmanager (Bottom-Up Sicht): I I DIN 4430 Verwaltet Prozessoren, Speicher, Platten, Terminals, ... Koordiniert den Zugriff von Anwendungen auf Ressourcen I I Zeitliche Ressourcenverwaltung: Anwendungen greifen nacheinander auf Ressourcen zu (z. B. Drucker) Räumliche Ressourcenverwaltung: Anwendungen greifen auf unterschiedliche Bereiche einer Ressource zu (z. B. Speicher) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Ausführung von Programmen steuern und überwachen. Stallings [Sta04] An operating system is a program that controls the execution of application programs and acts as an interface between applications and the computer hardware. Wikipedia Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. SoSe 2016 · M. Werner 5 / 18 SoSe 2016 · M. Werner osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.1 Motivation 6 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.2 Historischer Abriß 1.2 Historischer Abriß Erkenntnisse Die 50er Jahre des letzten Jahrhunderts (Anfänge) I Es ist offensichtlich schwer, eine präzise und diskriminierende Definition zu geben I Ein Programm wird von einem Prozessor abgearbeitet I Die Betriebssystemfunktion beschränkt sich auf á Stapel-Verarbeitung (Batch-Betrieb) I Pragmatische Definition I Unterstützung bei der Ein-/Ausgabe Umwandlung von Zahl- und Zeichendarstellungen Zum Betriebssystem gehört alles, was die Ausführung von Anwendungen in generischer Form unterstützt. I Merke: Bei einem solchen weiten Begriff werden auch z.B.: I I Middleware Firmware in das Betriebssystem einbezogen. SoSe 2016 · M. Werner 7 / 18 osg.informatik.tu-chemnitz.de SoSe 2016 · M. Werner 8 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.2 Historischer Abriß Betriebssysteme – Einführung 1.2 Historischer Abriß Die Sechziger Die Siebziger I Missverhältnis von CPU- und E/A-Rate wird eklatant I I BS unterstützen die verzahnte Ausführung unabhängiger Programme á Multiprogramming Beginnende Software-Krise: BS werden groß, komplex und fehlerbehaftet I Unix entsteht nach dem Prinzip simple is beautiful“ auf ” einfacher Hardware (PDP-11) I Aufkommende Forderungen nach strukturiertem Systementwurf, Wartbarkeit, Zuverlässigkeit, Schutz und Sicherheit I Einsatz höherer Programmiersprachen für BS-Implementierung I Prozess wird zur Schutzumgebung (Kontext, domain) mit eigenem, abgeschottetem Adressraum und Rechten (capabilities) I Forderung nach Unterstützung von modularer Programmierung, abstrakten Datentypen und Objektorientierung I Anwendung dieser Prinzipien auf das Betriebssystem selbst I Echte Parallelität durch Aufkommen von E/A-Prozessoren I Der Begriff des Prozesses als virtueller Prozessor wird geboren I Auch der Speicher wird virtualisiert“ á virtueller ” Speicher I Prozess wird auch internes Strukturierungsmittel für BS I Interaktiver Betrieb durch mehrere Benutzer á Timesharing I Prototypen bzw. Vorläufer heutiger Großrechner-BS entstehen (OS/360, CTSS/Multics, CP67, VMOS/BS2000) SoSe 2016 · M. Werner 9 / 18 osg.informatik.tu-chemnitz.de SoSe 2016 · M. Werner Betriebssysteme – Einführung 1.2 Historischer Abriß 10 / 18 Betriebssysteme – Einführung 1.2 Historischer Abriß Die Achtziger Die Achtziger (Forts.) I Aufkommen von Arbeitsplatzrechnern und PCs I Leistungsfähiges Kommunikationsmedium: Ethernet, Vernetzte Systeme I Prozesse sind mittlerweile komplexe Gebilde: Ein Umschalten kostet“ mehrere Tausend ” Maschinenbefehle á Man trennt Adressraum und Prozess wieder und erlaubt mehrere Prozesse im selben Adressraum (lightweight process, thread) I Unix hat im Arbeitsplatzrechner ein ideales Vehikel zur Verbreitung und wird zum Quasi-Standard I Parallelitätskonzepte werden in Programmiersprachen aufgenommen I I Verteiltes (paralleles) Rechnen auf Netzen von Arbeitsplatzrechnern Notwendigkeit der Integration schafft Standardisierungsdruck (OSI, TCP/IP, NFS, POSIX, OSF, X/OPEN, OMG, ODP) I BS überwinden Rechnergrenzen: Von der Rechnerkommunikation zum Verbundsystem (Verteiltes System). I GUI (XEROS á Apple á Microsoft) SoSe 2016 · M. Werner osg.informatik.tu-chemnitz.de 11 / 18 osg.informatik.tu-chemnitz.de SoSe 2016 · M. Werner 12 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.2 Historischer Abriß Betriebssysteme – Einführung 1.2 Historischer Abriß Die Neunziger I Die Neunziger (Forts.) Infolge hoher Stückzahlen werden einfache Mikroprozessoren relativ billig á Zusammenschaltung tausender Mikroprozessoren bringt (rechnerisch) höhere Leistung bei geringerem Preis als Supercomputer (z.B. Cray) I Neue BS-Funktionen zur Unterstützung der Parallelverarbeitung und der Verteilten Verarbeitung I Verteiltes Arbeiten wird zum Standardfall á WWW I Verteilte Systeme auch in heterogenen Umgebungen (DCE, Corba) I Multimedia-Anwendungen erfordern Unterstützung von Audio- und Videodaten (Echtzeit-Fähigkeiten) I Software in eingebetteten Systemen benötigt BS-Unterstützung (z.B. Consumer Electronics) I Emulation anderer BS-Schnittstellen (d.h. mehrere BS-Welten auf demselben Rechner) TravelPilot IDS (1989) SoSe 2016 · M. Werner 13 / 18 osg.informatik.tu-chemnitz.de SoSe 2016 · M. Werner Betriebssysteme – Einführung 1.2 Historischer Abriß I I Dieses Jahrhundert bisher (Forts.) Immer stärkere Vernetzung bei gleichzeitiger höhere Mobilität hat eine Reihe von Auswirkungen Größere externe Sicherheitsbedrohungen á Sicherheitsaspekte werden verstärkt im Betriebssystem behandelt (Kernelfirewall, IDS, Sandbox, ...) Virtualisierung I VMs (Java, .NET, HTML5-Webbrowser) werden quasi eigene Betriebssysteme I Hypervisor-Technologie (aus den 60er/70er Jahren) wird zur Produktivtechnologie á Betriebssysteme sollen als Host/Guest arbeiten SoSe 2016 · M. Werner osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.2 Historischer Abriß Dieses Jahrhundert bisher I 14 / 18 15 / 18 osg.informatik.tu-chemnitz.de I Mobile Geräte á Energie-Management als BS-Funktion á Dienste verlagern sich ins Netz, was wiederum durch das (Klienten- und Server-) Betriebssystem unterstützt wird (Thin Client, Grid- und Cloudcomputing) SoSe 2016 · M. Werner 16 / 18 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.2 Historischer Abriß Betriebssysteme – Einführung Dieses Jahrhundert bisher (Forts.) Referenzen I Neue Hardware... I ...für Ein- und Ausgabe verlangt neue Bedienkonzepte I I I [Sta04] Touch Sprache 3D Chapter 2 I ...zur Berechnung verlangt neue Ausführungsmodelle I I I SoSe 2016 · M. Werner W. Stallings. Operating Systems: Internals and Design Principles. Prentice Hall, 2004, 17 / 18 [Han00] Per Brinch Hansen, Hrsg. Classic operating systems: from batch processing to distributed systems. Springer, 2000 [Bow] Jonathan Bowen. The Virtual Museum of Computing. URL: http://museums.wikia.com/wiki/VMoC GPU Cell-Prozessor Cyber-physical Systems osg.informatik.tu-chemnitz.de SoSe 2016 · M. Werner 18 / 18 osg.informatik.tu-chemnitz.de