1.2.1. Welche Aufgaben hat ein Betriebssystem?
Ein Betriebssystem übernimmt mehrere Aufgaben. Im Allgemeinen lassen sich fünf Bereiche identifizieren:
- Die Prozessverwaltung,
- die Speicherverwaltung,
- die Ein-/Ausgabesteuerung,
- das Management des Stromverbrauchs und
- die Sicherheit des gesamten Systems.
Durch das koordinierte Zusammenspiel dieser Einsatzfelder vereinfacht ein Betriebssystem komplexe Prozesse und ermöglicht die einfache Handhabe.
Prozessverwaltung
Ein Prozess ist ein Programm inklusive dessen Daten und Zustände. Ein Thread arbeitet innerhalb eines Prozesses die Befehlsfolge des Programms ab. Verschiedene Aufgaben (Befehlsfolgen) werden mit Hilfe mehrerer Threads nebeneinander abgearbeitet. Multitasking beschreibt das simultane Abarbeiten mehrerer Befehlsfolgen. Scheduling bezeichnet den Ablaufplan, nach welchem die verschiedenen Prozesse und deren Rechenzeit eingeplant sowie abgearbeitet werden.
Ein Betriebssystem besteht aus einer Vielzahl an Prozessen. Die parallele Ausführung mehrerer Threads auf mehreren Kernen einer CPU wird Multiprocessing genannt. Die Prozessverwaltung innerhalb eines Betriebssystems ist demnach das Management, das die Prozesse und deren Threads auf die vorhandenen Kerne (Prozessoren) verteilt.
Speicherverwaltung
Damit ein Prozess ausgeführt werden kann, werden ihm Bereiche des Hauptspeichers (RAM) zugeteilt. Die Größe des Speichers ist bei eingebetteten Systemen häufig beim Start festgelegt. Man spricht von statischer Allokation. Größere Systeme allokieren ihren Speicher mit Hilfe des Betriebssystems zur Laufzeit des Programms dynamisch (dynamische Allokation).
Die Speicheradressen innerhalb des Hauptspeichers sind zumeist nicht die realen physischen, sondern virtuelle Adressen. Das bedeutet: Jedem Prozess werden durch das Betriebssystem virtuelle Bereiche im Hauptsspeicher zugeordnet. Eine Umwandlung in reale physische Adressen geschieht erst zur Laufzeit. So verhindert das System, dass die Programme ihre Speicherbereiche gegenseitig überschreiben.
Zudem ist es möglich, dass Speicherbereiche auf einen Sekundärspeicher, wie etwa die Festplatte, ausgelagert werden können. Diesen Seitenwechsel bezeichnet man als Paging.
Ein-/Ausgabesteuerung
Um mit der Vielzahl der an den PC angeschlossenen Geräte kommunizieren zu können, muss das Betriebssystem entsprechende Treiber installieren beziehungsweise laden. Mittels eines solchen Treibers können die Signale der Peripheriegeräte interpretiert und gelesen werden.
Das Betriebssystem verwaltet ebenfalls Festplatten und Sekundärspeicher, wie etwa USB-Sticks. Dies umfasst beispielsweise die Ablage, die Speicherung und das Lesen der Daten. Zudem müssen die Dateien das Abschalten des Systems überleben. Die Dateiverwaltung ist eine der Hauptaufgaben von Betriebssystemen.
Management des Stromverbrauchs
Viele Geräte, wie etwa Smartphones oder Tablet-Computer, werden in der heutigen Zeit mit einem Akku betrieben. Die Energieverwaltung beziehungsweise das Abschalten, wie beispielweise des Bildschirms, oder Heruntertakten unnötiger Systeme werden durch das Betriebssystem gemanagt.
Sicherheit
Das Betriebssystem verhindert außerdem, dass Prozesse den Speicher anderer Prozesse lesen beziehungsweise überschreiben. Auch der Absturz eines Prozesses darf den Zustand des Systems nicht beeinflussen. Zudem schützt beispielsweise eine Firewall das System vor unerlaubtem Zugriff. Jede bzw. jeder Benutzende darf nur die Daten und Programme sehen beziehungsweise ausführen, für die er oder sie eine Berechtigung hat. Ausgewählte Sicherheitsrichtlinien dienen dazu, die Laufzeitfähigkeit zu erhalten.