Damit ein Computer in der Lage ist ein Datenverarbeitungsprogramm (manchmal auch Anwendung oder Software genannt) zum Funktionieren zu bringen, muss die Maschine in der Lage sein eine gewisse Anzahl von vorbereitenden Operationen auszuführen, umso den Austausch zwischen dem Prozessor, dem Speicher, und den physischen Ressourcen (Peripheriegeräte) sicherzustellen.
Das Betriebssystem (geschrieben BS oder OS, Abkürzung des englischen Begriffs Operating System) hat die Aufgabe, die Verbindung zwischen den materiellen Ressourcen, dem Benutzer und den Anwendungen (Textbearbeitungsprogramm, Videospiele,...) sicherzustellen. Wenn ein Programm auf eine materielle Ressource zugreifen möchte, muss es nicht spezifische Informationen an das Peripheriegerät senden, sondern reicht es die Informationen an das Betriebssystem zu senden, welches die Übertragung zudem betroffenen Betriebssystem über seinen Treiber übernimmt. Ohne Treiber, müsste jedes Programm die Kommunikation mit jedem Peripheriegerät-Typen erkennen und einbeziehen.

Das Betriebssystem ermöglicht so die Programme und das Material zu " trennen", insbesondere um die Verwaltung der Ressourcen zu vereinfachen und dem Benutzer eine Mensch-Maschine-Schnittstelle zu bieten (geschrieben «MMS»), die vereinfacht ist, um es ihm zu ermöglichen, sich von der Komplexität der physischen Maschine zu befreien.
Die Rollen des Betriebssystems sind verschieden:
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 :
Ein Betriebssystem wird als «mehrfädig» (auf Englisch multithreaded) bezeichnet, wenn mehrere «Aufgaben» (ebenfalls Prozesse genannt) gleichzeitig ausgeführt werden können.
Die Anwendungen bestehen aus Befehlssequenz, die man «leichtgewichtige Prozesse» (auf Englisch «threads») nennt. Diese leichtgewichtigen Prozesse werden, je nach der Priorität die ihnen zugeschrieben, entweder aktiv sein, Stand-By gesetzt, unterbrochen oder zerstört werden, wird, oder sie werden sequenziell ausgeführt.
Ein System wird präemptiv genannt, wenn es einen Scheduler (auch Steuerprogramm genannt) besitzt, welcher, nach Prioritätskriterien, die Maschinenzeit 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 der Multiusersysteme, die es mehreren Benutzern ermöglichen gleichzeitig auf der gleichen Maschine verschiedene oder ähnliche Anwendungen zu benutzen: das System wird dann «transaktionnelles System» benannt. Dafür teilt das System jedem Benutzer eine Zeitspanne zu.
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 sind Betriebssysteme die dafür gedacht sind, auf kleinen Maschinen zu funktionieren, wie PDAs (personal digital assistants) oder autonomen elektronischen Geräten (Weltraumsonden, Roboter, Bordcomputer von Fahrzeugen, usw.), die eine begrenzte Autonomie besitzen. So ist ein wesentliches Merkmal der eingebauten Systeme ihre fortgeschrittene Verwaltung der Energie und ihre Kapazität mit begrenzten Ressourcen zu funktionieren.
Die wichtigsten eingebauten Systeme für den « allgemeinen Gebrauch» für PDA sind :
Die Echtzeitsysteme (real time systems), hauptsächlich in der Industrie verwendet, sind Systeme deren Ziel es ist, in einer zeitlich begrenzten Umgebung zu funktionieren. Ein Echtzeitsystem muss, nach spezifischen zeitlichen Bedingungen, so zuverlässig funktionieren. Das heißt, es muss in der Lage sein eine korrekte Bearbeitung der erhaltenen Informationen nach genau definierten Zeitintervallen, abzugeben (regelmäßig oder nicht).
Hier einige Beispiele von Echtzeit-Betriebssystemen :
Man unterscheidet mehrere Typen von Betriebssystemen, je nachdem ob sie in der Lage sind, simultan Informationen 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 | ||
| Windows3.1 | 16/32 bits | X | nicht präemptiv | ||
| Windows95/98/Me | 32 bits | X | kooperativ | ||
| WindowsNT/2000 | 32 bits | X | präemptiv | ||
| WindowsXP | 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 |