1 / 27

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.

Download Presentation

1.2 Entwicklungsgeschichte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Hardware Betriebssoftware Beispiele 1950 1. Generation:Lader IBM 704 Röhren 1960 2. Generation:Stapelsysteme mit IBM 7090, Zuse Z 23, Halbleiter Spooling (Bänder, Trommeln, Telefunken TR 4 Platten 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/DOS Höchstintegr. Fenstersysteme Apple Lisa, Mac (VLSI), „chips“ Client/Server-Systeme SunOS 1990 Schnelle Netze Verteilte Betriebssysteme Amoeba Middleware CORBA

  3. Perspektive: 2000 Mobile Rechner, eingebettete BS JavaCard allgegenwärtig ... Windows/CE 2010 sichere BS ? 2020 2030 Quantenrechner? QuantenBS ? Aktuelle Forschung: • Betriebssystem-Familien • Persistente Betriebssysteme • Sichere Betriebssysteme • Middleware

  4. 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 und entfernt sich zum Schluss selbst  Ladetaste betätigen: startet Laden eines selbstladenden Laders und startet diesen Lader wie , aber Lader im Speicher belassen !

  5. Arbeitsspeicher 0 16 K Residenter Lader freier Speicher

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

  7. Rechner Ausgabe drucken Eingabe lesen

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

  9. Arbeitsspeicher 0 128 K E/A-Routinen Lader Monitor freier Speicher

  10. Arbeitsspeicher 0 128 K E/A-Routinen Lader Monitor freier Speicher Dienstprogramme auf Magnetband: Übersetzer, Binder, .....

  11. Durchsatzerhöhung durch Überlappung von Lesen – Verarbeiten – Drucken (off-line input/output) Verarbeitungs- Rechner Eingaberechner Ausgaberechner

  12. 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 ! Eingabebereich Ausgabebereich Dienstprogramme Benutzerdateien

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

  14. Multiplexer Zentraleinheit mit Teilnehmer- Betriebssystem weitere Peripherie

  15. 1.3 Architektur von Betriebssystemen Zentrale Aspekte:  Schichtenstruktur Monolithischer Kern oder Mikrokern aufrufbasiert oder auftragsbasiert  Objektorientierung

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

  17. 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 Hardware Schicht n benutzt die Schichten n-1, n-2, ...

  18. 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,..

  19. 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,.. Systemschnittstelle . . Schicht 3 Schicht 2 Schicht 1 Hardware abstrakte Maschine 3 abstrakte Maschine 2 abstrakte Maschine 1 reale Maschine

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

  21. Typische Schichtung heutiger Betriebssysteme: 6 Befehlsinterpretierer Benutzerprogramme 5 FenstersystemMiddleware 4 E/A-Verwaltung Netzkommunikation 3 Dateiverwaltung 2 Speicherverwaltung 1 Prozeßverwaltung 0 Hardware

  22. 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 x86 vmware simuliert Intel x86

  23. 1.3.2 Kern oder Mikrokern Monolithischer Kern(kernel): das gesamte Betriebssystem (im engeren Sinn) ist in einemAdressraum 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.

  24. 1.3.3 Aufruf- oder auftragsbasiert Zur Erinnerung:  aufrufbasiert: Diensterbringer ist Prozedur/Modul/Objekt und wird vom Klientenprozess mit Aufruf angesprochen  auftragsbasiert: Diensterbringer ist Prozess und wird vom Klientenprozess mit Auftragserteilung angesprochen

  25. Bei Betriebssystemen: „Dienst“ ist ein Systemdienst, entweder an der Systemschnittstelle oder 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

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

  27.  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ßlichTypen und Objekte, • auch für die Benutzerprogramme – • unterstützt durch entsprechende Adressraum-Strukturierung Beachte: Das Objektmodell eines objektorientierten Betriebssystems ist programmiersprachenunabhängig

More Related