Privilegiertes Ringkonzept

446
benny d

Das privilegierte Ringkonzept wird von intel in seiner Hardware implementiert.

In Intels Entwicklerhandbuch gibt es ungefähr 15 Anweisungen, die unbedingt Ring 0 zur Ausführung benötigen.

In OS-Büchern und anderen Ressourcen können Sie lesen, dass der größte Teil des Kernel-Codes bei Ring 0 ausgeführt wird. Es ist jedoch schwer zu verstehen, dass der größte Teil dieses Kernel-Codes diesen 15 Anweisungen entspricht.

Wird das besagen, dass ein Betriebssystem seine eigenen virtuellen Schutzringe implementiert? (Zum Beispiel können Sie die Verwaltung des virtuellen Speichers als eine Komponente davon betrachten.) Oder was noch wichtiger ist, was löst das RPL-Register auf 0 aus?

hoffe du kannst verstehen und eventuell helfen,

Danke im Voraus

-1
Sie implizieren den falschen Weg. Es ist nicht „Ring 0 => eine der 15 Anweisungen“, sondern „Eine der 15 Anweisungen => Ring 0“. Es gibt keine Aussage über andere Anweisungen. Daniel B vor 6 Jahren 1
@DanielB glaubt nicht, dass der Fragesteller das sagen will. Englisch scheint nicht ihre Muttersprache zu sein. jdwolf vor 6 Jahren 0

2 Antworten auf die Frage

2
jdwolf

Betriebssysteme verwenden normalerweise Software-Interrupts, um ein System namens syscall und sysret (urne) zu implementieren. Die Interrupt-Deskriptor-Tabelle kann festlegen, ob dieser Handler auf Ring 0 erhöht wird. Auf diese Weise wird das Konzept von "Kernel-Space" und "User-Space" implementiert.

x86 hat auch ein flexibleres Konzept namens Call Gates. Sie funktionieren, indem sie einen Funktionsaufruf ausführen, außer als Teil dieses Aufrufs kann die globale oder lokale Deskriptortabelle den als Far-Aufruf bezeichneten Ring ändern. Die meisten modernen Betriebssysteme verwenden sie aus Kompatibilitätsgründen nicht.

1
grawity

Es ist jedoch schwer zu verstehen, dass der größte Teil dieser Kernel-Code dieser 15 Anweisungen entspricht.

Es ist nicht Ring 0 hat vollen Zugriff auf die gleichen Anweisungen wie Ring 3.

Was das Handbuch eigentlich bedeutet, ist, dass Ring 0 15 Anweisungen mehr als Ring 3 verwenden kann.