6
Betriebssysteme Sommersemester 2018 Betriebssysteme 1. Kapitel Einführung Prof. Matthias Werner Professur Betriebssysteme Betriebssysteme – Einführung 1.1 Motivation 1.1 Motivation Warum? I Moderne Rechner bestehen aus vielen komplexen Hardware-Komponenten: Prozessor, Arbeitsspeicher, Platten, Druckern, Tastatur, Maus, Bildschirm, Netzwerkschnittstellen, etc. I Um ein Anwendungsprogramm 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 I Offensichtlich Zusammenhang zum Anwendungsgebiet I Abhängigkeit von der darunterliegenden Hardware I Trotzdem allgemeingültige Prinzipien aller Betriebssysteme SoSe 2018 · M. Werner 2 / 21 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.1 Motivation Zwei Sichten Zwei mögliche Sichten auf das Betriebssystem: 1. Virtuelle Maschine (Top-Down Sicht): I Bietet dem Programmierer eine abstrakte Sicht auf die Hardware an I Reale Eigenschaften der Hardware werden versteckt I Beispiel: Festplatte/Dateisystem I Reale Maschine (Hardware): Folge von Datenblöcken fester Größe I Virtuelle Maschine (BS): Benannte Dateien variabler Größe SoSe 2018 · M. Werner 3 / 21 osg.informatik.tu-chemnitz.de Betriebssysteme – Einführung 1.1 Motivation Zwei Sichten (Forts.) 2. Verwalter für Ressourcen (Bottom-Up Sicht): I Koordiniert Zugriff auf Prozessoren, Speicher, Platten, Terminals, ... I Zeitliche Ressourcenverwaltung: Anwendungen greifen nacheinander auf Ressourcen zu (z. B. Drucker) I Räumliche Ressourcenverwaltung: Anwendungen greifen auf unterschiedliche Bereiche einer Ressource zu (z. B. Speicher) SoSe 2018 · M. Werner 4 / 21 osg.informatik.tu-chemnitz.de

I Einführung - osg.informatik.tu-chemnitz.de · Æ Prozessor, Arbeitsspeicher, Platten, Druckern, Tastatur, Maus, Bildschirm, Netzwerkschnittstellen, etc. I Um ein Anwendungsprogramm

Embed Size (px)

Citation preview

BetriebssystemeSommersemester 2018

Betriebssysteme

1. KapitelEinführung

Prof. Matthias WernerProfessur Betriebssysteme

Betriebssysteme – Einführung1.1 Motivation

1.1 MotivationWarum?

I Moderne Rechner bestehen aus vielen komplexen Hardware-Komponenten:á Prozessor, Arbeitsspeicher, Platten, Druckern, Tastatur, Maus, Bildschirm,

Netzwerkschnittstellen, etc.

I Um ein Anwendungsprogramm für einen Rechner zu schreiben, muss der Programmiereralle Details der Komponenten und ihrer Zusammenarbeit verstehená nur in Spezialfällen realistisch

I Deshalb wird Betriebssystem – als zusätzliche Software-Schicht – eingeführtI Offensichtlich Zusammenhang zum AnwendungsgebietI Abhängigkeit von der darunterliegenden HardwareI Trotzdem allgemeingültige Prinzipien aller Betriebssysteme

SoSe 2018 · M. Werner 2 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.1 Motivation

Zwei SichtenZwei mögliche Sichten auf das Betriebssystem:

1. Virtuelle Maschine (Top-Down Sicht):I Bietet dem Programmierer eine abstrakte Sicht auf die Hardware anI Reale Eigenschaften der Hardware werden verstecktI Beispiel: Festplatte/Dateisystem

I Reale Maschine (Hardware): Folge von Datenblöcken fester GrößeI Virtuelle Maschine (BS): Benannte Dateien variabler Größe

SoSe 2018 · M. Werner 3 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.1 Motivation

Zwei Sichten (Forts.)2. Verwalter für Ressourcen (Bottom-Up Sicht):

I Koordiniert Zugriff auf Prozessoren, Speicher, Platten, Terminals, ...

I ZeitlicheRessourcenverwaltung:Anwendungen greifennacheinander aufRessourcen zu (z. B. Drucker)

I RäumlicheRessourcenverwaltung:Anwendungen greifen aufunterschiedliche Bereicheeiner Ressource zu (z. B.Speicher)

SoSe 2018 · M. Werner 4 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.1 Motivation

Was?Was also ist ein Betriebssystem?

Wikipedia

Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computersermöglicht.

DIN 4430Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaftender Rechenanlage die Grundlage der möglichen Betriebsarten des digitalenRechensystems 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 programsand acts as an interface between applications and the computer hardware.

SoSe 2018 · M. Werner 5 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.1 Motivation

Erkenntnisse

I Es ist offensichtlich schwer, eine präzise und diskriminierende Definition zu geben

Pragmatische Definition

Zum Betriebssystem gehört alles, was die Ausführung von Anwendungen ingenerischer Form unterstützt.

I Merke: Bei einem solchen weiten Begriff werden auch z.B.:I MiddlewareI Firmware

in das Betriebssystem einbezogen.

SoSe 2018 · M. Werner 6 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

1.2 GeschichteDie Anfänge

I 1946: ENIAC als erster vollelektronischer Computer inden USA

I Kein Speicher für ProgrammeI Wurde jedesmal neu verdrahtet

I EDVAC: Revolutionäre Erweiterung durch John vonNeumann

I Stored program computer: Programm wird alsDaten abgelegt

I Programm und Daten befinden sich in der gleichenSpeicher-Hardware

I Der general purpose computer war geboren

SoSe 2018 · M. Werner 7 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 50er - Serielle Verarbeitung

I Programme wurden in Maschinensprache geschriebenI Konsolen mit Lichtern, Schaltern, Lochkartenlesern und Druckern

I Programmspeicher wurde durch Lesen einer Lochkarte und Verdrahtung belegtI Software hatte dann die komplette KontrolleI Manuelle Reservierung á Nutzer verschenkten Rechenzeit (Programm zu schnell)

oder konnten ihr Problem nicht lösen (kein interaktives Debugging)I Sehr aufwändige Vorbereitung

I Betriebssystem als Bibliothek für E/A und Zahlenumwandlung

SoSe 2018 · M. Werner 8 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

StapelverarbeitungI IBM 1401 - 5. Oktober 1959

I Erster general purpose computer für den MassenmarktI Gedacht für Buchhaltung und AbrechnungI Verarbeitungseinheit, Kartenleser (250 Karten / Minute), DruckerI Erstes Konzept der Stapelverarbeitung (batch processing)

I Operator lädt monitor-Programm, welches vorbereitete Jobs einliestI Programme springen nach Beendigung zum monitor zurückI Erste Version von SchedulingI Bessere Auslastung der Hardware

History of operating systemsHistory of operating systemsBatch processingBatch processingThe elements of the basic The elements of the basic IBM 1401 system are the IBM 1401 system are the 1401 Processing Unit, 1401 Processing Unit, 1402 Card Read1402 Card Read--Punch, Punch, and 1403 Printer. and 1403 Printer.

27

Punching cardsPunching cards Multiprocessing Multiprocessing programmingprogramming

Job 3Job 2Job 1OS

Memory partitions

SoSe 2018 · M. Werner 9 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Stapelverarbeitung (Forts.)

I Beschreibungen in job control language (JCL)steuern das monitor-Programm

I Angaben über Compiler, zu verwendende Datenetc.

I Ein Teil des monitor-Programms verbliebimmer im Speicher, um Rücksprung zuermöglichen

I Anforderungen an Hardware: Speicherschutz,Timer, privilegierte E/A-Anweisungen

I Unterscheidung in user mode und monitormode

SoSe 2018 · M. Werner 10 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Multiprogrammierung

I Stapelverarbeitung sorgte bereits für bessere AuslastungI Jobs verbrachten aber noch immer zu viel Zeit mit Warten auf E/AI Idee: Zwei Jobs gleichzeitig in den Speicher laden

á wenn einer auf E/A wartet, kann der andere rechnenI Entsprechendes Multiplexing wurde Aufgabe des monitor-Programms á

multi-programming bzw. multi-taskingI Bessere Auslastung der Rechenheiten auf Kosten des Speicherverbrauchs

SoSe 2018 · M. Werner 11 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 60erI Breite Einführung von MultiprogrammierungI Echte Parallelität durch Aufkommen von

E/A-ProzessorenI Prozess als virtueller ProzessorI Auch der Speicher wird „virtualisiert“

á virtueller SpeicherI Prozess wird auch internes Strukturierungsmittel

für BSI Interaktiver Betrieb durch mehrere Benutzer á Timesharing

I Nutzern forderten Interaktion mit ihren laufenden Programmen (Debugging)I Idee: Verhalten wie bei dedizierter Maschine, trotz MultiprogrammierungI Mehrere interaktive Jobs zur gleichen ZeitI Startpunkt für Unix-artigen BetriebssystemeI Reine Stapelverarbeitung trotzdem noch relevant (TPM, SAP R/3, HPC)

I Viele Prototypen bzw. Vorläufer von Großrechnersystemen, die noch heute existieren(OS/360, CTSS/Multics, CP67, VMOS/BS2000)

SoSe 2018 · M. Werner 12 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 70erI Beginnende Software-KriseI Betriebssysteme werden groß, komplex und fehlerbehaftetI Unix entwickelt sich nach dem Prinzip „simple is beautiful“I Aufkommende Forderungen nach strukturiertem

Systementwurf, Wartbarkeit, Zuverlässigkeit, Schutz undSicherheit

I Einsatz höherer Programmiersprachen für dieImplementierung von Betriebssystemen

I Prozess wird zur Schutzumgebung (Kontext, domain) miteigenem, abgeschottetem Adressraum und Rechten(capabilities)

I Forderung nach Unterstützung von modularerProgrammierung, abstrakten Datentypen undObjektorientierung

I Anwendung dieser Prinzipien auf das Betriebssystem selbst

SoSe 2018 · M. Werner 13 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 80erI Aufkommen von Arbeitsplatzrechnern und PCsI Leistungsfähiges Kommunikationsmedium: Ethernet, Vernetzte SystemeI Prozesse sind mittlerweile komplexe Gebilde: Ein Umschalten „kostet“ mehrere Tausend

Maschinenbefehle á Man trennt Adressraum und Prozess wieder und erlaubt mehrereProzesse im selben Adressraum (lightweight process, thread)

I Parallelitätskonzepte werden in Programmiersprachen aufgenommenI Verteiltes (paralleles) Rechnen auf Netzen von Arbeitsplatzrechnern

SoSe 2018 · M. Werner 14 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 80er (Forts.)

I Unix hat im Arbeitsplatzrechner einideales Vehikel zur Verbreitung und wirdzum Quasi-Standard

I Notwendigkeit der Integration schafftStandardisierungsdruck (OSI, TCP/IP, NFS,POSIX, OSF, X/OPEN, OMG, ODP)

I BS überwinden Rechnergrenzen: Von derRechnerkommunikation zumVerbundsystem (Verteiltes System).

I GUI (XEROS á Apple á Microsoft)

SoSe 2018 · M. Werner 15 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 90er

I 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

VerarbeitungI Verteiltes Arbeiten wird zum Standardfall á WWWI Verteilte Systeme auch in heterogenen Umgebungen (DCE, Corba)

SoSe 2018 · M. Werner 16 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Die 90er (Forts.)

I Multimedia-Anwendungen erfordernUnterstützung von Audio- undVideodaten (Echtzeit-Fähigkeiten)

I Software in eingebetteten Systemenbenötigt BS-Unterstützung (z.B.Consumer Electronics)

I Emulation anderer BS-Schnittstellen(d.h. mehrere BS-Welten aufdemselben Rechner)

TravelPilot IDS (1989)

SoSe 2018 · M. Werner 17 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Seit 2000I Immer stärkere Vernetzung bei gleichzeitiger höhere MobilitätI Größere externe SicherheitsbedrohungenI Sicherheitsaspekte werden verstärkt im Betriebssystem behandelt

(Kernel-Firewall, IDS, Sandbox, . . . )

I Virtuelle Laufzeitumgebungen (Java, .NET, HTML5-Webbrowser) werden quasi zueigenen Betriebssystemen

I Hypervisor-Technologie (aus den 60er/70er Jahren) wird zur StandardtechnologieI Betriebssysteme sollen als Host für andere Betriebssysteme arbeitenI Grundlage der meisten heutigen Cloud-Angebote

SoSe 2018 · M. Werner 18 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Seit 2000 (Forts.)

I Energie-Management alsBetriebssystemfunktion inmobilen Geräten

I Dienste verlagern sich ins NetzI Immer größerer Fokus auf Aspekt

der Verteilung (Thin Client, Grid-und Cloudcomputing)

SoSe 2018 · M. Werner 19 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – Einführung1.2 Geschichte

Seit 2000 (Forts.)

I Neue Hardware . . .

I . . . für Ein- und Ausgabe verlangt neueBedienkonzepte

I TouchI SpracheI 3D

I . . . zur Berechnung verlangt neueAusführungsmodelle

I GPUI Cell-ProzessorI Cyber-physical Systems

SoSe 2018 · M. Werner 20 / 21 osg.informatik.tu-chemnitz.de

Betriebssysteme – EinführungReferenzen

Referenzen

� [Sta04] W. Stallings. Operating Systems: Internals and Design Principles.Prentice Hall, 2004, Chapter 2

� [Han00] Per Brinch Hansen, Hrsg. Classic operating systems: from batchprocessing to distributed systems. Springer, 2000

® [Bow] Jonathan Bowen. The Virtual Museum of Computing. URL:http://museums.wikia.com/wiki/VMoC

SoSe 2018 · M. Werner 21 / 21 osg.informatik.tu-chemnitz.de