Grundlagen von Betriebssystemen: Batch, Echtzeit und Multiprozessing

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,52 KB

Batch-Verarbeitung und Monoprogrammierung

Das erste Betriebssystem, das als Batch-System (Stapelverarbeitung) bekannt wurde, erschien in den Anfängen der Computertechnik. Ursprünglich in Lochkarten-Systemen implementiert, erlaubten diese Systeme nur den sequenziellen Zugriff auf Informationen. Die Ausführung der Aufgaben erfolgte daher Zeile für Zeile, wobei immer nur ein Anwendungspaket zurzeit bearbeitet wurde. Das Batch-Betriebssystem lieferte sequenzielle Anweisungen, implementierte diese und lieferte anschließend das Ergebnis.

Monoprogrammierung bedeutet, dass ein System als monoprogrammiert gilt, wenn es nur eine Aufgabe zurzeit ausführen kann. Das Programm, das sich im Prozess befindet, übernimmt die CPU und die I/O-Ressourcen bis zu seinem Ende.

Es gibt mehrere Varianten der Monoprogrammierung:

  • Monoprogrammierbar linear
  • Monoprogrammierbar mit Prioritäten
  • Monoprogrammierbar mit Time-out

Multiprogrammierung

Im Gegensatz zur Monoprogrammierung ermöglicht die Multiprogrammierung, dass die CPU nicht im Leerlauf bleibt, während ein Prozess auf I/O-Operationen (z. B. Drucken) wartet. Das Betriebssystem kann in dieser Zeit andere Arbeitsaufträge bearbeiten, sodass die CPU stets ausgelastet ist. Dies erfordert ein erweitertes Speichermanagement, um die gleichzeitig ausgeführten Arbeiten zu verwalten.

Echtzeitsysteme (Real-Time Systems)

Ein Echtzeitsystem wird verwendet, wenn die Ausführungszeit von Operationen oder Datenströmen sehr strikt ist. Sie werden typischerweise als Kontrollsysteme eingesetzt.

Echtzeitsysteme werden in Klassen eingeteilt:

  • Echtzeit-Betriebssystem-Hardware: Hier ist alles in einem nichtflüchtigen Speicher (wie EPROM) abgelegt. Diese Systeme verwenden weder virtuellen Speicher noch gemeinsame Zeit (da diese ohne flüchtigen Speicher nicht realisiert werden können).
  • Echtzeit-Betriebssystem-Software: Diese werden für weniger kritische Aufgaben eingesetzt und können Techniken zur Aufgabenpriorisierung verwenden. Die Anwendungen sind begrenzt, werden aber häufig für Multimedia und die Überwachung industrieller Steuerungs-Prozesse genutzt.

Multiprozessor- und Verteilte Systeme

Multiprozessor-Systeme verfügen über mehr als eine CPU. Sie bieten in der Regel eine höhere Rechenleistung und eine verbesserte Zuverlässigkeit.

Jeder CPU wird eine Aufgabe zugewiesen. Typischerweise fungiert einer der Prozessoren als Master, der steuert, welcher Prozessor welche Anweisung ausführt (Definition einer Master/Slave-Beziehung).

Kopplungsarten

Es gibt zwei Hauptsysteme zur Kopplung von Prozessoren:

  • Stark gekoppelt (Shared Memory): Die Prozessoren teilen sich Speicher, Prozessoren und Taktgeber. Die Kommunikation erfolgt über den gemeinsamen Speicher.
  • Schwach gekoppelt (Verteilte Systeme): Die Prozessoren teilen weder Speicher noch Taktgeber. Sie sind über Hochgeschwindigkeitsstrecken oder Telefonleitungen verbunden. Diese Systeme können verschiedene Arten von CPUs umfassen (bis hin zu Mini-PCs). Nicht alle Prozessoren müssen vom gleichen Typ sein; kleine Prozessoren können zusätzlich zur Haupt-CPU verwendet werden (z. B. für Modems oder Drucker).

Symmetrische und Asymmetrische Systeme

  • Symmetrische Multiprozessor-Systeme (PTP oder lokale Netze): In diesen Netzen hat jeder Rechner eine Kopie des Betriebssystems und die gleiche Bedeutung im Netz.
  • Asymmetrische Verteilte Systeme: In diesen Systemen hat jeder Prozessor eine andere Aufgabe (definiert eine Client/Server-Beziehung). Die Prozessoren sind über Hochgeschwindigkeitsstrecken oder Telefonleitungen verbunden. Diese Computernetzwerke zeichnen sich dadurch aus, dass sich die Prozessoren in Größe und Funktion unterscheiden.

Merkmale Verteilter Systeme

Einige wichtige Merkmale von verteilten Systemen sind:

  • Gemeinsame Nutzung von Ressourcen: Ressourcen anderer Installationen (z. B. Drucker) können gemeinsam genutzt werden.
  • Beschleunigung von Berechnungen: Eine große Aufgabe kann in kleinere Transaktionen aufgeteilt und an mehrere Installationen weitergeleitet werden. Bei Arbeitsüberlastung kann die Last an andere Einrichtungen übergeben werden (Lastausgleich).
  • Zuverlässigkeit: Fällt eine Einrichtung aus, können die anderen diese ersetzen.
  • Kommunikation: Informationen können zwischen den Einrichtungen ausgetauscht werden.

Systemaufrufe (System Calls)

Systemaufrufe stellen eine Schnittstelle zwischen dem Programm und dem Betriebssystem (OS) dar. Diese werden im Allgemeinen durch Maschinensprache-Anweisungen implementiert.

Sie werden in drei Kategorien zusammengefasst:

  • Prozesskontrolle und Arbeitsverwaltung
  • Geräte- und Dateiverwaltung
  • Wartung von Informationen

Gleichzeitige Verarbeitung und Prozesse

Die CPU führt die gleichzeitige Verarbeitung einer hohen Anzahl von Programmen durch. Die Implementierung dieser Programme erfolgt durch Prozesse.

Ein Prozess ist die Arbeitseinheit eines Systems. Alle Prozesse können gleichzeitig ausgeführt werden. Das bedeutet, die CPU kann mit mehreren Prozessen gleichzeitig arbeiten, indem sie schnell zwischen ihnen wechselt.

Verwandte Einträge: