Estoy construyendo un simulador HW para nuestro equipo de pilotos. Ahora, el simulador se divide en 2 módulos: El primer módulo se ejecuta dentro del controlador, en modo kernel y ahí es donde está la interfaz principal entre el controlador y el HW-Simulator. segundo módulo es un código ejecutable en modo de usuario que genera datos para el simulador y lo transporta al simulador a través de llamadas a DeviceIOControl
(bajo API de Windows)Ejecutando un ejecutable en modo usuario desde el modo kernel
Mi necesidad es la siguiente: Quiero ser capaz de ejecutar usuario- modo ejecutable desde el kernel-mode. Y necesito poder hacer esto de una manera relativamente portátil. Actualmente solo me estoy ejecutando en Windows, pero eso debería cambiar pronto. Además, necesito poder comunicarme con el código de modo de usuario a través de su tubería stdin
, para reconfigurarlo y finalmente cerrarlo.
encontré esto: Executing a user-space function from the kernel space
pero es sólo relevante para el linux-kernel. ¿Hay una alternativa más portátil? O una alternativa de Windows?
¿Puedo hacer esto en Windows simplemente usando las funciones ShellExecute/RunAs API?
Nota: Somos conscientes de los riesgos de seguridad implicados al invocar el código de modo de usuario desde el kernel-space. Pero como esto solo debe usarse como entorno de prueba y no alcanzará nunca nuestro código de publicación, entonces no estamos preocupados.
Dudo que encuentre una forma "portátil" de hacer cosas a nivel de kernel. – casablanca
@casablanca: suficiente. ¿Cómo puedo lograr esto en Windows, entonces? – eladidan
Oh, yo tampoco sé la respuesta, ese fue solo un comentario. :) – casablanca