1.2 Entwicklungsgeschichte

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 6 Betriebssysteme - Einführung
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Programmorganisation
Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand Monolithische.
Betriebssysteme.
Informatik Tagesprotokoll vom
FU Berlin SS 2003 Klaus-Peter Löhr
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Netzwerke im Dialogmarketing
Netzwerke im Dialogmarketing
WS 2009/10 1 Systeme 1 Kapitel 2 Betriebssysteme.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Windows Universität zu Köln
Client-Server-Architekturen
Sebastian Grahn Sebastian Kühn
7 Verteilungsabstraktion
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
DVG Einführung in Java1 Einführung in JAVA.
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
Referat zum Thema „DLL“
Entwicklung verteilter eingebetteter Systeme - Einführung
Speicherverwaltung durch Swapping
Einführung in betriebssysteme
Betriebssysteme allgemein
Präsentation von Alexander Schönfeld
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Software und Programme
Entwicklung der Programmiersprachen
Das Betriebssystem.
Basic Input/Output System
Betriebssysteme & BIOS
Service Computing   Prof. Dr. Ramin Yahyapour IT & Medien Centrum 19. Januar 2010.
Öffnen und Laden Aktenordner Symbol in der Symbolleiste oder in der Menüleiste unter [Datei] [Öffnen] anklicken Laufwerk und Verzeichnis auswählen, auf.
Eine Präsentation von Peter Rasser
Überblick über die Datenbankproblematik
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Wer macht was beim Einschalten des Rechners?
Herzlich Willkommen zu meiner Präsentation
Systemsoftware und Betriebssysteme
Funktionen und Hauptaufgaben Die Entwicklung BIOS
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Betriebssysteme: Windows-OS
Datenbanken im Web 1.
Betriebssysteme I: Windows
2.3 Implementierung von Prozessen
Betriebssysteme: Windows
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
User Mode Linux Sven Wölfel 1. Juni User Mode Inhalt  Was ist UML?  Wofür kann man UML benutzen?
1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Ein Leitfaden der erklärt, wie und aus was ein PC-System gebaut ist.
Mainboard Kolbe, Klein, Hollermann.
2.6 Erinnerung: Programmverwaltung Quellencode (getrennt übersetzbare Programmteile) (source code) Übersetzer (compiler, assembler) Objektcode
Komponenten des Computers
Objektorientierte (OO) Programmierung
Betriebssysteme Was ist ein BS?
Betriebssysteme: Theorie
Ablauf von Daten- verarbeitungsprozessen Gliederung: ● Zeitliche Steuerung von Abläufen – Druckauftragsverarbeitung – scheinbare Gleichzeitigkeit von Prozessen.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
 Präsentation transkript:

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

Betriebssystem-Familien Persistente Betriebssysteme 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

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 !

Arbeitsspeicher 16 K Residenter Lader freier Speicher

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)

Rechner Ausgabe drucken Eingabe lesen

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)

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

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

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

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

Zentraleinheit mit Teilnehmer- Betriebssystem Multiplexer 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 3 Schicht 2 Schicht 1 Hardware Schicht n benutzt die Schichten n-1, n-2, ...

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

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

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 x86 vmware 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/Objekt und wird vom Klientenprozess mit Aufruf angesprochen  auftragsbasiert: Diensterbringer ist Prozess mit Auftragserteilung angesprochen

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

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

 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