Dispositivos

De Manuais Informática - IES San Clemente.
Revisión del 20:22 8 ene 2019 de Javierfp (discusión | contribuciones) (Página creada con «En Linux los dispostivos hardware son representados mediante abstracciones a través del Sistema de Archivos. De este modo los dispositivos pueden ser manejados a través d…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

En Linux los dispostivos hardware son representados mediante abstracciones a través del Sistema de Archivos. De este modo los dispositivos pueden ser manejados a través del concepto de archivo y directorio. Sin embargo, debido a las propias características heterogéneas del dispositivo y a la necesidad de los controladores de dispositivo, que permitan la comunicación con el mismo a través del Sistema Operativo, es necesario un soporte de configuración adicional

Características

A la hora de representar un dispositivo en Linux se utiliza información asociada al mismo que puede ser accedida, como en el caso de archivos y directorios, a través del i-nodo correspondiente. Veamos un ejemplo:

ls -la /dev/sda1
brw-rw---- 1 root disk 8, 1 Xuñ  3 09:00 /dev/sda1

En el comando anterior se muestra información del archivo de dispositivo asociado a la primera partición del primer disco duro (sda1) y en esa salida podemos observar

  • El Dispositivos es de tipo bloques (b)
  • Permisos y propietario
  • disk: se trata de un disco
  • Los números minor y major de dispositivo (8, 1): Major number: identifica el driver que maneja el dispositivo, Minor number: permite al driver identificar un dispositivo concreto entre varios controlados por el mismo driver

Creación de archivos de dispositivos

Durante el arranque se utilizan sistemas de creación automática de archivos de dispositivo en el kernel por parte del servicio udev, que genera automáticamente los archivos de dispositivos, a través de los cuales el kernel se comunica con éstos. Si por algún motivo no se crean, o somos incapaces de acceder a algún dispositivo externo podemos utilizar el siguiente procedimiento para crear manualmente los archivos de dispositivo asociados.

Puede utilizarse el comando mknod para la creación de archivos de dispositivos en el Sistema de Archivos, es necesario pasar en el comando los números major y minor del dispositivo, esto quiere decir que es necesario conocer información del driver que los maneja. La sintaxis del comando es: mknod [opciones] nombre tipo [major minor]. Veamos un ejemplo:

mknod /dev/sda b 3 0

Crea un archivo de dispositivo para el dispositivo /dev/sda con números major y minor 3 y 0 respectivamente. Para conocer los números major y minor de un dispositivo dado podemos usar el comando stat del siguiete modo (en este ejemplo para el dispositivo /dev/sda)

stat -c 'major: %t minor: %T' /dev/sda

Este comando puede resultar útil para determinar los major y minor utilizados por un dispositivo existente como pista para crear archivos de dispositivos nuevo

El script makedev también permite la creación de archivos de dispositivo de un modo automático, sin necesidad de especificar los números major y minor, sin embargo no siempre puede ser utilizado

cd /dev
./MAKEDEV -v sda

Otro posible uso que justique la creación de archivos de dispositivo es la creción de un named pipe, canalización con nombre, para la intercomunicación entre procesos. Uno de los procesos puede escribir en la canalización y otro puede leer de ella.

Gestion dinámica de dispositivos

Durante el arranque del sistema es necesario que ciertos archivos de dispositivos se creen automáticamente. El kernel tiene ciertos controladores de dispositivo estáticamente integrados, pero otros son cargados como módulos y, por tanto, deben ser gestionados de un modo dinámico durante el arranque del sistema.

En la actualidad el sistema más utilizado para la gestión dinámica de dispositivos durante el arranque es udev, cuyas características principales son

  • Opera en modo de usuario
  • Permite personalizar el nombre de dispositivo: esta característica es útil para gestionar la conexión de dispositivos en caliente

Comandos útiles para ver información de dispositivos

blkid

Muestra información de los dispositivos de bloques del sistema

lsblk

Muestra un árbol con los dispositivos principales de almacenamiento y sus particiones

lshw -class storage

El comando lshw muestra información genérica sobre el hardware. Con la opción -class storage filtra aquella información correspondiente a los dispositivos de almacenamiento

Referencias

Udev http://www.escomposlinux.org/lfs-es/lfs-es-SVN/chapter07/udev.html https://wiki.archlinux.org/index.php/udev

Volver

JavierFP 16:31 08 ene 2019 (CET)