Damit ein Computer oder ein Smartphone in der Lage ist, eine Software auszuführen, muss das Gerät eine gewisse Anzahl von vorbereitenden Operationen ablaufen lassen. Diese ermöglichen den Austausch zwischen dem Prozessor, dem Speicher und ggf. den Peripheriegeräten. Für diesen Ablauf gibt es das Betriebssystem.
Was macht ein Betriebssystem?
Das
Betriebssystem (
BS oder
OS vom englischen Begriff
Operating System) hat die Aufgabe, die Verbindung zwischen den materiellen Ressourcen, dem Benutzer und den Anwendungen (Textbearbeitungsprogramm, Videospiele usw.) sicherzustellen. Wenn ein Programm auf eine materielle Ressource zugreifen möchte, muss es nicht spezifische Informationen an das Peripheriegerät senden, sondern es reicht, die Informationen an das Betriebssystem zu senden, welches die Übertragung zu dem betroffenen Gerät über dessen Treiber übernimmt. Ohne Treiber müsste jedes Programm die Kommunikation mit jedem Peripheriegerät-Typen erkennen und einbeziehen.
Das Betriebssystem ermöglicht es also, Software und Hardware zu "trennen", insbesondere um die Verwaltung der Ressourcen zu vereinfachen und dem Benutzer eine
Mensch-Maschine-Schnittstelle (MMS) zu bieten. So kann dieser auf einfache Art komplexe Geräte bedienen und nutzen.
Aufgaben des Betriebssystems
Das Betriebssystem übernimmt dabei verschiedene Aufgaben:
Verwaltung des Prozessors: Das Betriebssystem ist damit beauftragt, die Zuweisung des Prozessors zu den verschiedenen Programmen mit Hilfe eines
Ordnungsalgorithmus zu verwalten.
Verwaltung des Arbeitsspeichers: Das Betriebssystem verwaltet auch den Speicherplatz, der jeder Anwendung und ggf. jedem Benutzer zugewiesen ist. Wenn der
Arbeitsspeicher nicht ausreicht, kann das Betriebssystem eine Speicherzone auf der
Festplatte erstellen, die
virtueller Speicher genannt wird. Der virtuelle Speicher ermöglicht die Ausführung von Anwendungen, die mehr Speicherplatz brauchen, als auf dem System zur Verfügung steht. Allerdings ist dieser Speicher sehr viel langsamer.
Verwaltung der Eingänge und Ausgänge: Das Betriebssystem ermöglicht die Kontrolle und die Vereinheitlichung der Programmzugriffe auf materielle Ressourcen mit Hilfe der Treiber (Peripheriegerät-Verwalter oder Eingangs-/Ausgangs-Verwalter).
Verwaltung der Ausführung der Anwendungen: Das Betriebssystem wacht über die korrekte Ausführung der Anwendungen, indem es ihnen die Ressourcen zuteilt, die für ihre gutes Funktonieren nötig sind. In diesem Zusammenhang kann eine Anwendung auch heruntergefahren werden, die nicht mehr reagiert.
Rechteverwaltung: Das Betriebssystem ist für die Sicherheit zuständig, die mit der Ausführung der Programme verbunden ist, da es garantiert, dass die Ressourcen nur von den Programmen und Benutzern verwendet werden, die die entsprechenden Rechte besitzen.
Dateiverwaltung: Das Betriebssystem verwaltet die Lese-und Schreiboperationen in dem
Dateisystem. Außerdem kümmert es sich um die Zugriffsrechte auf Dateien, über die Benutzer und Anwendungen verfügen.
Informationverwaltung: Das Betriebssystem liefert eine gewisse Anzahl an Indikatoren, die es ermöglichen, die korrekte Funktionsweise des Geräts zu diagnostizieren.
Komponenten des Betriebssystems
Das Betriebssystem besteht aus einer Reihe von Programmen, mit denen die Interaktionen mit den Geräten verwaltet werden. In dieser Softwaregruppe unterscheidet man meist folgende Elemente:
Der
Kern (
kernel) stellt die grundlegenden Funktionen des Betriebssystems dar, wie zum Beispiel die Verwaltung des Speichers, der Prozesse, der Dateien, der Haupteingänge und -Ausgänge sowie der Kommunikations-Funktionalitäten.
Der
Befehlübersetzer (
shell) ermöglicht im Gegensatz zum Kern die Kommunikation mit dem Betriebssystem über eine Befehlssprache, mit der der Benutzer die Peripheriegeräte steuern kann, ohne dafür die Charakteristika der benutzten Geräte, die Verwaltung der physischen Adressen usw. zu kennen.
Das
Dateisystem (
file system) ermöglicht das Speichern der Dateien in einem Dateibaum.
Multitaskingssysteme
Ein Betriebssystem wird als
mehrfädig (
multithreaded) bezeichnet, wenn mehrere Aufgaben oder Prozesse gleichzeitig ausgeführt werden können.
Anwendungen bestehen aus Befehlssequenzen, die man
leichtgewichtige Prozesse (
threads) nennt. Diese leichtgewichtigen Prozesse werden - je nach der Priorität, die ihnen zugeschrieben wird - entweder aktiv sein, auf Stand-by gesetzt, unterbrochen, zerstört oder sequenziell ausgeführt.
Ein System wird
präemptiv genannt, wenn es ein
Steuerprogramm (
scheduler) besitzt, das nach Prioritätskriterien die Gerätezeit zwischen den verschiedenen Prozessen, die danach fragen, aufteilt.
Ein System wird als System mit
geteilter Zeit bezeichnet, wenn jedem Prozess eine Zeitrate zugeteilt wird. Dies ist insbesondere der Fall bei Multiuser-Systemen, die es mehreren Benutzern ermöglichen, gleichzeitig auf demselben Gerät verschiedene oder ähnliche Anwendungen zu benutzen. Das System wird dann
transaktionelles System genannt. Dafür teilt das System jedem Benutzer eine Zeitspanne zu.
Multiprozessorsysteme
Das
Multiprocessing ist eine Technik, die darin besteht, mehrere Prozessoren parallel funktionieren zu lassen, um so eine höhere Rechenleistung zu erreichen, als man sie mit einem hochwertigen Prozessor erreichen kann, oder um die Bereitschaft des Systems zu erhöhen (im Falle einer Prozessorpanne).
Man bezeichnet als
SMP (
Symmetric Multiprocessing oder
Symmetric Multiprocessor) eine Architektur, in der alle Prozessoren auf einen geteilten Speicherbereich Zugriff haben.
Ein Multiprozessorsystem muss demnach in der Lage sein, die Verteilung des Speicherraums zwischen mehreren Prozessoren zu verwalten, aber ebenfalls die Arbeitslast zu verteilen.
Eingebaute Systeme
Eingebaute Systeme sind Betriebssysteme, die dafür gedacht sind, auf kleinen Geräten zu funktionieren, wie PDA (
Personal Digital Assistants) oder autonomen elektronischen Geräten (Weltraumsonden, Roboter, Bordcomputer von Fahrzeugen usw.), die also eine begrenzte Autonomie besitzen. So sind zwei wesentliche Merkmale von eingebauten Systemen ihre fortgeschrittene Verwaltung der Energie und ihre Kapazität, mit begrenzten Ressourcen zu funktionieren.
Die wichtigsten eingebauten Systeme für den allgemeinen Gebrauch finden sich in Organizern mit PalmOS oder Windows CE sowie auf Smartphones mit Windows Phone.
Echtzeitsysteme
Echtzeitsysteme (
real time systems) werden hauptsächlich in der Industrie verwendet. Sie haben das Ziel, in einer zeitlich begrenzten Umgebung zu funktionieren. Ein Echtzeitsystem muss also nach spezifischen zeitlichen Bedingungen zuverlässig funktionieren. Es muss in der Lage sein, eine korrekte Bearbeitung der erhaltenen Informationen nach genau definierten Zeitintervallen (regelmäßig oder nicht) abzugeben.
Beispiele für Echtzeit-Betriebssysteme sind OS-9,
QNX und
VxWorks.
Betriebssystem-Typen
Man unterscheidet mehrere Typen von Betriebssystemen, je nachdem ob sie in der Lage sind, simultan Informationen mit einer Länge von
16 Bits,
32 Bits, 64 Bits oder mehr zu verwalten.
System | Kodierung | Monouser | Multiuser | Monotask | Multitask |
---|
DOS | 16 Bits
| X | | X | |
Windows 3.1 | 16/32 Bits
| X | | | nicht präemptiv |
Windows 95/98/Me | 32 Bits
| X | | | kooperativ |
Windows NT/2000 | 32 Bits | | X | | präemptiv |
Windows XP | 32/64 Bits | | X | | präemptiv |
Unix/Linux | 32/64 Bits | | X | | präemptiv |
MAC OS X | 32 Bits | | X | | präemptiv |
VMS | 32 Bits | | X | | präemptiv |
Foto: © Rose Carson - Shutterstock.com