====== Von der Hardware zum Betriebssystem ====== Man stelle sich zunächst einen "blanken" Computer vor, dh. eine **CPU** auf einem **Motherboard** mit **Speicher** und Verbindung zu **Peripheriegeräten** wie Drucker, Laufwerk, aber ohne jegliche Software. Die CPU kann nicht mehr als * Speicherinhalte in Register laden * Registerinhalte in Speicher ablegen * Registerinhalte logisch oder arithmetisch miteinander verknüpfen * mit IN- und OUT-Befehlen Register in Peripheriegräten lesen und schreiben. Mit Hilfe der Controllern der Peripheriegeräte (Tastatur, Bildschrim, Plattenlaufwerk, Soundkarte) kann man so bereits * ein Zeichen von der Tastatur lesen, * ein Zeichen an einer beliebigen Position des Textbildschirms ausgeben, * ein Pixel an eine beiliebige Stelle des Graphikbildschrim setzen, * einen Sektor einer bestimmten Spur der Festplatte lesen oder schreiben, * einen Ton einer bestimmten Frequenz und Dauer erzeugen. Dabei bewegt man sich auf einer sehr niedrigen Ebene, die als **Hardwareebene** bezeichnet wird. Um einen Rechner auf dieser Basis bedienen zu können, müsste man mit den technischen Details jedes einzelnen Peripheriegerätes vertraut sein. Von diesem elementaren Befehlen ist es noch ein sehr weiter Weg, bis man mit dem Rechner * Briefe editieren und drucken * Fotos und Grafiken bearbeiten * Musik abspielen * Adventure-, Strategie- und Simulationsspiele ausführen kann. Hier befinden wir uns auf der **Benutzerebene**, wo der Rechner als Arbeitsgerät auch für technische Laien dienen muss. Zwischen dem vom Anwender intuitiv zu bedienenden Rechner und den Fähigkeiten der Hardware klafft eine riesige Lücke, die vom * Betriebssystem (Datei-, Prozess- und Speicherverwaltung) und dem * grafischen Bediensystem (Menüs, Fenster, Maus) überbrückt wird. {{ :informatik:k5inf:btriebssysteme:betriebssystem.jpg?500 }} Jede Schicht fordert von der niedrigeren Schicht Dienste an. Diese wiederum benötigt zur Erfüllung der Anforderungen selber Dienste von der nächsten Schicht. Auf diese Weise setzen sich die Anforderungen in die tiefen Schichten fort, bis die Hardware zu geeingeten Aktionen veranlasst wird. Anders betrachtet, bietet jede Schicht der jeweils höherliegenden Schicht Dienste an. "Intel 80286-kompatible Prozessoren unterscheiden vier Privilegierungsstufen: Ring 0, 1, 2 und 3. Dabei stellt Ring 0, genannt „supervisor mode“, die höchste Privilegierungsstufe dar, die bis zur Stufe 3 (Ring 3) immer weiter eingeschränkt wird." \\ Weitere Details siehe [[wpde>Ring_%28CPU%29|Privilegierungsschichten bei Betriebssystem]]