Aufbau im Zwiebelschalenmodell
Last updated
Last updated
Ein modernes Betriebssystem kann man vereinfacht gut im sogenannten "Zwiebelschalenmodell" darstellen. Die einzelnen Schichten zeigen unterschiedliche Funktionen des Betriebssystems auf, welche alle aufeinander aufbauen.
Im Zentrum liegen die zu steuernde Hardware des Computers und die Peripheriegeräte. Dazu gehören z.B. die CPU, die Grafikkarte der Speicher und die Festplatte.
Treiber (und BIOS) sind Programme, die die Befehle des Betriebssystems in Hardwarezugriffe umsetzen. Sie bilden damit die Schnittstelle zwischen Kernel und Hardware.
Der Kernel enthält die wichtigsten Funktionen eines Betriebssystems und läuft im sog. Kernel Mode. Die Hardware-Treiber sind Module des Kernels und laufen somit im Kernel Mode. Alle Programmteile, die im Kernel laufen, haben vollständigen Zugriff auf alle Hardware. Innerhalb des Kernel Mode dürfen Systemaufrufe ohne Sicherheitskontrollen stattfinden. Somit laufen Programme im Kernel Mode sehr schnell und brauchen wenig Ressourcen. Dafür ist kein Schutz vor Fehlern vorhanden. Stürzt z.B. ein Treiber ab, kann er auch bei modernen Betriebssystemen das ganze System blockieren (Blue Screen oder «Freeze»).
Die nächste Schicht bilden die User Mode Teile des Betriebssystems. Dieser Bereich hat im Gegensatz zum Kernel Mode keinen direkten Zugriff auf die Hardware. Anweisungen aus dieser Schicht werden zuerst durch den Kernel bearbeitet und danach an die Hardware und Peripherie weitergeleitet. Alle Anwendungsprogramme laufen im User Mode. Im User Mode sind alle Prozesse streng getrennt und kein Prozess darf auf den Speicherbereich eines anderen Prozesses oder gar auf die Kernelspeicher zugreifen. Die Systemaufrufe eines Anwendungsprogramms müssen immer bestimmte Kontrollmechanismen durchlaufen. Sie sind deshalb relativ langsam und verbrauchen mehr Ressourcen. Andererseits sorgen die Kontrollmechanismen für Stabilität und „Absturzsicherheit“ des Systems.
In der äussersten Schicht finden Sie die Anwendungsprogramme. Alle Anweisungen, die ein Anwendungsprogramm an die Hardware richtet, müssen zuerst durch die beiden Schichten des Betriebssystems verarbeitet werden, bevor sie ausgeführt werden. Weil sich das Betriebssystem um das Zusammenspiel der Hardwarekomponenten kümmert, werden die Anwendungsprogramme von dieser Aufgabe entlastet. Die Schnittstelle zwischen Anwendungsprogramm und Betriebssystem wird durch das API gebildet. Anwendungsprogramme können nur mit diesen Programmaufrufen die gewünschten Prozesse auslösen und dürfen bzw. müssen nicht selbst auf die Hardware zugreifen.