Escritura de drives

El drive es una capa de código ubicada entre el dispositivo de hardware y la aplicación. Un driver usa los privilegios con los que se ejecuta su código para definir cómo se quiere que un dispositivo sea visto por una aplicación. Pueden existir diferentes drivers para un mismo dispositivo.

El driver se ubica en el núcleo (kernel) y realiza las siguientes tareas:

Manejo de procesos: Creación y destrucción de procesos, comunicación entre procesos, asignación de CPU.

Manejo de memoria: La memoria es un recurso crítico, y el núcleo administra su asignación.

– Sistemas de archivos
– Control de dispositivos (drivers)
– Networking (integración de redes)

El núcleo diferencia tres tipos de drivers:

– Drivers de carácter (char devices)
– Drivers de bloque (block devices)
– Drivers de red (network devices)

No todos los drivers son de dispositivos. Algunos son de software. Por ejemplo, el driver de un sistema de archivos como [[ext3]] o [[reiserfs]] son drivers de software, que mapea estructuras de datos de bajo nivel a estructuras de datos de más alto nivel.

Fuente: Apuntes de la materia Sistemas Operativos Multiusuario de la FCA – UNAM