Cómo Linux gestiona el hardware
Conozca la función de los archivos /proc/pci, /proc/dma, /proc/interrupts y /proc/ioports
Para que todo funcione correctamente, es necesario que los dispositivos estén allocating recursos de la computadora.
Estos recursos pueden ser puertos de entrada y salida, solicitudes de interrupción (IRQ) y acceso directo a memoria (DMA). Veamos estos conceptos.
Puertos de Entrada/Salida (Input / Output)
Los puertos de entrada y salida son direcciones de memoria reservadas en el microprocesador para que los dispositivos realicen entrada y salida de información.
Estas direcciones de memoria se utilizan para el intercambio de datos entre el procesador y los dispositivos de forma simplificada.
Los dispositivos pueden usar más de un puerto de entrada/salida o un rango de direcciones. Por ejemplo, una placa de sonido estándar usa los puertos 0x220, 0x330 y 0x388.
Cada dispositivo posee una dirección de puerto única que no puede ser compartida con otros dispositivos.
Las direcciones de E/S en uso en el sistema pueden ser visualizadas con el comando:
# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
(...)
Solicitud de Interrupción (IRQ)
Los IRQs son llamadas que los dispositivos pueden hacer para solicitar atención especial del procesador.
La mayoría de las computadoras ofrecen solo 16 interrupciones de hardware para los más diversos dispositivos.
Puede parecer poco para las modernas configuraciones con los más diferentes dispositivos. Afortunadamente los IRQs pueden ser compartidos.
Las interrupciones del sistema pueden ser visualizadas en el Kernel con el comando:
# cat /proc/interrupts CPU0
0: 604694 XT-PIC timer
1: 35746 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 13546 XT-PIC orinoco_cs
11: 15 XT-PIC ALi Audio Accelerator
14: 38759 XT-PIC ide0
Acceso Directo a Memoria (DMA)
El DMA se usa para permitir la transferencia de datos entre dispositivos y la memoria sin la intervención del procesador.
Este acceso se realiza a través de canales (channels). La mayoría de las computadoras tienen dos controladores de DMA. El primero controla los canales 0, 1, 2, 3 y el segundo los canales 4, 5, 6, 7, totalizando 8 canales.
Los canales de DMA en uso en el sistema pueden ser visualizados con el comando:
# cat /proc/dma
4: cascade
Es importante que sepa que estos recursos son limitados y necesitan ser gestionados para que se eviten conflictos entre los dispositivos.
Algunos dispositivos como puertos seriales y paralelos ya utilizan los recursos en el siguiente estándar:
TABLA - Referencia de dispositivos en Linux
| Nombre del Dispositivo en Linux | Nombre del Dispositivo en Windows | Puerto E/S | DMA | IRQ |
| ttyS0 | COM1 | 0x3F8 | - | 4 |
| ttyS1 | COM2 | 0x2F8 | - | 3 |
| ttyS2 | COM3 | 0x3E8 | - | 4 |
| ttyS3 | COM4 | 0x2E8 | - | 3 |
| lp0 | LPT1 | 0x378 | - | 7 |
| lp1 | LPT1 | 0x278 | - | 5 |
| /dev/hda1 | C: | 0x1F0 | - | 14 |
| /dev/fd0 | A: | 0x3F0 | 2 | 6 |
En el examen LPIC-1 puede ser que tenga que resolver algún posible conflicto de recursos en puertos seriales o paralelos.
Hotplug x Coldplug
Existen dispositivos que pueden ser conectados o removidos con la computadora encendida y en pleno funcionamiento, que son categorizados como hotplug.
Para estos, el Kernel será capaz de percibir su presencia o ausencia y cargar los drivers, scripts y programas necesarios para su correcto funcionamiento.
En esta categoría se enmarcan: teclado, mouse, webcam, disco duro externo USB, cd-rom externo USB, impresoras, bocinas, micrófono, monitores, celulares, memorias USB, etc.
Ya los dispositivos que obligatoriamente deben ser conectados y removidos con la computadora apagada son llamados de coldplug.
Cualquier intento de alterar su estado podría causar bloqueo o incluso quemar el equipo. Estos son: CPU, Memoria RAM, discos duros internos, placas internas (sonido, video, etc.).
Dispositivos de Almacenamiento
Linux soporta diversos tipos de almacenamiento de datos en masa. Estos dispositivos pueden ser categorizados en ópticos, magnéticos o en memoria.
Los discos ópticos son los CD-ROMs (700Mb), DVDs (4,7-8,5 Gb) y Blu-Rays (25-50Gb). No son tan rápidos como los HDs, pero tienen gran durabilidad si se guardan en lugares apropiados y no permiten grabar los datos múltiples veces.
Los discos magnéticos tienen gran capacidad de almacenamiento de datos, que puede llegar a 8 Terabytes.
Algunos modelos son híbridos, ya que poseen discos magnéticos y grandes memorias flash para almacenar los datos más leídos o incluso el sistema operativo. Son sensibles a golpes y caídas.
Todavía en la categoría de dispositivos magnéticos, tenemos las cintas magnéticas, bastante utilizadas para backup de datos. Permiten grabar datos de forma secuencial con bajo costo.
Su uso es cada vez menor debido al bajo precio de los discos, computación en la nube y otras estrategias de copia de seguridad más avanzadas.
Los "discos" en memoria son en realidad bancos de memoria flash llamados de Solid State Drive (SSD) – drive de estado sólido – encapsulados en una caja del tamaño de un HD y no poseen partes móviles como los discos ópticos y magnéticos. Su tiempo de acceso a los datos es increíblemente veloz comparado con los discos magnéticos y ópticos, son resistentes a caídas y sacudidas, consumen menos energía, entre otros beneficios.
Sin embargo la capacidad de almacenamiento no supera 1 Terabyte, y su costo es elevado en comparación con los discos magnéticos. Son muy utilizados en Ultrabooks y en servidores de alta performance.
Dispositivos PCI
Durante el proceso de carga del sistema, el Kernel detecta los dispositivos PCI conectados en el micro. La lista de las placas de expansión encontradas podrá ser leída a través del archivo especial /proc/pci.
# cat /proc/pci
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: PCI device 10b9:1644 (Acer Laboratories Inc. [ALi]) (rev 1).
Prefetchable 32 bit memory at 0xf0000000 [0xf3ffffff].
Bus 0, device 1, function 0:
PCI bridge: Acer Laboratories Inc. [ALi] M5247 (rev 0).
Master Capable. No bursts. Min Gnt=8.
Bus 0, device 2, function 0:
USB Controller: Acer Laboratories Inc. [ALi] M5237 USB (rev 3).
IRQ 11.
¿Quieres aprender más sobre los archivos especiales de Linux en /proc? Conoce nuestro curso de LPIC-1
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes hacer la matrícula aquí con trial de 7 días gratis. Si ya tienes una cuenta, puedes acceder aquí.
¿Te gustó? ¡Compártelo :-)
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.