27
1.2 Entwicklungsgeschichte Begriff Operating System wurde in den 60er Jahren in den USA geprägt und in Deutschland als Betriebssystem übernommen. Zunächst Stapelbetrieb, später Teilnehmerbetrieb, dann Einplatzsysteme, dazu Client/Server-Betrieb.

1.2 Entwicklungsgeschichte

Embed Size (px)

DESCRIPTION

1.2 Entwicklungsgeschichte. Begriff Operating System wurde in den 60er Jahren in den USA geprägt und in Deutschland als Betriebssystem übernommen. Zunächst Stapelbetrieb , später Teilnehmerbetrieb , dann Einplatzsysteme , dazu Client/Server-Betrieb. - PowerPoint PPT Presentation

Citation preview

Page 1: 1.2  Entwicklungsgeschichte

1.2 Entwicklungsgeschichte

Begriff Operating System

wurde in den 60er Jahren in den USA geprägt

und in Deutschland als Betriebssystem übernommen.

Zunächst Stapelbetrieb,

später Teilnehmerbetrieb,

dann Einplatzsysteme,

dazu Client/Server-Betrieb.

Page 2: 1.2  Entwicklungsgeschichte

Hardware Betriebssoftware Beispiele

1950 1. Generation: Lader IBM 704Röhren

1960 2. Generation: Stapelsysteme mit IBM 7090, Zuse Z 23,Halbleiter Spooling (Bänder, Trommeln, Telefunken TR 4Platten später auch Platten).

1970 3. Generation: Dateisysteme, virtueller Sp., IBM OS/360, TSS, ...Hochintegration Teilnehmersysteme; T.H.E., Multics, Unix(LSI) Datenbanksysteme,

Rechnernetze.

1980 4. Generation: Personal Computing MS/DOSHöchstintegr. Fenstersysteme Apple Lisa, Mac(VLSI), „chips“ Client/Server-Systeme SunOS

1990 Schnelle Netze Verteilte Betriebssysteme AmoebaMiddleware CORBA

Page 3: 1.2  Entwicklungsgeschichte

Perspektive:

2000 Mobile Rechner, eingebettete BS JavaCardallgegenwärtig ... Windows/CE

2010 sichere BS ?

2020

2030 Quantenrechner? QuantenBS ?

Aktuelle Forschung: • Betriebssystem-Familien• Persistente Betriebssysteme• Sichere Betriebssysteme• Middleware

Page 4: 1.2  Entwicklungsgeschichte

1.2.1 Residenter Lader

(resident loader) kann als „Vorläufer“ des Betriebssystems gelten

Wie kommt mein Programm in den Speicher? Alternativen:

manuell eingeben an Tasten- und Schalterfeld

Ladeprogramm manuell eingeben und starten:liest Programm z.B. von Lochkarten undentfernt sich zum Schluss selbst

Ladetaste betätigen:startet Laden eines selbstladenden Ladersund startet diesen Lader

wie , aber Lader im Speicher belassen !

Page 5: 1.2  Entwicklungsgeschichte

Arbeitsspeicher

Residenter Lader

freier Speicher

0

16 K

Page 6: 1.2  Entwicklungsgeschichte

1.2.2 Stapelsystem(batch system)

bearbeitet ohne manuellen Eingriff eine Folge von

Aufträgen (jobs), die als Lochkartenpakete beim

Operateur (operator) abgegeben werden.

Es gibt Programmkarten, Datenkarten, Steuerkarten.

Steuerkarten enthalten Steuerbefehle in einer

Auftragssteuersprache (job control language)

Page 7: 1.2  Entwicklungsgeschichte

Rechner

Eingabe lesen

Ausgabe drucken

Page 8: 1.2  Entwicklungsgeschichte

Residente Systemsoftware:

Lader

Ein/Ausgabe-Routinen („braucht jedes Programm“)

Auftragssteuerung (monitor)

überprüft jede Karte,

erkennt Steuerkarten,

veranlasst Auftragswechsel,Laden von Übersetzern,

von übersetzten Programmen

Auftragsabbruch bei Fehler

wird nach Anschalten des Rechners

geladen von Urlader (bootstrap loader)

Page 9: 1.2  Entwicklungsgeschichte

E/A-Routinen

Lader

Monitor

freier Speicher

0

128 K

Arbeitsspeicher

Page 10: 1.2  Entwicklungsgeschichte

E/A-Routinen

Lader

Monitor

freier Speicher

0

128 K

Dienstprogrammeauf Magnetband:

Übersetzer,Binder,.....

Arbeitsspeicher

Page 11: 1.2  Entwicklungsgeschichte

Durchsatzerhöhung durch Überlappung von

Lesen – Verarbeiten – Drucken (off-line input/output)

Eingaberechner Ausgaberechner

Verarbeitungs- Rechner

Page 12: 1.2  Entwicklungsgeschichte

Eingabebereich Ausgabebereich

Dienstprogramme Benutzerdateien

Alle drei Aktivitäten von einem Rechner ausführen lassen

Spooling (simultaneous peripheral operation on-line)

vorzugsweise mit Trommel, später Platte:

!Vorstufe von

Mehrprozeßbetrieb!

Page 13: 1.2  Entwicklungsgeschichte

1.2.3 Teilnehmersystem

(time-sharing system)

An einem Rechner hängen viele

Arbeitsplätze, Datenstationen (terminals)(= Tastatur + Druckwerk, später Bildschirm)

Benutzer steuert die gewünschten Vorgänge

interaktiv mittels Befehlssprache (command language)

Ausführung im Mehrprozessbetrieb

(Oft auch noch Stapelbetrieb und Teilnehmerbetrieb zugleich.)

Page 14: 1.2  Entwicklungsgeschichte

Zentraleinheitmit

Teilnehmer-BetriebssystemM

ulti

ple

xer

weitere Peripherie

Page 15: 1.2  Entwicklungsgeschichte

1.3 Architektur von Betriebssystemen

Zentrale Aspekte:

Schichtenstruktur

Monolithischer Kern oder Mikrokern

aufrufbasiert oder auftragsbasiert

Objektorientierung

Page 16: 1.2  Entwicklungsgeschichte

1.3.1 Schichtenstruktur

Eine Schicht (layer) des Betriebssystems

• ist zuständig für Verwaltung eines Betriebsmitteltyps,

• benutzt andere Schichten (durch Aufrufe),

• wobei „benutzt“ eine lineare Ordnung ist; man sagt auch:

die Schichten bilden eine funktionale Hierarchie.

Page 17: 1.2  Entwicklungsgeschichte

1.3.1 Schichtenstruktur

Eine Schicht (layer) des Betriebssystems

• ist zuständig für Verwaltung eines Betriebsmitteltyps,

• benutzt andere Schichten (durch Aufrufe),

• wobei „benutzt“ eine lineare Ordnung ist; man sagt auch:

die Schichten bilden eine funktionale Hierarchie.

Schicht 3

Schicht 2

Schicht 1

Hardwar

e

. .

Schicht n benutzt die

Schichten n-1, n-2, ...

Page 18: 1.2  Entwicklungsgeschichte

Andere – äquivalente – Betrachtungsweise:

an der Schnittstelle von Schicht 1 sieht man eine

abstrakte Maschine (abstract machine), die nicht mehr mit der

realen Maschine (Hardware) identisch ist, d.h. Teile von deren

Funktionalität verbirgt und dafür neue

Funktionalität hinzufügt – entsprechend für Schicht 2,3,..

Page 19: 1.2  Entwicklungsgeschichte

Andere – äquivalente – Betrachtungsweise:

an der Schnittstelle von Schicht 1 sieht man eine

abstrakte Maschine (abstract machine), die nicht mehr mit der

realen Maschine (Hardware) identisch ist, d.h. Teile von deren

Funktionalität verbirgt und dafür neue

Funktionalität hinzufügt – entsprechend für Schicht 2,3,..

Schicht 3

Schicht 2

Schicht 1

Hardwar

e

. .

abstrakte Maschine 3

abstrakte Maschine 2

abstrakte Maschine 1

reale Maschine

Systemschnittstelle

Page 20: 1.2  Entwicklungsgeschichte

Historisches Beispiel: Einführung des Schichtenprinzips durch

T.H.E. (Technische Hogeschool Eindhoven, Dijkstra 1967)

Stapelsystem für die Electrologica X8

5 Benutzerprogramme

4 E/A-Verwaltung (Lochstreifen, Drucker)

3 Konsolverwaltung (Operateur-Konsole)

2 Speicherverwaltung (Arbeitsspeicher, Trommel)

1 Prozeßverwaltung

0 Hardware

Page 21: 1.2  Entwicklungsgeschichte

Typische Schichtung heutiger Betriebssysteme:

6 Befehlsinterpretierer Benutzerprogramme

5 Fenstersystem Middleware

4 E/A-Verwaltung Netzkommunikation

3 Dateiverwaltung

2 Speicherverwaltung

1 Prozeßverwaltung

0 Hardware

Page 22: 1.2  Entwicklungsgeschichte

Verwandter Begriff:

Virtuelle Maschine (virtual machine, VM)

= komplett simulierte reale Maschine

Mehrere Exemplare einer VM auf einer realen Maschine

Koexistenz mehrerer Betriebssysteme möglich

Beispiele: CP simulierte IBM 360/370 (1969)bochs simuliert Intel x86vmware simuliert Intel x86

Page 23: 1.2  Entwicklungsgeschichte

1.3.2 Kern oder Mikrokern

Monolithischer Kern (kernel):

das gesamte Betriebssystem (im engeren Sinn)

ist in einem Adressraum untergebracht, der auch

häufig im Ganzen speicherresident gehalten wird.

Mikrokern (microkernel):

das Betriebssystem ist auf verschiedene Adressräume

aufgeteilt, daher leicht erweiterbar und partiell auslagerbar;

keine fest definierte „Systemschnittstelle“ mehr;

Mikrokern verwaltet Benutzer- und System-Adressräume.

Page 24: 1.2  Entwicklungsgeschichte

1.3.3 Aufruf- oder auftragsbasiert

Zur Erinnerung:

aufrufbasiert: Diensterbringer ist Prozedur/Modul/Objektund wird vom Klientenprozessmit Aufruf angesprochen

auftragsbasiert: Diensterbringer ist Prozess

und wird vom Klientenprozess

mit Auftragserteilung angesprochen

Page 25: 1.2  Entwicklungsgeschichte

Bei Betriebssystemen: „Dienst“ ist ein Systemdienst,

entweder an der Systemschnittstelleoder an einer systeminternen Schnittstelle

Aufrufbasierte Systeme:

• Prozess wandert durch verschiedene Adressräume• dynamische Prozesserzeugung für asynchrone Dienste

Auftragsbasierte Systeme:

• Adressraumwechsel nur bei Prozessumschaltung• Diensterbringung in der Regel asynchron

Page 26: 1.2  Entwicklungsgeschichte

1.3.4 Objektorientierung bei Betriebssystemen

Implementierung eines Betriebssystems:

• Assembler war lange gebräuchlich (bis etwa 1970)

• Systemimplementierungssprache (C, Modula, ...)

Schicht besteht aus mehreren Modulen,

aber ein Modul kann sich auch

über mehr als eine Schicht erstrecken

• objektorientierte Sprache (C++)

höhere Schicht kann Klasse aus tieferer Schicht

erweitern

Page 27: 1.2  Entwicklungsgeschichte

Objektorientierung an der Systemschnittstelle:

• Betriebssystem verwaltet Systemtypen

(z.B. Prozess, Semaphor, Datei, Port, ...),

von denen Objekte erzeugt werden können

(die im Adressraum des Betriebssystems liegen)

• Betriebssystem verwaltet ausschließlich Typen und Objekte,

auch für die Benutzerprogramme –

unterstützt durch entsprechende Adressraum-Strukturierung

Beachte:

Das Objektmodell eines objektorientierten

Betriebssystems ist programmiersprachenunabhängig