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