Dies ist eine alte Version des Dokuments!


Definitionen und Aufgaben eines Betriebssystems

Den Begriff eines Betriebssystems zu definieren ist eine nicht-triviale Aufgabe. Es gibt viele verschiedene Definitionen des Begriffs, woraus sich verschiedene Aufgaben eines Betriebssystems ableiten. Es gibt sogar Debatten darüber, ob Middleware als Betriebssystem zu bezeichnen ist.

Ich will hier darauf eingehen, was die Aufgaben eines Betriebssystems sind, und einen groben Überblick darüber vermitteln, was wir in späteren Kapiteln näher betrachten werden.

Aufgaben eines Betriebssystems

Abstraktion von hässlichen Schnittstellen

Hardware zu programmieren oder direkt auf der CPU zu programmieren ist sehr hässlich. Man muss genaue Speicheradressen von Memory-Mapped-IO Geräten wissen, und sich selbst um seinen Speicher kümmern. Das Betriebssystem soll für die Prozesse eine schöne Schnittstelle anbieten (in Form von Systemrufen), um die hässliche Arbeit zu verstecken, also bspw. die Arbeit mit Dateisystemen o.Ä. beim Öffnen von Dateien.

Im besten Fall soll die darunterliegende Schicht transparent sein, dh. es soll für Prozesse völlig irrelevant sein, wie das Betriebssystem im Systemruf seine Aufgabe erfüllt.

Mittleraufgabe / gegenseitiger Schutz von Prozessen

Machen das verschiedene Prozesse auf einem System, kann es schnell dazu führen, dass verschiedene Prozesse auf ein und die selbe Speicherzelle zugreifen oder schreiben und sich damit in die Quere kommen. Das Betriebssystem soll als Mittler zwischen den Prozessen stehen und verhindern, dass IO-Geräte oder Speicher konkurrierend verwendet werden.

Prozessorzeitzuweisung / Multitasking

Im Besonderen zeigt sich die Mittleraufgabe bei der Zuweisung von Prozessorzeit an Prozesse. Es ist nicht möglich für Prozesse selbst Prozessorzeit zu bekommen, daher muss eine neutrale Einheit genau das tun.