1.2 Entwicklungsgeschichte Begriff Operating System wurde in den 60er Jahren in den USA geprägt und...

Preview:

Citation preview

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.

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

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

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 !

Arbeitsspeicher

Residenter Lader

freier Speicher

0

16 K

1.2.2 Stapelsystem(batch system)

bearbeitet ohne manuellen Eingriff eine Folge vonAufträgen (jobs), die als Lochkartenpakete beimOperateur (operator) abgegeben werden.

Es gibt Programmkarten, Datenkarten, Steuerkarten.

Steuerkarten enthalten Steuerbefehle in einer

Auftragssteuersprache (job control language)

Rechner

Eingabe lesen

Ausgabe drucken

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)

E/A-Routinen

Lader

Monitor

freier Speicher

0

128 K

Arbeitsspeicher

E/A-Routinen

Lader

Monitor

freier Speicher

0

128 K

Dienstprogrammeauf Magnetband:

Übersetzer,Binder,.....

Arbeitsspeicher

Durchsatzerhöhung durch Überlappung von

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

Eingaberechner Ausgaberechner

Verarbeitungs- Rechner

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!

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.)

Zentraleinheitmit

Teilnehmer-BetriebssystemM

ultip

lexe

r

weitere Peripherie

1.3 Architektur von Betriebssystemen

Zentrale Aspekte:

Schichtenstruktur

Monolithischer Kern oder Mikrokern

aufrufbasiert oder auftragsbasiert

Objektorientierung

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.

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 3Schicht 2Schicht 1Hardware

. .

Schicht n benutzt dieSchichten n-1, n-2, ...

Andere – äquivalente – Betrachtungsweise:

an der Schnittstelle von Schicht 1 sieht man eineabstrakte 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,..

Andere – äquivalente – Betrachtungsweise:

an der Schnittstelle von Schicht 1 sieht man eineabstrakte 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 3Schicht 2Schicht 1Hardware

. .abstrakte Maschine 3abstrakte Maschine 2abstrakte Maschine 1reale Maschine

Systemschnittstelle

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

Typische Schichtung heutiger Betriebssysteme:

6 Befehlsinterpretierer Benutzerprogramme

5 Fenstersystem Middleware

4 E/A-Verwaltung Netzkommunikation

3 Dateiverwaltung

2 Speicherverwaltung

1 Prozeßverwaltung

0 Hardware

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

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.

1.3.3 Aufruf- oder auftragsbasiert

Zur Erinnerung:

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

auftragsbasiert: Diensterbringer ist Prozessund wird vom Klientenprozessmit Auftragserteilung angesprochen

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

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 Schichterweitern

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 objektorientiertenBetriebssystems ist programmiersprachenunabhängig

Recommended