Damit ein Computer in der Lage ist ein Datenverarbeitungsprogramm (manchmal auch Anwendung oder Softwaregenannt) 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 es reicht 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 verschiedene :
Das Betriebssystem besteht aus einer Reihe von Programmen, mit denen die Interaktionen mit dem Material verwaltet werden. In dieser Softwaregruppe unterscheidet man meist folgende Elemente :
Ein Betriebssystem wird als «l;mehrfädig» (auf Englisch multithreaded) bezeichnet, wenn mehrere «Aufgaben» (ebenfalls Prozessegenannt) gleichzeitig ausgeführt werden können.
Die Anwendungen bestehen aus Befehlssequenz, die man «leichtgewichtige Prozesse» (auf Englisch «threads») nennt. Diese leichtgewichtigen Prozesse werden entweder aktiv sein, in Wartestellung gehen, unterbrochen oder zerstört werden, je nach der Priorität die ihnen zugeschrieben wird, oder sie werden sequenziell ausgeführt.
Ein System wird präemptiv genannt, wenn es einen Scheduler (auch Steuerprogrammgenannt) besitzt, welcher, nach Prioritätskriterien, die Maschinenzeit zwischen den verschiedenen Prozessen aufteilt, die danach fragen.
Ein System wird als System mit geteilter Zeit bezeichnet, wenn eine Zeitrate jedem Prozess 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 Prozessor parallel funktionieren zu lassen, um so eine höhere Rechenleistung zu erreichen, als man sie mit einem hochwertigen Prozessor erreichen kann oder um die Verfügbarkeit 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.
Les Eingebaute Systeme sind Betriebssysteme die dafür gedacht sind, auf kleinen Maschinen zu funktionieren, wie PDA (personal digital assistants oder auf Deutsch Persönlicher digitaler Assistent) 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 « Normalkonsumenten» 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 so zuverlässig funktionieren, nach spezifischen zeitlichen Bedingungen, 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 |