Definition

Betriebssystem (Operating System, OS)

Was ist ein Betriebssystem?

Ein Betriebssystem (Operating System, OS) ist ein Programm, das nach dem Laden durch ein Startprogramm alle anderen Anwendungsprogramme auf einem Computer verwaltet. Die Anwendungsprogramme nutzen das Betriebssystem, indem sie über eine definierte Anwendungsprogrammierschnittstelle (API) Dienste anfordern. Darüber hinaus können Benutzer über eine Benutzeroberfläche (UI), wie beispielsweise eine Befehlszeilenschnittstelle (CLI) oder eine grafische Benutzeroberfläche (GUI), direkt mit dem Betriebssystem interagieren.

Was macht ein Betriebssystem?

Ein Betriebssystem bietet enorme Vorteile für Computersoftware und die Softwareentwicklung. Ohne ein OS, also eine speziell für den Betrieb des Computers entwickelte Systemsoftware, müsste jede Anwendung über eine eigene Benutzeroberfläche sowie den umfassenden Code verfügen, der für die Verarbeitung aller Low-Level-Funktionen der zugrunde liegenden Systemsoftware des Computers erforderlich ist, wie beispielsweise Disk Storage und Netzwerkschnittstellen. Angesichts der Vielzahl der verfügbaren Hardwarekomponenten und der Anzahl der Softwareroutinen, die auf Systemsoftwareebene ausgeführt werden müssen, um die Computerfunktionen zu unterstützen, würde dies die Größe jeder Anwendung aufblähen und die Softwareentwicklung unpraktisch machen.

Stattdessen übernimmt das Betriebssystem viele Softwareaufgaben auf Systemebene, darunter das Senden eines Netzwerkpakets oder die Anzeige von Text auf einem Standardausgabegerät, wie etwa einem Bildschirm. Die Systemsoftware dient als Vermittler zwischen den Anwendungen und den zugrunde liegenden Computer- und Hardwarefunktionen. Das OS bietet eine konsistente und wiederholbare Möglichkeit für Anwendungen, mit der Hardware und anderen Funktionen auf Systemebene zu interagieren, ohne dass die Anwendungen Details darüber kennen müssen.

Wenn jede Anwendung auf die gleiche Weise auf die gleichen Ressourcen und Dienste zugreift, kann das Betriebssystem – und die zugrunde liegende Systemsoftware, mit der es zusammenarbeitet – fast jede Anzahl von Anwendungen bedienen. Dies reduziert den Zeit- und Programmieraufwand für die Entwicklung und das Debugging einer Anwendung erheblich und stellt gleichzeitig sicher, dass Benutzer die Systemsoftware und -hardware über eine gemeinsame und gut verständliche Betriebssystemschnittstelle steuern, konfigurieren und verwalten können.

Wie funktioniert ein Betriebssystem?

Nach der Installation stützt sich ein Betriebssystem auf eine große Bibliothek von Gerätetreibern, um seine Dienste an die jeweilige Hardwareumgebung anzupassen. Beispielsweise könnte jede Anwendung einen gemeinsamen Aufruf an ein Speichergerät senden. Das Betriebssystem empfängt diesen Aufruf und verwendet den entsprechenden Treiber, um den Aufruf in Aktionen oder Befehle zu übersetzen, die für die zugrunde liegende Hardware auf diesem bestimmten Computer erforderlich sind. Das OS bietet eine umfassende Plattform, die Folgendes identifiziert, konfiguriert und verwaltet:

Was sind die Funktionen eines Betriebssystems?

Alle gängigen Computerplattformen – sowohl Hardware als auch Software – erfordern in der Regel ein Betriebssystem, das mit unterschiedlichen Funktionen entwickelt werden muss, um den spezifischen Anforderungen verschiedener Geräteformfaktoren gerecht zu werden.

Aus Sicht des Endbenutzers bietet ein OS die folgenden drei wesentlichen Funktionen:

1. Es bietet eine Benutzeroberfläche über eine CLI oder GUI.

2. Es startet Anwendungen und verwaltet deren Ausführung.

3. Es identifiziert und bestimmt die Zuweisung von Systemhardwareressourcen wie Druckern und Backup-Festplatten an diese Anwendungen, in der Regel über eine standardisierte API.

Benutzeroberfläche

Der Benutzer kann mit dem Computer interagieren, um Arbeiten auszuführen, entweder über eine GUI, einen visuellen Bildschirm mit Point-and-Click-Funktion, der Symbole enthält, die Systemfunktionen auslösen und Anwendungen starten, über eine CLI, die aus einer einzigen Kommandozeile für die Dateneingabe besteht, oder über beides.

Abbildung 1: Das ist die Architektur eines Betriebssystems.
Abbildung 1: Das ist die Architektur eines Betriebssystems.

Anwendungsverwaltung

Ein Betriebssystem übernimmt den Start und die Verwaltung jeder Anwendung und unterstützt dabei die folgenden Funktionen:

  • Timesharing mehrerer Prozesse oder Threads, sodass verschiedene Aufgaben die verfügbaren Prozessorressourcen gemeinsam nutzen können
  • verwaltet Unterbrechungen, die Anwendungen erzeugen, um die sofortige Aufmerksamkeit des Prozessors zu erhalten
  • stellt sicher, dass genügend Speicher vorhanden ist, um die Anwendung und die entsprechenden Daten auszuführen, ohne andere Prozesse zu beeinträchtigen
  • führt eine Fehlerbehandlung durch, die die Prozesse einer Anwendung entfernen kann
  • führt die Memory-Verwaltung durch, ohne andere Anwendungen oder das Betriebssystem zu stören

Hardwarebereitstellung und -ausführung

Ein Betriebssystem kann auch APIs unterstützen, die es Anwendungen ermöglichen, OS- und Hardwarefunktionen zu nutzen, ohne etwas über den Low-Level-Status des Betriebssystems oder der Hardware wissen zu müssen. Eine Windows-API kann beispielsweise einem Programm ermöglichen, Eingaben von einer Tastatur oder Maus zu empfangen, GUI-Elemente wie Dialogfenster und Schaltflächen zu erstellen und Dateien auf einem Speichergerät zu lesen und zu schreiben. Anwendungen sind fast immer auf das Betriebssystem zugeschnitten, auf dem sie ausgeführt werden sollen.

Prozessplanung und Priorisierung

In einem Multitasking-OS, in dem mehrere Programme gleichzeitig ausgeführt werden können, legt das Betriebssystem fest, in welcher Reihenfolge Anwendungen ausgeführt werden sollen und wie viel Zeit jeder Anwendung zur Verfügung steht, bevor die nächste an die Reihe kommt. Das Betriebssystem kann beispielsweise festlegen, ob ein Batch-Job, wie ein großer Druckauftrag, für eine spätere Ausführung geplant werden kann, wenn Ressourcen frei sind.

Parallele Verarbeitung

Auf Computern, die parallele Verarbeitung bieten, verwaltet ein Betriebssystem, wie ein Programm aufgeteilt wird, damit es auf mehr als einem Prozessor gleichzeitig ausgeführt werden kann.

Dateiverwaltung

Auf Anfrage des Benutzers, gemäß IT-Regelsätzen oder Standardeinstellungen, verwaltet ein OS die Erstellung, den Zugriff, die Änderung und das Löschen von Dateien und Verzeichnissen.

Vernetzung

Für den Benutzer transparent verbindet das Betriebssystem eine Workstation automatisch mit netzwerkweiten Ressourcen, indem es Netzwerkprotokolle entschlüsselt und eine Verbindung zu Netzwerken herstellt. Dadurch kann ein einzelner Benutzer auf Drucker und Server zugreifen, die im Netzwerk gehostet werden.

Sicherheit

Anhand von durch die IT definierten und autorisierten Richtlinien erzwingt das Betriebssystem Sicherheitskontrollen und Verschlüsselung für Benutzer, Anwendungen und Daten. Außerdem bietet es Features wie Secure Boot, Schutz gegen Direct Memory Access (DMA), Virtualization-Based Security (bei Windows), Verschlüsselung von Daten in Ruhe und Transport, sowie modernisierte Authentifizierungsverfahren.

Leistungsüberwachung und Fehlererkennung

Das Betriebssystem überwacht kontinuierlich die Computerleistung und erstellt Systemprotokolle, die bei der Feinabstimmung für optimale Performance und der Behebung von Problemen im Zusammenhang mit der Ressourcennutzung, Leistungsabfällen und Engpässen sowie der Fehlerbehebung helfen.

Energie- und Leistungsoptimierung

In mobilen und eingebetteten Systemen wird Energieeffizienz und Ressourcenschonung immer wichtiger: OS können die Dynamik etwa bei der Taktung, Aktivitätsmodi oder Energiesparfunktionen steuern.

Backup und Wiederherstellung

Daten können regelmäßig tagsüber, nachts, wöchentlich oder in beliebigen anderen festgelegten Intervallen gesichert werden. Das Betriebssystem kann diese Sicherungen automatisch und ohne Hilfe des Benutzers oder der IT-Abteilung durchführen. Bei einem Datenausfall oder Systemfehler können die Daten problemlos aus der letzten Sicherung wiederhergestellt werden. Daten können einfach aus dem letzten Backup wiederhergestellt werden.

Virtualisierung

Die meisten OSes ermöglichen es Benutzern, mehrere Betriebssysteme zu definieren, die unabhängig voneinander laufen, indem sie softwaregestützte Partitionen verwenden, die jedes OS von den anderen auf einer einzigen physischen Workstation trennen. Dadurch kann der Benutzer mehrere Anwendungen mit jeweils eigenem Betriebssystem gleichzeitig auf einem einzigen Arbeitsplatzrechner ausführen, um die Leistung zu optimieren.

Geräteverwaltung

Ein Betriebssystem identifiziert, konfiguriert und stellt Anwendungen den gemeinsamen Zugriff auf zugrunde liegende Eingabe-/Ausgabegeräte wie Drucker, Tastaturen und andere Computerhardwaregeräte bereit. Wenn das OS die Hardware erkennt und identifiziert, installiert es die entsprechenden Gerätetreiber und Schnittstellen, die es dem Betriebssystem und den darauf ausgeführten Anwendungen ermöglichen, die Geräte zu verwenden.

Ein OS identifiziert den richtigen Drucker und installiert die entsprechenden Druckertreiber, sodass eine Anwendung nur Aufrufe an den Drucker senden muss, ohne dass für diesen Drucker spezifische Codes oder Befehle verwendet werden müssen. Der Vorgang ist für andere Geräte ähnlich, darunter die folgenden:

Das Betriebssystem identifiziert und konfiguriert physische und logische Geräte für den Betrieb und speichert sie in der Regel in einer standardisierten Struktur, wie etwa der Windows-Registrierung. Gerätehersteller veröffentlichen regelmäßig Patches und Updates für Treiber und das OS sollte diese aktualisieren, um eine optimale Geräteleistung und Sicherheit zu gewährleisten. Wenn Geräte ausgetauscht werden, installiert und konfiguriert das Betriebssystem auch neue Treiber.

Containerisierung

Betriebssysteme bieten oft Technologien zur Containerisierung (wie Linux-Namespaces, cgroups), wodurch mehrere isolierte Anwendungsumgebungen (Container) auf demselben Kernel laufen können, mit geringem Overhead im Vergleich zu virtuellen Maschinen.

Cloud/Edge/Verbundene Systeme

Gerade in der Cloud, Edge Computing und verteilten Systemen spielt das Betriebssystem eine Rolle bei der Orchestrierung von Containern, bei der Verwaltung vernetzter Ressourcen, bei Skalierbarkeit und beim verteilten Speichern oder Verarbeiten von Daten.

Arten von Betriebssystemen und Beispiele

Obwohl die grundlegenden Funktionen eines OS allgegenwärtig sind, gibt es unzählige Betriebssysteme, die eine Vielzahl von Hardware- und Benutzeranforderungen erfüllen, darunter die folgenden:

Allzweck-Betriebssysteme

Ein Allzweck-Betriebssystem (General Purpose OS) kann eine Vielzahl von Anwendungen auf einer breiten Auswahl an Hardware ausführen, sodass ein Benutzer eine oder mehrere Anwendungen oder Aufgaben gleichzeitig ausführen kann. Ein Allzweck-OS kann auf vielen verschiedenen Desktop- und Notebook-Modellen installiert werden und Anwendungen von Buchhaltungssystemen über Datenbanken bis hin zu Webbrowsern und Spielen ausführen. Allzweck-Betriebssysteme konzentrieren sich in der Regel auf die Prozess- oder Thread- und Hardwareverwaltung, um sicherzustellen, dass Anwendungen die vorhandene breite Palette an Computerhardware zuverlässig gemeinsam nutzen können.

Zu den gängigen Desktop-Betriebssystemen gehören die folgenden:

  • Windows, das Flaggschiff-OS von Microsoft, ist der De-facto-Standard für Heim- und Geschäftscomputer. Das 1985 eingeführte GUI-basierte Betriebssystem Microsoft Windows wurde seitdem in vielen Versionen veröffentlicht. Das benutzerfreundliche Windows 95 war maßgeblich für die rasante Entwicklung der Personal Computer verantwortlich.
  • macOS ist das Betriebssystem für die PCs und Workstations von Apple.
  • Unix ist ein Mehrbenutzer-OS, das auf Flexibilität und Anpassungsfähigkeit ausgelegt ist. Unix wurde ursprünglich in den 1970er Jahren entwickelt und war eines der ersten Betriebssysteme, das in der Programmiersprache C geschrieben wurde.
  • Linux ist ein Unix-ähnliches Betriebssystem aus der Open-Source-Community, das entwickelt wurde, um PC-Nutzern eine kostenlose oder kostengünstige Alternative zu bieten. Linux gilt als effizientes und leistungsstarkes OS.

Mobile Betriebssysteme

Mobile Betriebssysteme sind für mobile Computer und kommunikationsorientierte Geräte wie Smartphones und Tablets konzipiert. Mobile Geräte bieten im Vergleich zu herkömmlichen PCs in der Regel nur begrenzte Rechenressourcen und das OS muss in Größe und Komplexität reduziert werden, um den eigenen Ressourcenverbrauch zu minimieren und gleichzeitig ausreichende Ressourcen für eine oder mehrere auf dem Gerät ausgeführte Anwendungen sicherzustellen. Mobile Betriebssysteme legen meist Wert auf effiziente Leistung, Reaktionsfähigkeit und eine sorgfältige Datenverarbeitung, wie beispielsweise die Unterstützung von Medien-Streaming. Apple iOS und Android sind Beispiele für mobile Betriebssysteme.

Eingebettete Betriebssysteme (Embedded OS)

Nicht alle Computergeräte sind Allzweckgeräte. Eine Vielzahl von Spezialgeräten – darunter digitale Heimassistenten, Geldautomaten, Flugzeugsysteme, Kassenterminals im Einzelhandel und Geräte für das Internet of Things (IoT) – verwenden maßgeschneiderte und abgespeckte Betriebssysteme. Der Hauptunterschied zwischen eingebetteten und Allzweck-Betriebssystemen besteht darin, dass die Geräte mit eingebetteten Betriebssystemen nur eine einzige wichtige Aufgabe erfüllen, sodass das OS stark reduziert und sowohl auf Leistung als auch auf Ausfallsicherheit ausgelegt ist. Das eingebettete OS sollte schnell laufen, nicht abstürzen und alle Fehler elegant behandeln, um unter allen Umständen weiter zu funktionieren. In den meisten Fällen wird das Betriebssystem auf einem Chip bereitgestellt, der in das eigentliche Gerät integriert ist. Ein medizinisches Gerät, das in der lebenserhaltenden Ausrüstung eines Patienten verwendet wird, verwendet beispielsweise ein eingebettetes OS, das zuverlässig laufen muss, um den Patienten am Leben zu erhalten. Embedded Linux ist ein Beispiel.

Netzwerkbetriebssysteme

Ein Netzwerkbetriebssystem (NOS) ist ein weiteres spezialisiertes OS, das die Kommunikation zwischen Geräten in einem lokalen Netzwerk erleichtern soll. Ein NOS stellt den Kommunikations-Stack bereit, der zum Verstehen von Netzwerkprotokollen erforderlich ist, um Netzwerkpakete zu erstellen, auszutauschen und zu zerlegen. Heute ist das Konzept eines spezialisierten NOS weitgehend überholt, da andere Betriebssysteme die Netzwerkkommunikation übernehmen. Das Konzept eines NOS wird nach wie vor für einige Netzwerkgeräte wie Router, Switches und Firewalls verwendet, und Hersteller setzen proprietäre NOS ein, darunter das Cisco Internetwork Operating System und das Open-Source-NOS RouterOS von MikroTik.

Echtzeitbetriebssysteme

Wenn ein Computergerät innerhalb konstanter und wiederholbarer Zeitvorgaben mit der realen Welt interagieren muss, kann sich der Gerätehersteller für die Verwendung eines Echtzeitbetriebssystems (Real-Time Operating System, RTOS) entscheiden. Ein industrielles Steuerungssystem kann beispielsweise den Betrieb einer weitläufigen Fabrik oder eines Kraftwerks steuern. Eine solche Anlage erzeugt Signale von unzähligen Sensoren und sendet Signale zum Betreiben von Ventilen, Aktoren, Motoren und unzähligen anderen Geräten. In solchen Situationen muss das industrielle Steuerungssystem schnell und vorhersehbar auf sich ändernde Bedingungen in der realen Welt reagieren – andernfalls könnte es zu einer Katastrophe kommen. Ein RTOS muss ohne Pufferung, Verarbeitungslatenzen und andere Verzögerungen funktionieren, die bei anderen Arten von Betriebssystemen völlig akzeptabel sind. Beispiele für RTOS sind FreeRTOS und Wind River VxWorks.

Die Unterschiede zwischen den Betriebssystemtypen sind nicht absolut, und einige Betriebssysteme können Merkmale anderer OSes aufweisen. Beispielsweise verfügen Allzweckbetriebssysteme in der Regel über die Netzwerkfunktionen eines herkömmlichen NOS. Ebenso weist ein eingebettetes Betriebssystem häufig Merkmale eines RTOS auf, während ein mobiles OS in der Regel wie andere Allzweckbetriebssysteme zahlreiche Anwendungen gleichzeitig ausführen kann.

Verteilte Betriebssysteme

Ein verteiltes Betriebssystem, das in einem Netzwerk installiert ist, kann eine Vielzahl von Workstations bedienen, insbesondere Thin-Client-Computer, auf denen nur wenige oder gar keine Anwendungen oder Daten gespeichert sind. Mehrere Benutzer greifen auf Anwendungen und Ressourcen zu, die auf diesen größeren, verteilten Netzwerkservern gehostet werden, und teilen sie sich diese. Die Betriebssysteme auf diesen Servern verwalten die Zugriffsanfragen und den Ressourcenverbrauch mehrerer Benutzer-Workstations. Beispiele für verteilte OS sind Microsoft Windows Server und verschiedene Distributionen von Open-Source-Linux für Server.

Cluster-Betriebssysteme

Cluster-Betriebssysteme sind OS, die für den Betrieb eines Clusters von Computern entwickelt wurden, die zusammen in einem einzigen System arbeiten. Die Verarbeitung durch künstliche Intelligenz ist ein Paradebeispiel für Cluster-Computing, da sie eine schnelle, gleichzeitige und parallele Verarbeitung von Daten erfordert. Hochleistungsrechnersysteme, in denen Tausende von Transaktionen gleichzeitig und in Echtzeit verarbeitet werden müssen – wie beispielsweise Brokerage-Systeme – sind ein weiterer Anwendungsfall für Cluster-Computing. Rocks Cluster Distribution und Open Source Open MPI sind zwei Beispiele für Cluster-Computing-Betriebssysteme.

Betriebssysteme auf einen Blick

Ein Betriebssystem (OS) ist die zentrale Systemsoftware, die Hardware und Anwendungen verbindet. Es stellt Benutzerschnittstellen wie GUI oder CLI bereit, startet und verwaltet Programme, organisiert Speicher, Dateien, Geräte und Netzwerke. Zudem übernimmt es Prozessplanung, Sicherheit, Leistungsüberwachung, Backup und Wiederherstellung. Betriebssysteme existieren in verschiedenen Formen wie Allzweck-, mobile, eingebettete, Netzwerk-, Echtzeit-, verteilte und Cluster-Systeme, die je nach Gerät und Anforderung eingesetzt werden.

Erfahren Sie mehr über Serverbetriebssysteme