Betriebssysteme

Geschichte

Geschichte

Den Ausgang nahmen in den 40er Jahren fixverdrahtete Rechenmaschinen, die für ganz spezielle, eng umgrenzte Aufgaben (meist primitive Rechenoperationen) eingesetzt wurden. Hier gab's noch kein so genanntes Betriebssystem. Die Weiterentwicklung führte nun über Maschinen, die man mit austauschbaren verdrahteten Programmtableaus steuerte, zu den ersten SW-gesteuerten Maschinen in den 50er Jahren mit der Bezeichnung single stream batch processing systems (es wurde immer nur ein Job durchgeführt).

In den 60er Jahren wurde dann ein batch processing system geschrieben. Dieses hatte die Aufgabe mehrere Jobs zur gleichen Zeit zu bedienen. In dieser Ära wurde praktisch für jeden "Computer-Typ" ein Betriebssystem geschrieben.

Einführung

Unter kommerziellen Computersystemen versteht man Rechnerarchitekturen und Betriebssysteme, die im höchsten Maße durch allgemeine Verwaltungsaufgaben und deren sprunghaftes Wachstum geprägt sind.

Folgende Betriebssysteme möchte ich in dieser Ausarbeitung näher behandeln:

MVS/ESA

VM/ESA

UNIX

MS-DOS

MS-OS/2

Definition

Erst in den 60ern ist das erste den heutigen Begriffen entsprechende Betriebssystem auf den Markt gekommen. Im wesentlichen versteht man darunter jene Software, welche für das allgemeine Ressource Management eines Computersystems zuständig ist. Der Begriff Ressource ist im Laufe der Geschichte starken Wandlungen unterworfen gewesen. Früher hat man darunter ausschließlich HW-Ressourcen gemeint, mittlerweile versteht man durchaus SW-Services, Datenbanken, etc..

Die wesentlichen logischen Bestandteile eines Betriebssystems sind:

Schnittstellen für Mensch/Maschinen Kommunikation

Schnittstellen zu Applikationen für spezielle Systemservices

Verwaltung der HW-Ressourcen

Kommunikation zu Peripheriesubsystemen und anderen Computersystemen

Betriebssystemumgebung

Betriebssysteme können und dürfen nur in ihrem unmittelbaren Wechselspiel zwischen Rechnerarchitektur, Anforderungen und Handhabung betrachtet werden. Beurteilungen der Effizienz von verschiedenen Betriebssystemen sind nur dann gültig, wenn es sich um das gleiche Umfeld handelt. Vergleiche über Architekturgrenzen hinaus sind sinnlos, denn Betriebssysteme werden auch heute noch für eine Hardware maßgeschneidert wie auch umgekehrt.

Grundzüge von MVS

MVS ist ein sogenanntes "dedicated system", das eine genau definierte reale Hardware-Umgebung benötigt und selbständig verwaltet. Das Design orientierte sich an folgenden Vorgaben:

hoher Durchsatz

hohe Verfügbarkeit

hohe Sicherheit

hohe Servicierung

hohe Kompatibilität

Die eigentliche Bedeutung war das Batchprocessing, jedoch hat sich gerade MVS als das Betriebssystem für heterogene Workload herausgestellt. Workloadtypen wie Batch, TSO (Time Sharing Option), CICS, TP und NIC stellen eine breite Anforderung an MVS. Um diesen unterschiedlichen Anforderungen gerecht zu werden, gibt es innerhalb von MVS viele Möglichkeiten einer sogenannten maßgeschneiderten Prozeßsteuerung.

Folgende Forderungen stellen die Workloadtypen:

BATCH: über JES2 wird ein AS für ein durchzuführendes Programm eingerichtet und an den Dispatcher übergeben. Dieser Prozeß läuft für den Startenden im Hintergrund. Mit Batch werden heute große Datenmanipulationen durchgeführt - bedingt durch die lange Laufzeit ist das keine zeitkritische Anwendung.

TSO: ist zusammen mit einem Produkt ISPF ein menügesteuertes Onlinesystem für universelles Arbeiten. SQL-DB2, Editor, Jobsteuerungstools, Datenmanipulationshilfen, Compiler und vieles mehr ist in TSO aufrufbar. Daher ist eine gute Antwortzeit erforderlich, um effizient arbeiten zu können.

CICS: ist ein Subsystem, das strikt auf Transaktionsverarbeitung orientiert ist. Das bedeutet, dass CICS für eine schnelle und effiziente Durchführung von (CICS-) Programmen konstruiert wurde. CICS ist eigentlich der Paradefall der Onlineverarbeitung und ist zeitkritisch zu behandeln.

IMS: besteht aus einem Trägersystem, das für die Kommunikation zuständig ist, und einem Datenbankteil, der prinzipiell ein hierarchisches Datenmodell erlaubt. Ähnlich CICS ist IMS strikt onlineorientiert.

TP: darunter versteht man alle Aufwendungen, um ein Netzwerk zu bedienen und zu steuern.

NIC: beschäftigt sich mit rechenintensiven Verarbeitungen. NIC ist durch hohen (parallelen) CPU-Bedarf und hohen Speicherbedarf charakterisiert. Im Bereich von CAD und Imageverarbeitung ist das Antwortzeitverhalten dominant.

Die Entwicklung von MVS ging gekoppelt mit der Entwicklung der Anforderungen. Ausgehend von Batch gewann der Online-Betrieb (TSO, CICS) immer mehr an Bedeutung. Da ein Onlinebetrieb sehr stark von der Verfügbarkeit abhängt, wurden im Bezug auf Sicherheit große Entwicklungen durchgeführt.

Beispiel:

MVS besteht aus mehreren parallel laufenden Adreßräumen, denen aber das gesamte MVS-Environment im Zugriff steht. Im wesentlichen teilt sich MVS in System-, Applikations- und TSO-User-Adreßräumen. Die System-AS' s (auch Subsysteme genannt) sind für die allgemeine Verwaltung und Kommunikation zwischen den einzelnen AS' s zuständig. Unter dem Gesichtspunkt von riesigen Steuerungsanforderungen, die in der Vergangenheit manuell durchgeführt wurden, sind in den letzten Jahren massive Anstrengungen unternommen worden um den größten Teil der Arbeit automatisch durchzuführen. Automation kristallisiert sich momentan als das bestimmende Element für die Systemsteuerung heraus, der den Mensch nicht mehr als "Bediener" sondern als "Manager" des Großsystemes unterstützt. Zu diesem Zweck wurden einige Subsysteme eingerichtet, die kontinuierlich Schutz-, Steuerungs- und Kontrollfunktionen wahrnehmen.

Grundzüge von VM

Ein VM ist eine Illusion einer realen Maschine. Das VM Operating System stellt jedem "User" seine eigene Hardware zur Verfügung, d.h. die Aufteilung aller realen Prozessoren mit Peripherie auf alle seine User. Unter einem VM-User versteht man eigene VM-Maschinen, welche MVS, VM, AIX, VSE oder CMS in eigenen "Partitions" betreibt. VM ermöglicht somit das mehrere (auch unterschiedliche) Operating Systems unter VM-Kontrolle laufen. Die so ermöglichte Schachtelungstiefe von VM hat eigentlich nur Performance-Grenzen - jede "subverwaltete Maschine" erzeugt verständlicherweise einen erhöhten Verwaltungsaufwand.

Diese sogenannten Guest-Systems können in zwei Kategorien eingeteilt werden:

Virtual Guest: VM stellt seinem User einen virtuellen Bereich (CPU, Storage, I/O-Einheiten) zur Verfügung und übernimmt, ähnlich dem "Virtual-Storage-Konzept" von MVS, die Verwaltung aller zugeteilten Ressourcen.

Preferred Guest: VM stellt dem Guest Operating System eine reale Umgebung zur Verfügung und das Guest-System übernimmt eigenständig die Verwaltung.

Grundzüge von UNIX

Aus der Vielzahl der angebotenen UNIX-Systeme haben sich drei Hauptlinien herauskristallisiert:

UNIX-System V (AT&T),

XENIX (Microsoft) und

BSD 4.x (Universität Berkeley).

In den 70er Jahren wurde UNIX schrittweise verbessert erprobt, getestet und verschiedentlich portiert, was schließlich seine Eignung als Betriebssystem für interaktive Rechnersysteme bewies.

Gründe für den Erfolg des UNIX-Systems:

UNIX ist klar getrennt in einen kleinen Systemkern, der alle Hardwareabhängigkeiten behandelt, und die aufsetzenden System- und Anwenderprogramme, die nahezu unabhängig von der Hardware sind. Es ist deshalb besonders leicht portierbar.

Das System ist in der höheren Programmiersprache C geschrieben. Es ist dadurch leichter zu lesen, zu verstehen und zu ändern als in Maschinensprache geschriebene Systeme. Man hat abgeschätzt, dass das erste System in C etwa 20 bis 40 % größer und langsamer war als eine Version in Assembler, dass aber die Nachteile in der Laufzeit bei weitem durch die Vorteile einer höheren Sprache wettgemacht werden. Zudem wurde der Laufzeitnachteil durch optimierende Codegenerationen weitgehend kompensiert.

UNIX wird aufgrund seiner Portabilität heute auf CISC- und RISC-Prozessoren bzw. Mono- und Multiprozessorsystemen eingesetzt. Es ist technisch ständig weiterentwickelt worden.

UNIX hat eine einfache, kompakte Benutzerschnittstelle, die dem Anwender eine Vielzahl von wünschenswerten Werkzeugen zum Bearbeiten von Daten und zum Editieren von Texten bietet. Dies galt insbesondere für Programmierer und Systementwickler zu der Zeit, als UNIX entstand. Heute bieten objekt- und menüorientierte grafische Oberflächen zusätzlich völlig neue Möglichkeiten.

Es besitzt einen Kommandointerpreter (Shell) und weitere Mechanismen (Filter, Pipes), mit deren Hilfe komplexe Programme mit einfachen Werkzeugen effizient aufgebaut werden können.

Mit seinem Dateisystem können beliebige hierarchische Strukturen leicht organisiert und gepflegt werden.

UNIX benutzt für alle Daten ein einheitliches konsistentes Format, den "Byte Stream". Die Dateien sind dabei herkömmlicher Art (Regular Files) oder sie repräsentieren serielle Geräte (Special Files). Die unterschiedlichen Bedieneinheiten und Peripheriegeräte werden über dieselbe Dateischnittstelle bedient.

Die grundlegende Struktur von UNIX:

Der Systemkern kommuniziert als einziger direkt mit den Hardwarekomponenten und entkoppelt so die im Benutzermodus abgewickelten System- und Anwenderprogramme von der Hardware. Bereits der Systemkern ist zum überwiegenden Teil in der höheren Programmiersprache C geschrieben. Die im Benutzermodus ablaufenden Programme enthalten praktisch keine in Maschinensprache geschriebenen Teile. Der Kern enthält die Software zur Bedienung der Zentraleinheit, der Hauptverbindungen (Busse) und der verschiedenen Steuereinheiten (Controller) für die lokale und entfernte zeichen- oder blockorientierte Peripherie. Er enthält außerdem die Prozeß-, die Speicher- und die Dateiverwaltung.

Die Kommunikation zwischen Kern und aufsetzenden Programmen erfolgt ausschließlich über Systemaufrufe. Diese Schnittstelle wird dem Anwender in Form von Bibliotheksfunktionen bereitgestellt, die er in sein Programm einbindet.

Grundzüge von MS-DOS

MS-DOS wurde in Assembler und C geschrieben und besteht im wesentlichen aus den drei Teilen:

BIOS (Basic Input/Output System),

MS-DOS-Kernel und

Dienstprogramme.

BIOS

Das BIOS enthält von der Hardware abhängige, residente Routinen, die mittels Treibern die Voraussetzungen für den physikalischen Zugriff auf Bildschirm, Tastatur, Drucker und Kommunikationseinrichtungen schaffen. Gesteuert werden weiterhin die Echtzeituhr mit Datum, der Konfigurationsspeicher und der Mechanismus zum Urladen des Betriebssystems (Bootstrap Loader). In den meisten PC ist das BIOS in einem fest programmierten Speicher (EPROM) abgelegt.

MS-DOS-Kernel

Der Betriebssystemkern MS-DOS-Kernel implementiert von der Hardware unabhängige Systemfunktionen u.a. für:

Externspeicher-Verwaltung (File und Record Management),

Hauptspeicher-Verwaltung (Memory Management),

Ein-/Ausgabe-Steuerung von zeichenorientierten Geräten (Bildschirm, Tastatur, Drucker) und

Zugriff auf die Realtime-Clock.

Der MS-DOS-Kernel wird während der Systeminitialisierung vom Urlader bereitgestellt und initialisiert. Neben den speicherresidenten Treibern im Kernel gibt es in MS-DOS noch installierbare Treiber, die während des Systemstarts geladen werden. Viele PC-Hersteller stellen solche Treiber für ihre spezifischen Produktkonfigurationen zur Verfügung.

Dienstprogramme

Eine Reihe verschiedener Dienstprogramme sind Bestandteil von MS-DOS. Weitere Dienstprogramme werden üblicherweise von den PC-Herstellern mitgeliefert und dienen u.a. der leichteren Installation des Systems sowie der Platteninitialisierung.

Grundzüge von MS-OS/2

Folgende Limitierungen in MS-DOS waren ausschlaggebend für die Entwicklung eines neuen Betriebssystems:

Einschränkung vieler Anwendungen durch die unzureichende Adreßraumgröße von 640 Kbyte,

unvollständige Systemintegrität, fehlender Speicherschutz, keine Unterstützung des Prozessors 80286 in seinem originären Betriebsmodus, dem sogenannten "Protected Mode",

kein Multitasking, und damit keine Möglichkeit, Hindergrundprozesse ablaufen zu lassen,

geringe Verarbeitungsleistung von MS-DOS bei der Ein-/Ausgabe- und bei Grafikoperationen, speziell bei 8088-Systemen, mit der Folge, dass die Anwendungen oft selbst hardwarenah programmiert waren und deren Aufrufe damit am Betriebssystem vorbei liefen und

die bezüglich der Bildschirmausgaben und des Zugangs durch höhere Programmiersprachen eingeschränkte MS-DOS-Anwenderprogrammierschnittstelle ("API").

Folgende Anforderungen werden von MS-OS/2 erfüllt:

Multitasking, also die Möglichkeit, mehrere Programme konkurrierend zueinander ablaufen zu lassen,

Effizientes Memory Management, also Speicherverwaltung mit Nutzung folgender Hardwarefunktionen:

Speicherschutzmechanismus (Protected Mode) zum störungsfreien Ablauf bei Parallelverarbeitung; damit Aufrechterhaltung der Systemintegrität und das Erkennen von Datenverfälschungen,

virtuelle Adressierung,

Ein-/Ausgabeschutz,

Hardware-Speicherausbau bis max. 16 Mbyte und

virtueller Adreßraum pro Prozeß max. 1 Gbyte

Dynamic Linking mit der Möglichkeit, erst zum Zeitpunkt des Ablaufs Programmteile zu laden und sie mehrfach verwendbar zu machen,

Application Programming Interface (API) zur Nutzung höherer Programmiersprachen,

Interprozeß-Kommunikationseinrichtungen und Unterstützung kooperierender Prozesse zur Überbrückung kritischer Systemzustände,

benutzerspezifische Systemerweiterungen durch austauschbare Subsysteme,

Datenkompatibilität zwischen MS-DOS und MS-OS/2,

Aufwärtskompatibilität und Abwärtskompatibilität und

Netzwerkkompatibilität zwischen MS-DOS und MS-OS/2-Arbeitsplatzsystemen.

1654 Worte in "deutsch"  als "hilfreich"  bewertet