Hallo Forum,
ich bin gerade dabei, ein kleines OS zu schreiben. Vieles funktioniert schon zufriedenstellend, jedoch habe ich Probleme mit Paging in Verbindung mit Multitasking. Beides alleine funktioniert, jedoch bekomme ich Page Faults, wenn ich einen Ring 3 Task aufrufe (genauer: nachdem ich den Speicherkontext des Tasks für das Paging gesetzt habe). Meine Vermutung ist, dass ich nicht die richtigen Speicherbereiche für meinen Ring 3 Task mappe. Bis jetzt mappe ich eigentlich den gesamten Speicherbereich des Kernels, der bis zum Zeitpunkt, an dem der Task erstellt wird, reserviert ist. Dieser Speicherbereich sollte doch auf jeden Fall alles benötigte einschließen, oder? Welche Speicherbereiche sind für einen Ring 3 Task notwendig und mit welchen Rechten müssen diese gemappt sein?
Danke für Antworten und Grüße
BurningWave
ich bin gerade dabei, ein kleines OS zu schreiben. Vieles funktioniert schon zufriedenstellend, jedoch habe ich Probleme mit Paging in Verbindung mit Multitasking. Beides alleine funktioniert, jedoch bekomme ich Page Faults, wenn ich einen Ring 3 Task aufrufe (genauer: nachdem ich den Speicherkontext des Tasks für das Paging gesetzt habe). Meine Vermutung ist, dass ich nicht die richtigen Speicherbereiche für meinen Ring 3 Task mappe. Bis jetzt mappe ich eigentlich den gesamten Speicherbereich des Kernels, der bis zum Zeitpunkt, an dem der Task erstellt wird, reserviert ist. Dieser Speicherbereich sollte doch auf jeden Fall alles benötigte einschließen, oder? Welche Speicherbereiche sind für einen Ring 3 Task notwendig und mit welchen Rechten müssen diese gemappt sein?
Danke für Antworten und Grüße
BurningWave

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
