Das privilegierte Ringkonzept wird von Intel in seiner Hardware implementiert.
In Intels Entwicklerhandbuch gibt es ungefähr 15 Anweisungen, die für die Ausführung von Ring 0 erforderlich sind.
In OS-Büchern und anderen Ressourcen können Sie nachlesen, dass der größte Teil des Kernel-Codes auf Ring 0 ausgeführt wird. Es ist jedoch schwierig zu verstehen, dass der größte Teil dieses Kernel-Codes aus diesen 15 Anweisungen besteht.
Bedeutet das, dass ein Betriebssystem seine eigenen virtuellen Schutzringe implementiert? (Zum Beispiel können Sie die virtuelle Speicherverwaltung als eine Komponente davon sehen.) Oder wichtiger, was löst das RPL-Register auf 0 aus?
hoffe du kannst verstehen und irgendwann helfen,
Danke im Voraus
kernel
privileges
protected
benny d
quelle
quelle
Antworten:
Betriebssysteme verwenden normalerweise Software-Interrupts, um ein System namens syscall und sysret (urn) zu implementieren. In der Interrupt-Deskriptor-Tabelle kann festgelegt werden, 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, das sogenannte Call Gates. Sie führen einen Funktionsaufruf durch, mit der Ausnahme, dass im Rahmen dieses Aufrufs die globale oder lokale Deskriptortabelle den als Fernaufruf bezeichneten Ring ändern kann. Die meisten modernen Betriebssysteme verwenden sie aus Kompatibilitätsgründen nicht.
quelle
Ist es nicht. Ring 0 hat vollen Zugriff auf dieselben Anweisungen wie Ring 3.
Was das Handbuch tatsächlich bedeutet, ist, dass Ring 0 15 mehr Anweisungen als Ring 3 verwenden kann.
quelle