Grundlagen und Konzepte von Betriebssystemen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 3,92 KB

Monoprogrammierung

Ein Betriebssystem, in dem nur ein Programm gleichzeitig ausgeführt wird und kein anderes startet, bis das vorherige beendet ist. Diese Art der Ausführung existiert praktisch nicht mehr und wurde durch Multiprogrammierung ersetzt.

Multiprogrammierung

Diese Technik ermöglicht es, zwei oder mehrere Programme gleichzeitig im Hauptspeicher auszuführen. Während ein Programm beispielsweise Ein-/Ausgabe-Operationen (E/A) durchführt, kann die Zentraleinheit (CPU) Aufgaben für andere Programme übernehmen. Das Betriebssystem überwacht die Prozesse, bis sie abgeschlossen sind. Die Effektivität hängt von der Speichermenge, der CPU-Geschwindigkeit, den Peripheriegeräten und der Effizienz des Betriebssystems ab.

Batch-Systeme (Stapelverarbeitung)

  1. Batch-Betrieb: Daten werden in Blöcken oder „Chargen“ (Programm, Daten und Anweisungen) zusammengefasst. Jobs werden nach dem „First Come, First Served“-Prinzip verarbeitet. Der Speicher ist in zwei Zonen unterteilt: eine für das Betriebssystem und eine für transiente Programme.
  2. Batch-Modus: Die Ausführung erfolgt ohne direkte Benutzerinteraktion. Dies wird häufig für sich wiederholende Aufgaben bei großen Datenmengen genutzt, um manuelle Fehler zu vermeiden. Ein Beispiel ist das Rendern von Filmsequenzen, gesteuert durch Skripte.

Pufferung und Spooling

  • Buffering: Die Verwendung von Variablen im Speicher, um Daten zwischen Registern und dem Hauptspeicher zu puffern.
  • Spooling: Ein Prozess, bei dem Daten kurzzeitig zwischengespeichert werden, bevor sie an ein Gerät, wie einen Drucker, gesendet werden.

Der Kernel (Core)

Der essenzielle Teil eines Betriebssystems, der grundlegende Systemdienste bereitstellt. Er verwaltet Ressourcen, sichert den Hardwarezugriff und steuert das Multiplexing, um festzulegen, welches Programm Hardwarezugriff erhält. Zudem bietet er Hardware-Abstraktionen für Programmierer.

Scheduling und Betriebssystemtypen

Preemptive Scheduling

Prozesse werden basierend auf Eigenschaften wie Speichergröße oder Priorität in Warteschlangen eingereiht, wobei jeder Typ seinen eigenen Scheduling-Algorithmus besitzt.

Time-Sharing-Betriebssysteme

Diese Systeme streben eine gerechte Aufteilung der Ressourcen an, um den Eindruck eines dedizierten Computers zu erwecken. Sie bieten Speicherisolierung und Schutzmechanismen.

Echtzeit-Betriebssysteme

Diese Systeme sind auf schnelle Reaktionszeiten ausgelegt. Der Speicher-Manager ist hier weniger gefordert, da viele Prozesse dauerhaft im Speicher resident sind.

Netzwerk-Betriebssysteme (NOS)

Sie verwalten und koordinieren alle Operationen innerhalb eines Netzwerks (LAN) und sind je nach Organisationsbedarf unterschiedlich spezialisiert.

Verteilte Systeme

Diese Systeme sind hochkomplex. Herausforderungen liegen insbesondere in der Fehlerbehandlung und der Concurrency Control.

Systemarchitekturen

  • Monolithisch: Das Betriebssystem ist ein einzigartiges Programm ohne interne Struktur. Vorteil: Einfachheit. Nachteil: Schwierig zu erweitern.
  • Schichtenmodell: Das System ist in klar definierte, unabhängige Schichten unterteilt, die nur mit der direkt darüber oder darunter liegenden Schicht kommunizieren.
  • Virtuelle Maschine: Unterteilt in zwei Stufen: Der Virtual Monitor verwaltet die Hardware, während die Virtual Machines als spezielle Umgebung für verschiedene Betriebssysteme dienen.
  • Client-Server (Mikro-Kernel): Der Kernel wird auf ein Minimum reduziert. Die meisten Funktionen laufen im User-Space. Der Nucleus verwaltet den Hardwarezugriff und die Prozessverwaltung, während Server-Programme die restlichen Dienste anbieten.

Verwandte Einträge: