Michael Ziegenbalg
1.1 Die Entwicklung von Betriebssystemen
1.2 Allgemeine Einführung
Nach der DIN 44300 wird ein Betriebssystem gebildet durch "die Programme eines digitalen Rechnersystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechnersystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen."
Während der Ausführung eines Anwenderprogramms ist es in der Regel notwendig, explizit gewisse Dienste, die die verschiedenen Komponenten des Betriebssystems bereitstellen, aufzurufen.
Hierzu gehören insbesondere
die Dienste der Dateiverwaltung
der Auftragsabwicklung
der Sicherungsstrukturen
Diese Dienste nennt man explizite Betriebssystem-Dienste.
Daneben gibt es eine Reihe von Diensten des Betriebssystems, wie der
Betriebsmittelzuweisung (Hauptspeicher, Plattenplatz) oder die Kontrolle der physikalischen Geräte.
Moderne Betriebssysteme sind äußerst komplex. Die verschiedenen Betriebsarten, wie
- Time-Sharing-Betrieb (Dialogbetrieb)
Hier ist eine große Zahl von Benutzern (user) meist über Datenstationen mit einem Rechner verbunden. Diese schicken kurze Jobs (Transaktionen) an die CPU. Der Benutzer kann im Dialogbetrieb die Jobs interaktiv noch beeinflussen.
- Batch-Betrieb (Stapelverarbeitung)
Bei der Stapelverarbeitung wird ein Job vorher vollständig definiert und zusammengestellt. Während der Bearbeitung durch den Rechner kann er nicht mehr verändert werden. Typische Anwendungen der Stapelverarbeitung sind Jobs, die während der Laufzeit keine Einwirkungen von außen benötigen, wie umfangreiche mathematische Berechnungen oder Lohn- und Gehaltsabrechnungen.
- Mehrprogrammbetrieb
Er erlaubt die scheinbar gleichzeitige Bearbeitung mehrerer Jobs durch eine CPU. Die Bearbeitung der Jobs erfolgt zeitlich verzahnt.
- Realtimebetrieb ( Echtzeitverarbeitung)
Mit der Bearbeitung von Jobs im Echtzeitbetrieb sind strenge zeitliche Auflagen verbunden, d.h. sie müssen in der Regel im Millisekundenbereich abgeschlossen sein. Echtzeitbetriebssysteme finden vor allem in der Meß- und Regeltechnik ihren Einsatz.
Die große Anzahl von Parametern, die verschiedenen Datenorganisationen und Zugriffsarten erfordern eine flexible und trotzdem einfache Kommunikation des Benutzers mit dem Betriebssystem
Die Kernbestandteile eines Betriebssystems lassen sich wie folgt zusammenstellen:
- die Verwaltung der Prozesse
- die Verwaltung des Arbeitsspeichers
- die Verwaltung der Dateien
- sequentielle Dateien
- index-sequentielle Dateien
- Direktzugriffsdateien
- die Verwaltung der peripheren Geräte
- Zugangskontrolle und Datensicherheit
- Bereitstellen von LAN-Schnittstellen
- Bereitstellen von Telekommunikations-Schnittstellen
Ein Schichtenmodell geht bei seinem Aufbau davon aus, daß sich die Funktionalität eines Betriebssystems in mehrere voneinander abgegrenzte Teile zerlegen läßt, welche in eine hierarchische Ordnung gebracht werden können. Die einzelnen Funktionalitäten werden einzelnen Schichten zugeordnet und jede Schicht ist nur für ihre Funktionalität zuständig. Die Funktionalität besteht in der Regel darin, daß die einzelne Schicht Dienste anbietet, die von der darüberliegenden Schicht in Anspruch genommen wird. Benötigt die Schicht Dienste, so bekommt sie diese von der darunter liegenden Schicht angeboten. Die Schichten kommunizieren über genau definierte Schnittstellen und sind so häufig nur durch Änderung in unteren Schichten portierbar für andere Rechnersysteme.
1.2.1 Grundfunktionen von PC und Multiuser-Betriebssystemen
Kommandointerpreter nehmen Kommandos entgegen und entscheiden, ob sie durch den Interpreter selbst erledigt werden können, oder ob das Kommando aus spezifisch hierfür vorgesehenen Katalogen oder Verzeichnissen geladen werden kann.
Einfache Grundfunktionen eines PC-Betriebssystems:
1. Bereitstellen eines Kommandointerpreters
2. Laden und Starten eines Programms
3. Ausgeben von Meldungen an ein Display
1.3 Arten von Betriebssystemen
Es gibt verschiedene Arten von Betriebssystemen:
Mulitiuser: Das sind Betriebssysteme, die mehreren Benutzern den Zugang zu den Betriebsmitteln des Betriebssystem erlauben. Sie machen dies in der frühen Phase der Betriebssysteme über serielle Verkabelung, indem jedem Benutzer ein sog. Terminal mit Tastatur zur Verfügung gestellt wurde. Säter erfolgte der ZUgriff von in einem Netzwerk miteinander verbundenen Rechner, von denen einer das Multiuser-System ist. Mit den üblichen Verbindungskommandos kann man sich dann mittels einer sog. Terminal-Emulation an dem Multiuser-System anmelden.
Für Unis und als Netzwerk-Protokoll TCP/IP,kann man mittels der VT100-Terminal-Emulation PuTty an dem Unix-System Anmelden.
Ein VT100-Terminal:
Für die IBM-Mainframe-Systeme gab es eine andere Terminal-Lösung, das sog. 3270-Termina. Hier ein 3270-Terminal:
l
Multitasting: Dies sind Betriebssysteme, die mehrer Tasks (Rechenaufträge, Anwendungen) zu starten erlauben
1.4 Die Verwaltung der Prozesse
In der Informatik ist ein Prozeß ein " Vorgang einer algorithmisch ablaufenden Informationsverarbeitung".
Aus diesem Oberbegriff leiten sich einige der in der Literatur üblichen Definitionen ab:
· Ein Prozeß beschreibt den Ablauf eines Systems oder einer Systemkomponente in Raum und Zeit.
· In Betriebssystemen ist ein Prozeß ein Vorgang, der durch ein Programm kontrolliert wird, welches zur Ausführung einen Prozessor benötigt.
· Aus der Sicht der Rechnerstruktur stellt ein Prozeß das Aktivitätszentrum dar, das bei der Abarbeitung eine Folge von Anweisungen oder Operationen in einem den Prozessor steurenden Programm durchläuft.
Prozesse laufen in der Regel geordnet ab, d.h. sie werden
· geladen
· überwacht
· gestartet
· beendet
· von anderen Prozessen beeinflußt
Das Laden von Programmen:
Der Lader (engl. loader) ist ein Dienstprogramm, welches ein Programm vom Speichermedium (Diskette, Festplatte) in den Arbeitsspeicher lädt. Das Ladeprogramm übernimmt dabei ebenfalls die Adressierung der Peripherie, prüft gleichzeitig deren Status und stellt fest, ob genügend Platz im Arbeitsspeicher vorhanden ist.
Der Ladevorgang kann wie bei älteren Systemen mit absoluter Adressierung, d.h. die Adressen im Programm stimmen mit den Adressen im Arbeitsspeicher überein, geschehen.
Ein Relativlader hingegen lädt das Programm an eine beliebige freie Speicheradresse, die jeweils neu bestimmt wird. Für die hierdurch notwendige Neuberechnungen der Adressen im Programm werden diese in einer Tabelle am Anfang des Programms gesammelt.
Ein Spezialprogramm ist der Urlader oder das Initial Program Loader, der für das initiale Laden des Betriebssystems zuständig ist.
Kann der Lader ein Programm nicht vollständig in den Arbeitsspeicher transferieren, so teilt dieser das Programm in passende Segmente (beim Paging [siehe später] in Pages oder Seiten), welche dann bei Bedarf in den Speicher geladen werden.
In diesem Zusammenhang wird bei komplexeren Betriebssystemen ein weiteres Programm aktiv, das Bindeprogramm oder der Linker. Er kopiert Standardfunktionen, Prozeduren, Bibliotheksprogramme, die schon in Maschinensprache vorliegen, in das Programm ein, welches es gerade benötigt.
Es gibt hier die Formen des statischen und dynamischen Bindens. Beim statischen Binden werden die Teile zu einem zusammenhängenden Programmblock gebunden. Beim dynamischen Binden werden die vom Programm benötigten Teile zur Laufzeit an das Programm gebunden.
Programmodul
|
|
Lader
|
Maschinenprogramm ----- Arbeitsspeicher
|
|
Dynamische Binden ---- Prozessor
|
|
Unterprogramme
Bibliotheken
Prozesse kommunizieren miteinander, d.h. sie tauschen Werte aus oder benutzen gemeinsame Informationen. Hierdurch beeinflussen sie gegenseitig ihren weiteren Ablauf.
Zur Darstellung des Ablaufes von Prozessen existieren mehrere Ansätze. Der bekannteste ist die Darstellung als Petri-Netze. Der Prozeßbegriff wurde ursprünglich eingeführt, um die Beschreibung eines Programms durch eine Programmiersprache von der Ausführung des Programms auf einer Rechenanlage/einem Prozessor zu trennen.
Mehrere verschiedene Prozesse können von ein und demselben Programm kontrolliert werden, z.B. indem verschiedene Benutzer dasselbe Sortierprogramm gleichzeitig verwenden.
Andererseits kann die Ausführung einer Anweisung des Programms selbst wieder eine Reihe von Prozessen des Betriebssystems auslösen, welche die korrekte Ausführung der Anweisung steuern und überwachen.
· So löst beispielsweise die Ausführung einer Ausgabeanweisung einen Prozeß aus, der einen Ausgabewert zum Drucker oder Bildschirm transportiert,
· einen weiteren, der das laufende Programm so lange anhält, bis vom Drucker der korrekte Ausdruck bestätigt wird,
·
Verlag: BookRix GmbH & Co. KG
Tag der Veröffentlichung: 10.08.2018
ISBN: 978-3-7438-7755-9
Alle Rechte vorbehalten
Widmung:
Ich widme dieses Bändchen meinem noch nicht geborenen 4. Enkelkind (August 2018)