Von GDT Page-Outs, Kontextwechsel und virtuellen Maschinen
-
Habadere !
Habt ihr nen Peil welche Register Windows beim Kontextwechsel/Threadwechsel in KTHREAD abspeichert ? Da ist nicht zufällig GDTR und IDTR mit dabei, oder ? Sonst könnte doch jeder Prozess seine eigene GDT haben...(?)
Würde jedoch einiges erklären: ich frage mich eh schon seit einiger Zeit, wie virtuelle Maschinen ihre eigenen GDTs und IDTs für die jeweiligen Gastbetriebssysteme haben können...Apropos wo wir schon mal dabei sind: Es ist ja möglich, die GDT ebenfalls über Paging auszupagen. Was würde denn passieren, wenn man für die jeweilig Page, in der sich die GDT befindet das Supervisor-Bit auf 0 setzt ? Entzieht man dann dem Prozessor den Zugriff auf die GDT, wenn der jeweilig Thread gerade in Ring 3 läuft ?? zOmg...
Und noch eine letzte Frage: Es gibt ja PRO PROZESSOR eine IDT. Trifft das auch für die GDT (GDTR) und die LDT (LDTR) zu, bzw. für das CR3 Register ?
Sry dass ich so viele Fragen stelle. Sollte aber einfach gehen, die schnell zu beantworten, wenn man die Antwort darauf weiß :p
Ich hoffe ihr Jungs seid wirklich gut ^^Würde mich freuen, wenn mir da jemand helfen könnte.
Schöne Grüße ans ganze Forum by the way
FreakZ