1 E
INLEITUNG1.1 Aufgaben eines Betriebssystems
DIN 44300: Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen.
Aufgabenbereiche
- Abbildung der Benutzerwelt auf Maschinenwelt - Organisation und Koordination des Betriebsablaufs - Steuerung und Protokollierung des Programmablaufs
Nutzer
Nutzerprogramme Betriebssystem
Hardware Speicher Prozessor E/A Betriebs- mittel
Programme zur geregelten Verwaltung und Benutzung von Betriebsmitteln.
=> Vorlesungsinhalt
Wie erfüllt ein Betriebssystem diese Aufgaben?
- Struktur, Konzepte, Algorithmen und Datenstrukturen, die betriebssystemintern wesentlich sind - Schnittstellen zur Umgebung
Motivation
- für Nutzer (Verständnis im Umgang mit gegebenen Betriebssystemen)
- für Entwickler systemnaher Programme (Tiefes Verständnis gegebener Betriebssysteme ist zur Abstimmung der Programme auf das Betriebssystem notwendig)
- für Betriebssystementwickler (Architekturkonzepte für Betriebssysteme)
- für Software-Entwickler (Konzepte, Algorithmen und Datenstrukturen können auch l losgelöst vom Kontext 'BS' in Software-Produkten Verwendung finden
1.2 Hardware-Aufbau
Zentral- speicher
Prozessor E/A Steuerung Prozessor
Prozessor
Gerät Gerät Geräte ss Gerät Gerät
- Ein-/Mehr-Prozessor-Maschinen - Universal-/Spezial-Prozessoren - Prozessortyp
* Register/Keller/Akku
* Unterbrechungswerk - Daten- und Steuerwege
* Punkt-zu-Punkt
* Unibus-Konzept - Zentralspeicher
* Wortorganisation
* virtuelle Adressierung vorbereitet
* schnelle Zwischenspeicher - Ein/Ausgabesystem
* Ein/Ausgabeprozessoren
* Kanäle (FIPS,SCSI, usw.)
* integrierte Steuerungen - Geräte und Anschaltungen
* Wortweiser / Block-Transfer
* Intelligente Anschaltungen
* Direkter Speicherzugrif
* Interrupts / Polling
1.3 Funktionsweise einer "von Neumann" - Maschine
Registersatz Befehlszeiger Status Daten-/Adreß- register Spezialregister Hilfsregister Steuerwerk
Rechenwerk Prozessor
Speicher E / A
Befehle / Daten
Speicher: Befehle und Daten
Prozessor: Grundzyklus zur Befehlsbearbeitung
Unterbrechung ? Umschalten:
Befehlszeiger, Status ja
Befehl (Befehlszeiger) aus Speicher Befehlszeiger erhöhen
Operanden aus Speicher/Register/Status/BZ Operanden verknüpfen
Ergebnis(se) nach Speicher / Register / Status / BZ
Befehl 'holen'
Befehl 'verarbeiten'
Programmausführung:
- Prozeß aus Befehlsbearbeitungen
- Prozeß benötigt Betriebsmittel: Prozessor, Speicher, E/A-Geräte
1.4 Betriebsarten
Gliederung nach Verhalten bezüglich Nutzern - Batch-Betrieb
Auftrag: Steuerdaten, Eingabe an Programme mit Abgabe vollständig definiert.
Keine Interaktion mit Nutzer während Bearbeitung Reaktionszeit unkritisch
- Dialog-Betrieb
Aufträge werden in Dialog-Sitzung definiert, ausgestoßen und überwacht.
Interaktionen mit Nutzer während Bearbeitung möglich Reaktionszeit im Sekundenbereich
- Realzeit-Betrieb
Auftrag: Kontrolle eines realen Prozesses
Bearbeitung sieht echtzeit-abhängigen Datenaustausch mit Spezialperipherie vor
Reaktionszeit z. T. wesentlich kleiner als 1 Sekunde
Gliederung nach Anzahl gleichzeitiger Nutzer - Ein-Nutzer-Betrieb
Anlage ist vollständig zur Abwicklung der Aufträge eines Nutzers reserviert - Mehr-Nutzer-Betrieb
Anlage erkennt, verwaltet und bearbeitet simultan die Aufträge mehrerer Benutzer
Gliederung nach innerer Organisation - Ein-Prozeß-Betrieb
Vor Start eines neuen Prozesses: Terminierung des Vorgängers - Mehr-Prozeß-Betrieb
Zeitlich verschränkte Bearbeitung mehrerer Prozesse
=> kombiniert
- Time-Sharing-Betrieb
Mehr-Nutzer-, Dialog-, Mehr-Prozeß-Betrieb
1.5 Historische Entwicklung
1955Programmierung in Maschinensprache Ein-Prozeß-, Ein-Nutzer-, "Batch"-Betrieb Ablaufsteuerung durch Bedienfeld
-> kein Betriebssystem
1960Programmierung in Assemblersprache, höheren Programmiersprachen -> erste Betriebssystemkomponenten
- Dienstprogramme
- Unterprogrammbibliotheken für E/A und mathematische Funktionen Autonome E/A-Prozessoren
Mehr-Prozeß-, Mehr-Nutzer-Betrieb - Virtuelle Speicherung
- Datei-Systeme, logische E/A
- komplexe Ablauforganisation, Prozeß- und Betriebsmittelverwaltung 1970Erschließung breiter Anwendungsgebiete
- Datenbankhaltung (Datenbanken) 1975Kostenreduktion
dedizierte Systeme, Realzeit-Systeme Dezentralisierung
- Interrechnerkommunikation - Dialogführung (Masken)
1980Kostenreduktion, Leistungssteigerung
Arbeitsplatzrechner mit Großrechnerleistungen - lokale Netze (LAN)
- räumlich verteilte Netze (WAN) - Maus- und Fenster-Dialog
- intelligente Mensch/Maschine-Kommunikation 1985Kostenreduktion, Leistungssteigerung
Personal-Computer mit Großrechnerleistungen - lokale Netze (LAN)
- räumlich verteilte Netze (WAN) - Graphische Benutzeroberflächen - DOS, UNIX, Windows
Geschichte des BS 2000
1964IBM kündigt System /360 an
RCA versucht /360 nachzubauen => SPECTRA
entwickeln eigenes BS => VMOS (200.000 Zeilen Assembler- Code)
1965SIEMENS kooperiert mit RCA => 4004
=> BS 2000 1970 RCA gibt auf
SIEMENS und UNIVAC übernehmen Hardware und Betriebssystem 1978BS 2000 wird Mainline bei SIEMENS
1984BS 2000 wird auf IBM /370 Hardware umgestellt
1991BS 2000 V.10 (ca. 2 Mio Zeilen Code, teils Assembler, teils SPL)
Geschichte von UNIX
1965 Bell Laboratories (Tochter von AT&T) entwickelt MULTICS 1968 Projekt "Space Travel" unter Multics.
"Space Travel" wird auf PDP 7 portiert werden 1969 Ken Thompson schreibt Betriebssystem für PDP 7,
um dort Programme entwickeln zu können
Name: U N I X (wegen Abgrenzung zu MULTICS) 1971 Dennis Ritchie entwickelt die Sprache C
UNIX wird in C neu geschrieben.
1973 UNIX V5 - Hauptsächlich für Ausbildungszwecke Universitäten erhalten UNIX geschenkt
1975 UNIX V6
Nur Source-Lizenzen, Keine Wartung 1979 UNIX V7
Beliebig große Dateien, Standard E/A-Bibliothek 500 UNIX-Anwender
Paralell: BSD UNIX 4.1 (Berkley UNIX von University of California)) 1981 UNIX SYSTEM III (AT&T)
1983 UNIX SYSTEM V (AT&T)
1984 ca 100.000 UNIX Installationen