Ein Betriebssystem kann auf verschiedene Weisen betrieben werden, das ist abhängig von den Anforderungen, welche im letzten Artikel besprochen wurden. Je nach Betriebsart lösen sich Probleme oder ergeben sich neue. Wir stellen euch jetzt einige verschiedene Betriebsarten vor:

  1. Das Single-User System hat nur einen Benutzer, welches es versorgt. Dieses System ist noch aus der Anfangszeit der Betriebssysteme. Beispiele für Single-User Systeme sind MS-DOS oder OS 2 von IBM.
  2. Multi-User Systeme können viele Benutzer gleichzeitig benutzen. Dabei kommt es zu einigen Problemen. So müssen wegen den vielen Benutzern Rechte für Datenzugriffe, Speicher, Rechenleistung und Hardware vergeben werden. Außerdem muss ein Schutzmechanismus für die einzelnen Nutzer implementiert werden, dass jeder Nutzer nur auf seine Daten zugreifen kann. Ein Beispiel für ein Multiuser System ist UNIX.
  3. So wie es Systeme gibt, die nur einen Benutzer versorgen, gibt es Systeme, die nur eine einzige Aufgabe erledigen. Diese Systeme werden Single-Task Systeme genannt. Jede Aufgabe die anfällt kommt auf einen Stapel, der von dem Betriebssystem nacheinander (sequentiell) abgearbeitet wird. Der Vorteil ist, dass zu jedem Zeitpunkt dem Computer alle Ressourcen bereitstehen und somit die Aufgaben schnell zu erledigen sind. Dieser Vorteil ist aber gleichzeitig eine Schwachstelle zum einen werden die Mittel nie voll ausgeschöpft und ein großer Prozess oder eine Endlosschleife blockieren die Arbeit an diesem Computer komplett.
  4. Das Gegenstück zu den Single-Task Systemen sind Multi-Task Systeme. Diese Betriebsart lässt Aufgaben scheinbar parallel erledigen. Das System muss aber folgende Anforderungen erfüllen:
    1. Der Hauptspeicher muss Platz für mehrere Programme haben.
    1. Das Betriebssystem muss die Programme im Hauptspeicher verwalten und verschieben (relokieren à keine feste Speicheradressen) können.
    1. Die Zugriffszeit auf die CPU muss für jeden Prozess geregelt werden.

Wichtig ist es den Unterschied dabei zwischen einem Thread und einem Prozess zu kennen. Folgende Skizze sollte das klären:

Thread vs Prozess
Thread vs Prozess

Die Prozesse existieren alleine auf einem Kern und können nicht direkt miteinander kommunizieren. In einem Prozess können mehrere Threads existieren, welche sich Speicher und Rechenleistung teilen müssen und daher miteinander direkt kommunizieren können.

  • Die nächste Stufe des Multitaskings ist das Multi-Processing. Bei dieser Betriebsart werden mehrere Aufgaben (Prozesse) wirklich parallel verarbeitet. Für Multiprocessing ist eine noch komplexere Betriebsmittelverwaltung als beim Multitasking nötig.
  • In unserer vernetzten Welt gibt es eine extra Betriebsart genannt Teilnehmerbetrieb oder auch Online System der Computer erhält seine Anweisungen dabei in einem Dialog mit dem Menschen. Ziel dieser Betriebsart ist es schnell zu Antworten.
  • Eine Betriebsart die das Multitasking möglich macht ist das Time-Sharing-System. Jede Task / Benutzer / Prozess erhält eine bestimmte Zeit zu Verfügung in der sie auf der CPU arbeiten darf. So entsteht der Eindruck, dass jeder parallel an einem eigenen Computer arbeitet.
  • Das Transaktionssystem ist ein dialogorientiertes System, welches auf einen gemeinsamen Datenbestand zugreift. Damit die Daten auf allen Rechnern gleich (konsistent) sind, sorgt das Betriebssystem mithilfe von Transaktionen für Veränderungen in dem Bestand, die alle Teilnehmer mitbekommen. Eine Transaktion besteht dabei aus vielen keinen Operationen die alle erfolgreich ausgeführt werden müssen, damit sie in den gemeinsamen Datenbestand übernommen werden.
  • Diese Betriebsart ist gerade ganz groß im Kommen, die Real-Time-Systeme. Das Betriebssystem garantiert in einer bestimmten Zeit zu antworten und dabei alle Prozesse auszuführen. Das Real-Time-System ist die nächste Evolutionsstufe von Dialogsystemen, Datenerfassungssystemen, Prozessautomatisierung und Embedded Systems (Software ist in der Hardware integriert z.B. bei einer Motorsteuerung). Ein gutes und populäres Beispiel für Real-Time-Systeme sind die Systeme für autonom fahrende Autos.
  • Da wir Menschen nicht immer alle Befehle selbst dem Computer erteilen möchten, gibt es Batch-Systeme. Dem System wird dabei ein Stapel von Aufgaben gegeben, welches einzelne Programmabläufe anstößt und aufeinander abstimmt. Das Ganze wird über einen Job Control Language implementiert und auf dem Batch Monitor überwacht. Typische Beispiele für gigantische Batchabläufe sind die Berechnungen die jede Nacht in Banken für den nächsten Tag laufen oder die Simulationen für das Wetter.
  • Die letzte Form der Betriebssysteme sind Mischformen aus allen vorherigen Arten. Sie werden Multimode-System oder General Purpose System genannt. Ein bekannter Vertreter der zu dieser Leistung fähig ist, ist Linux.
Linux Pinguin
Linux kann Time-Sharing, Multi User, Multitasking, dialogorientiert und Batchverarbeitung … Ein wahres Multimode System