1.2 Entwicklungsgeschichte Der Begriff operating system wurde in den frühen 60er Jahren in den USA geprägt und in Deutschland als Betriebssystem übernommen. (franz.: système d'exploitation) Zunächst später dann dazu Stapelbetrieb, Teilnehmerbetrieb, Einplatzsysteme, Client/Server-Betrieb. bs-1.2 1
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. bs-1.2 2
1980 4. Generation: Personal Computing MS/DOS Höchstintegr. Fenstersysteme Apple Lisa, Mac (VLSI), chips MS Windows Client/Server-Systeme SunOS 1990 Schnelle Netze Verteilte Betriebssysteme Amoeba Middleware CORBA Linux 2000 Mobilkommunikation, MS Windows/CE Laptops, Handhelds, MS.NET SmartCards, RFIDs, JavaCard bs-1.2 3
Perspektive: 2010 sichere BS? 2020 2030 Quantenrechner? QuantenBS? Aktuelle Forschung: Sichere Betriebssysteme Middleware Hochleistungs-Dateisysteme bs-1.2 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! bs-1.2 5
Arbeitsspeicher Residenter Lader 0 freier Speicher 16 K bs-1.2 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) bs-1.2 7
Rechner Ausgabe drucken Eingabe lesen bs-1.2 8
Residente Systemsoftware: Lader Ein/Ausgabe-Routinen ( braucht jedes Programm ) Auftragssteuerung (monitor) überprüft jede Karte; erkennt Steuerkarten; veranlasst Auftragswechsel, Auftragsabbruch bei Fehler. Laden von Übersetzern, von übersetzten Programmen; wird nach Anschalten des Rechners geladen von Urlader (bootstrap loader) bs-1.2 9
Arbeitsspeicher E/A-Routinen 0 Lader Monitor freier Speicher 128 K bs-1.2 10
Arbeitsspeicher E/A-Routinen 0 Lader Monitor Dienstprogramme auf Magnetband: Übersetzer, Binder,... freier Speicher 128 K bs-1.2 11
Durchsatzerhöhung durch Überlappung von Lesen Verarbeiten Drucken (off-line input/output) Verarbeitungs- Rechner Eingaberechner Ausgaberechner
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 bs-1.2 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 durch zeilenweises Eintippen von Befehlen in einer Befehlssprache (command language) (vgl. 1.2.2) Ausführung im Mehrprozessbetrieb (Oft auch noch Stapelbetrieb/Teilnehmerbetrieb zugleich.) bs-1.2 14
Multiplexer Zentraleinheit mit Teilnehmer- Betriebssystem weitere Peripherie bs-1.2 15
1.2.4 Client/Server-Systeme mit graphischer Benutzerschnittstelle Kleinrechner (workstations, PCs, Laptops,...) anstelle von unintelligenten Terminals Fenstersysteme: Benutzer steuert die gewünschten Vorgänge im wesentlichen mit der Maus (Klicks, Doppelklicks, Bewegung, drag-and-drop,...) (Oft auch noch Befehlssprache in Terminal-Fenster)? Zukunft: multimediale Benutzerschnittstelle, eventuell mit gesprochener Befehlssprache bs-1.2 16
Netz Dienstanbieter (server) Klienten (clients) weitere Peripherie bs-1.2 17