Programación drivers

Iniciado por FermatsTheorem, 31 Octubre 2017, 04:58 AM

0 Miembros y 2 Visitantes están viendo este tema.

FermatsTheorem

Buenas noches,

Seguramente esta pregunta sea demasiado básica o general, pero me gustaría que me orienten un poco.
Estoy interesado en la programación de drivers, y me gustaría saber algún punto de partida para esto. Ya sea aprender algún lenguaje en particular, arquitectura de computadoras, electrónica digital, etc.
No estoy buscando un tutorial que me explique como hacer algo al estilo receta, sino que puedo empezar por estudiar, para en algún futuro poder hacer algo medianamente simple pero funcional.

Espero que me puedan orientar, ya que no encontré demasiado material de esto, por lo menos, no desde el punto de vista orientativo.

Muchas gracias. Un saludo.

Eternal Idol

Efectivamente la pregunta es muy generica, necesitas saber C (y si sabes ensamblador mucho mejor para depurar y comprender).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

FermatsTheorem

Muchas gracias por la respuesta.

Asumo que la pregunta es bastante genérica, ya que como dije en el primer post, no tengo una base de siquiera que es lo que necesito para poder programar un driver.

En cuanto a C, que es lo que nombraste, es el único lenguaje en el que se puede hacer? O por ejemplo, C++ sirve para lo mismo?

Un saludo.


Enviado desde mi XT1563 mediante Tapatalk

BloodSharp

Cita de: FermatsTheorem en 31 Octubre 2017, 15:03 PMEn cuanto a C, que es lo que nombraste, es el único lenguaje en el que se puede hacer? O por ejemplo, C++ sirve para lo mismo?

Se puede también en Delphi (aunque no es común) y ensamblador, C++ ni lo pienses tocar para crear un driver...


B#



Eleкtro

#4
Cita de: FermatsTheorem en 31 Octubre 2017, 04:58 AMEstoy interesado en la programación de drivers, y me gustaría saber algún punto de partida para esto. Ya sea aprender algún lenguaje en particular, arquitectura de computadoras, electrónica digital, etc.

Aquí tienes un ejemplo de como puedes desarrollar un driver en modo kernel utilizando el lenguaje C/C++ en la IDE Visual Studio:


...en la misma página a la izquierda puedes encontrar una breve introducción para el desarrollo de drivers en modo usuario con C/C++ en Visual Studio, y si empiezas a leer desde el tema principal puedes aprender gran cantidad de fundamentos sobre todo aquello que vas a necesitar aprender relacionado con el desarrollo de drivers en general:


...Ah, y no ignores la recomendación que resalta al principio del artículo antes de empezar a leer el resto de la guía:
CitarYou should already be familiar with the C programming language, and you should understand the ideas of function pointers, callback functions, and event handlers. If you are going to write a driver based on User-Mode Driver Framework 1.x, you should be familiar with C++ and COM.

Saludos.








Eternal Idol

#5
Cita de: FermatsTheorem en 31 Octubre 2017, 15:03 PMEn cuanto a C, que es lo que nombraste, es el único lenguaje en el que se puede hacer? O por ejemplo, C++ sirve para lo mismo?

El 99% de los modulos de modo Kernel son desarrolldaos en C y estoy hablando de software serio no de proyectos amateurs por hobby que se pueden escribir en casi cualquier lenguaje (lo tienen que entender otros programadores de Kernel y hay que darle soporte, por eso en ensamblador como mucho se hacen algunas rutinas). C++ no se suele usar para programar modulos de modo Kernel aunque al menos en Windows es perfectamente factible mas no recomendado para quien apenas comienza (no se pueden usar todas las caracteristicas de C++ por no estar disponibles, no hay RTL, hay que tener cuidado con los templates y en que sección de codigo los ubica el compilador, etc.).

PD. C/C++ no es nada, el ejempo dado es codigo C (si fuera C++ fallaria al enlazar DriverEntry) y UMDF trabaja en modo Usuario - y no Kernel - como su nombre lo indica.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón