Hallo,
die Frage lautet und ergab sich aus der Diskussion mit FlashBurn an anderer Stelle:
Warum liegt der Kernel üblicherweise im virtuellem Adressraum eines jeden Prozesses?
Der Prozess fordert einen ausgerichteten Buffer vom Kernel an und merkt sich dessen Zeiger. Dann füllt er diesen mit Daten, setzt die Register (Funktionsnummer, Zeiger auf Buffer, Buffergröße) und ruft dann einen Syscall auf (z.B. "int 80h"). Kann der Kernel dann mit diesem Zeiger etwas anfangen, also den entsprechenden Bereich in seinen eigenen Adressraum mappen und verarbeiten?
Gruß,
Svenska
die Frage lautet und ergab sich aus der Diskussion mit FlashBurn an anderer Stelle:
Warum liegt der Kernel üblicherweise im virtuellem Adressraum eines jeden Prozesses?
Meinst du das du den Funktions-Code von einer Kernel-Funktion in den UserSpace mappst und dort dann vom "User" der Code ausgeführt werden kann?Nicht wirklich... allerdings hab ich keine Ahnung, was ich meine.
Der Prozess fordert einen ausgerichteten Buffer vom Kernel an und merkt sich dessen Zeiger. Dann füllt er diesen mit Daten, setzt die Register (Funktionsnummer, Zeiger auf Buffer, Buffergröße) und ruft dann einen Syscall auf (z.B. "int 80h"). Kann der Kernel dann mit diesem Zeiger etwas anfangen, also den entsprechenden Bereich in seinen eigenen Adressraum mappen und verarbeiten?
Gruß,
Svenska

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
