Mach3 usa un driver para controlar el puerto paralelo, estoy investigando porqué porque estoy intentando hacer un soft similar pero simplificado. Quiero saber cuales son las ventajas del modo kernel. Pero ya se me acabaron las palabras para google.
Esto es lo que dice en el manual del mach3:
Citar
Mach3 debe ser capaz de enviar muy exactamente las señales de control a los ejes de la máquinaherramienta.
Windows carga y ejecuta programas normales de usuario cuando no tiene nada mejor para
hacerse. Así Mach3 no es un "programa normal de usuario"; éste debe estar al nivel más bajo dentro
Windows (esto es el manejo de interrupciones). Además para hacer esto se requiere posiblemente alta
velocidad (cada eje puede requerir atención 45.000 veces por segundo), el driver necesita sintonizar su
propio código. Windows no permite esto (este es un truco que juegan los virus) así ello se tiene que
solicitar un permiso especial. Este proceso requiere los reinicios de PC. Así si usted no ha realizado los
reinicios solicitados entonces Windows puede presentar la pantalla azul de muerte y el driver puede ser
corrompido. La única salida de esto será desinstalar manualmente el driver
Windows carga y ejecuta programas normales de usuario cuando no tiene nada mejor para
hacerse. Así Mach3 no es un "programa normal de usuario"; éste debe estar al nivel más bajo dentro
Windows (esto es el manejo de interrupciones). Además para hacer esto se requiere posiblemente alta
velocidad (cada eje puede requerir atención 45.000 veces por segundo), el driver necesita sintonizar su
propio código. Windows no permite esto (este es un truco que juegan los virus) así ello se tiene que
solicitar un permiso especial. Este proceso requiere los reinicios de PC. Así si usted no ha realizado los
reinicios solicitados entonces Windows puede presentar la pantalla azul de muerte y el driver puede ser
corrompido. La única salida de esto será desinstalar manualmente el driver
Me gustaria saber si alguien me pudiera expandir un poco mas detalladamente esta expicación. Encuentro solo información de como programar drivers, que me va a resultar util, pero también quiero saber porque en este caso resulta necesario programar un driver ¿Si la computadora se relentiza por algún motivo, el driver sigue ejecutandose con la misma velocidad?¿Tiene acceso al timer de un modo diferente?¿Puede trabajar mas rápido?¿o mas constantemente?¿Por qué?
Bueno Muchas gracias por haber leido hasta el final espero una mano porque estoy medio estancado
Ah algo más:
Citar
http://2004.encuentrolinux.cl/docs/presentaciones/pdf/presentacion-cduclos.pdf
La programación en modo Kernel debiera utilizarse
en situaciones donde el rendimiento es crítico y en
aquellas situaciones donde se requiere acceso a
hardware que no es accesible a las aplicaciones de
usuario.
La programación en modo Kernel no sirve para
todas las situaciones
Desventajas:
● Los recursos disponibles en modo Kernel son por
lo general muy limitados
● Ausencia de printf (Cuidado con el uso de printk)
● No hay aritmética de punto flotante
● El flujo del tiempo no es lineal
La programación en modo Kernel debiera utilizarse
en situaciones donde el rendimiento es crítico y en
aquellas situaciones donde se requiere acceso a
hardware que no es accesible a las aplicaciones de
usuario.
La programación en modo Kernel no sirve para
todas las situaciones
Desventajas:
● Los recursos disponibles en modo Kernel son por
lo general muy limitados
● Ausencia de printf (Cuidado con el uso de printk)
● No hay aritmética de punto flotante
● El flujo del tiempo no es lineal