Hallo,
ich bin mittlerweile so weit, dass mein Projekt Betriebssystem einfache Programme ausführen kann, die über System Calls Text ausgeben, Ports und Speicherbereiche anfordern können.
Die Anforderung von Speicherbereichen mappt den gewünschten Speicher, z.B. 0xa0000 einfach in den Usermode, ohne überhaupt zu prüfen, man könnte also den Kernel komplett in den Usermode mappen und dann überschreiben, was ja nicht sonderlich sicher ist. *g*
Wie macht ihr das?
Welche Ports werden einfach so dem Task zur verfügung gestellt und welche nicht?
Wie sieht das aus, wenn jetzt z.B. ein Grafiktreiber den Bereich 0xa0000 anfordert, werden da noch spezielle Prüfungen durchgeführt, damit nicht aus Versehen Bereiche des Kernels in den Usermode gemappt werden?
Gruß Christian
ich bin mittlerweile so weit, dass mein Projekt Betriebssystem einfache Programme ausführen kann, die über System Calls Text ausgeben, Ports und Speicherbereiche anfordern können.
Die Anforderung von Speicherbereichen mappt den gewünschten Speicher, z.B. 0xa0000 einfach in den Usermode, ohne überhaupt zu prüfen, man könnte also den Kernel komplett in den Usermode mappen und dann überschreiben, was ja nicht sonderlich sicher ist. *g*
Wie macht ihr das?
Welche Ports werden einfach so dem Task zur verfügung gestellt und welche nicht?
Wie sieht das aus, wenn jetzt z.B. ein Grafiktreiber den Bereich 0xa0000 anfordert, werden da noch spezielle Prüfungen durchgeführt, damit nicht aus Versehen Bereiche des Kernels in den Usermode gemappt werden?
Gruß Christian

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert


