
He leido una guía interesantísima de un usuario de linux llamado Federíco. En esta guía podemos ver como se maneja el hardware desde el sistema operativo. Es realmente útil para poder comprender el funcionamiento de nuestros sistemas.
Aquí os pongo el enlace para que todos le echeis un vistazo. No tiene desperdicio. Yo adjunto aquí la parte que más me ha interesado.
Udev - Hotplug
Ahora bien, los programas de usuario final no acceden directamente a los dispositivos en /sys. Aquí es donde entra Udev. Udev es el encargado de crear los dispositivos en el tradicional directorio /dev. Por ejemplo /dev/hda para un disco duro IDE. Anteriormente al kernel 2.6 el manejo de dispositivos en este directorio era muy complicado. Había que crear un nodo de para todo dispositivo posible, por eso /dev llegaba a tener miles de entradas. Con Udev este problema se soluciona, ya que se encarga de leer la información de /sys y crear un nodo para cada dispositivo conectado.
Básicamente las funciones de Udev se dividen en:
Creación de dispositivos y nombrado
Udev dispone de reglas de nombrado y renombrado de dispositivo bajo /dev. De manera que al conectarse un dispositivo Udev puede seguir reglas personalizables para dar un nombre específico a cada dispositivo. Así por ejemplo si el kernel indica que se ha conectado una unidad grabadora de cd’s, el dispositivo se puede crear como /dev/cdrw y no necesariamente, por ejemplo /dev/hdc. Además Udev puede gestionar nombres de manera estática. Por ejemplo las reglas de Udev permiten que los nombres de las interfaces de red se mantengan después de reiniciar el equipo aunque se quite una interfaz de red. Algo que no pasaba en sistemas anteriores en los que las interfaces de red se confundían si se quitaban placas, etc. No solo eso, sino que otra funcionalidad de Udev permite crear links simbólicos para los nombres de las unidades. Por ejemplo el nodo para un reproductor ipod puede ser creado como /dev/sda1, pero además se le puede crear un link simbólico con un nombre más representativo como /dev/ipod1. Incluso en base al número de serie del dispositivo las reglas pueden indicar que se reserve ese nombre solamente para ese dispositivo. Por último Udev también gestiona los permisos y el propietario con los que debe crearse el dispositivo.
Carga de módulos.
Esta función en realidad la hace Hotplug; sin embargo desde la versión 0.59 de Udev, Hotplug se integró dentro de Udev. También en base a reglas cada vez que un dispositivo es encontrado o conectado, Udev-Hotplug lee la información que el kernel entrega en /sys y determina el modelo del dispositivo, y en base a ello carga el módulo o driver apropiado en el kernel, para que este último pueda acceder al dispositivo.
Ejecución de programas
Por último Udev-Hotplug puede ejecutar programas específicos al detectarse o conectarse un dispositivo. Algunos programas son lanzados para configurar el hardware, actualizar el firmware del dispositivo, etc. No todos los dispositivos necesitan que se ejecute un programa para que funcionen, solo los que cumplen con las reglas que maneja Udev-Hotplug y que por supuesto son personalizables.









Sin comentarios
Post al azar
Deje sus comentario: