Betriebssysteme

Was ist ein Betriebssystem und wie funktioniert es?

Das Betriebssystem ermöglicht das Zusammenspiel des Anwenders bzw. dessen Programme mit der Hardware des Computers. Es stellt also eine Verbindung zwischen Mensch und Computer (Hardware und Software) und somit die Basis für die Ausführung von Programmen dar. Ein Computer wird nicht umnittelbar auf der Hardware ausgeführt. Somit entsteht aus Benutzersicht eine virtuelle Maschine. Das Ziel ist es also das Zusammenspiel zwischen Anwender und Hardware zu gewährleisten.

Der systematische Aufbau eines Rechnersystems lässt sich wie folgt darstellen. Auf der Hardwareebene befinden sich physikalische Geräte, Mikroprogramme und Maschinensprache. Auf der nächsten Schicht stehen Systemprogramme wie das Betriebssystem, Shells, Editoren und Übersetzer zur Verfügung. In der obersten Schicht ist schließlich die Anwendersoftware.

Aufgaben eines Betriebssystems

  • Geräteverwaltung: Steuerung der Hardwarekomponenten, Bereitstellung der Treiber
  • Speicherverwaltung: Organisation und Verwaltung des Arbeitsspeichers und Speichermedien
  • Prozessverwaltung: Koordination von Prozessen
  • Bereitstellen einer virtuellen Maschine
  • Bereitstellen einer Kommandozeilenschnittstelle

Geschichte der Betriebssysteme

Zu Beginn der Zeit der Computer wurde ausschließlich in reiner Maschinensprache programmiert. Zu dieser Zeit waren noch keine Betriebssysteme notwendig, da direkt auf Hardwareebene in Maschinensprache „programmiert“ wurden. Damals geschah dies noch durch sogenannte Lochkartenstapel, die in den internen Speicher eingelesen wurden. Es konnte also immer nur ein Programm nach dem anderen ausgeführt werden.

„Ich glaube, dass es auf der Welt einen Bedarf von vielleicht fünf Computern geben wird.“ (Thomas J. Watson -IBM)

Nach und nach wurde ein neues Konzept eingeführt: Multiprogramming. Es konnten nun mehrere Prozesse fast gleichzeitig abgearbeitet werden. Dies führt zu einer viel besseren Auslastung der CPU. Um die zeitliche Ausführung mehrerer Prozesse zu regeln wird ein Scheduler verwendet.
„Unter Scheduling versteht man das Erstellen eines Ablaufplans, der Prozessen zeitlich begrenz Ressourcen zuteilt.“
Quelle: https://de.wikipedia.org/wiki/Scheduling

Die nächste Generation beschäftigt sich mit Personal-Computer und verteilten Betriebssystemen bzw. Netzwerk Betriebssystemen. Mehrere Rechner werden im Netzwerk zusammengeschlossen. Dabei laufen die Programme parallel im Netz auf unterschiedlichen Rechnern. Allerdings sind für solche Systeme komplexe Scheduling-Verfahren notwendig. Aufgrund ihrer Komplexität werden sie meist nur in Firmennetzen benutzt.

Prozesse

Die wichtigsten Objekte sind Prozesse und Dateien. Durch einen Systemaufruf werden diese Objekte erzeugt, benutzt oder zerstört.
„Ein Prozess ist ein Vorgang, der durch ein Programm kontrolliert wird, welches zur Ausführung einen Prozessor benötigt.“
Quelle: https://de.wikipedia.org/w/index.php?title=Prozess_%28Informatik%29&oldid=127297014

Während der Arbeit mit einem Betriebssystem, gibt es immer mehrere Prozesse die gleichzeitig ausgeführt werden. Aus diesem Grund werden die Prozesse in einer Prozesstabelle verwaltet, welche Informationen über: die Prozesszustände, die Speicherbereiche, den Prozesskontrollblock und über die Prozesshierarchie hat.

Ein Prozess kann folgende Zustände einnehmen:

Wird ein neuer Prozess erzeugt, erstellt das Betriebssystem eine Datenstruktur zur Verwaltung des Prozesses und weist einen Adressraum im Speicher zu, bevor er in den Zustand bereit übergeht. Dort wartet er bis der Prozessor frei wird.
Wird dies der Fall, geht der Prozess über in den aktiv-Zustand. Hier kann sich pro Prozessor nur ein Prozess aufhalten. In den übrigen Zuständen können sich beliebig viele Prozesse aufhalten.
Ist das Ende der Ausführung des zugehörigen Programms erreicht, dann ist der Prozess beendet, und gibt somit belegte Speicherbereiche und vom Prozess gebundene Ressourcen wieder frei.
Wartet er auf neue Ereignisse, wandert er in den blockiert-Zustand.

Verbreitung von Betriebssystemen