En Linux, un principio fundamental es que "todo es un archivo". Esta filosofía se extiende a los componentes de hardware, que se representan como archivos especiales en el sistema de archivos. Comprender estos dispositivos Linux y sus archivos correspondientes es crucial para la administración del sistema. Comencemos explorando el directorio /dev, la ubicación tradicional para cada archivo de dispositivo.
Explorando Dispositivos Linux en /dev
Puede listar los archivos en el directorio /dev para ver cómo el sistema representa varios dispositivos linux.
$ ls -l /dev
brw-rw---- 1 root disk 8, 0 Dec 20 20:13 sda
crw-rw-rw- 1 root root 1, 3 Dec 20 20:13 null
srw-rw-rw- 1 root root 0 Dec 20 20:13 log
prw-r--r-- 1 root root 0 Dec 20 20:13 fdata
Aquí hay un desglose de las columnas de izquierda a derecha:
- Permisos
- Propietario
- Grupo
- Número de Dispositivo Principal (Mayor)
- Número de Dispositivo Secundario (Menor)
- Marca de Tiempo
- Nombre del Dispositivo
Identificación de Tipos de Dispositivos Linux
El primer carácter en la cadena de permisos de la salida de ls -l indica el tipo de archivo. Para un archivo de dispositivo, verá uno de los siguientes, lo que ayuda a identificar los tipos de dispositivos linux específicos:
c- carácterb- bloquep- pipe (tubería)s- socket
Dispositivos de Carácter
Estos dispositivos transfieren datos un carácter a la vez. Muchos pseudo-dispositivos, que no están conectados físicamente a hardware sino que proporcionan funciones esenciales del sistema operativo, se representan como dispositivos de carácter. Un ejemplo clásico es /dev/null.
Dispositivos de Bloque
Estos dispositivos transfieren datos en bloques grandes de tamaño fijo. Comúnmente encontrará que el hardware de almacenamiento, como los discos duros (/dev/sda), las SSD y otros componentes de almacenamiento masivo, se representan como dispositivos de bloque, ya que están optimizados para el acceso a datos basado en bloques.
Dispositivos Pipe (Tuberías)
Las tuberías con nombre, o FIFOs (First-In, First-Out), permiten la comunicación entre procesos. Actúan como dispositivos de carácter, pero canalizan su salida a otro proceso en lugar de a un dispositivo físico.
Dispositivos Socket
Los dispositivos socket también facilitan la comunicación entre procesos. A diferencia de las tuberías, son más versátiles y pueden soportar la comunicación entre múltiples procesos, incluso a través de una red.
Comprensión de los Números de Dispositivo
Cada dispositivo linux se identifica de forma única mediante dos números: el número de dispositivo principal (mayor) y el número de dispositivo secundario (menor). Puede verlos en la salida de ls, separados por una coma. Para un dispositivo con los números 8, 0:
El número principal (8) identifica el controlador responsable del dispositivo. En este caso, 8 se usa comúnmente para unidades de disco SCSI. El número secundario (0) le dice al controlador qué instancia específica del dispositivo es. Aquí, 0 representa la primera unidad (a).