{{Stub}} Ein "Ring" bezeichnet die Sicherheitsstufe eines Prozesses und definiert seine Privilegien, also ob und welche systemkritischen Operationen er durchführen darf. == Ringe in der x86-Architektur == Am höchsten privilegierte Prozesse befinden sich im Ring 0 (z. B. der Kernel oder Treiber), am niedrigsten privilegierte Prozesse im Ring 3. Ring-0-Prozesse dürfen auf den gesamten Speicherbereich zugreifen und alle Befehle ausführen, die die CPU zur Verfügung stellt. Weniger privilegierte Prozesse müssen auf bestimmte Befehle, wie zum Beispiel ''lgdt'' oder ''sti'' verzichten, wenn IOPL im [[EFLAGS]]-Register nicht gerade größer oder gleich deren Ring ist. Außerdem können sie nur auf Speicherbereiche von Prozessen zugreifen, die weniger privilegiert sind oder auf Speicherbereiche, die ihnen selbst gehören. Die meisten Betriebssysteme benutzen ausschließlich die Ringe 0 und 3. In OS/2 jedoch laufen Grafiktreiber in Ring 2. Einige Virtualisierungslösungen legen außerdem Betriebssystemkerne in Ring 1 ab, und laufen selbst in Ring 0. Deshalb haben Intel und AMD auf einigen Plattformen einen Ring -1 geschaffen. Das Prinzip der "Ringe" wurde mit dem [[Protected Mode]] eingeführt. == Ringe in anderen Architekturen == In anderen Architekturen gibt es andere Anzahlen von Ringen. Im Honeywell 6180 gibt es beispielsweise 8, in moderneren Architekturen oftmals nur zwei Ringe. == Aufteilung == Die übliche Aufteilung der Ringe lautet wie folgt: Der [[Kernel]] läuft im Ring 0, der Rest im Ring 3 (siehe auch [[Userspace]]). Die beiden anderen Ringe werden kaum noch genutzt, was wohl auch der Grund dafür ist, dass andere Architekturen gar auf sie verzichten und nur zwei Ringe einführen (siehe [[Ring#Ringe_in_anderen_Architekturen | oben]]). Lediglich ein Verwendungszweck wird heute noch genutzt: Beim Virtualisieren von Betriebssystemen wird häufig der eigentliche Kernel in den Ring 1 verschoben, um dem Virtualisierungsprogramm zu erlauben, sich selbst als "Aufpasser" in den Ring 0 zu setzen. == Siehe auch == [[Protected Mode]] [[Kategorie:X86]]