Tema 6. Gestión de entrada-salida

Drivers, IRQ, DMA, canales de E/S y dispositivos

🏷️ Drivers🏷️ IRQ🏷️ DMA🏷️ Polling📚 I · Fundamentos del SO

🔌 Subsistema de E/S
El subsistema de E/S del SO gestiona la comunicación entre la CPU y los dispositivos periféricos.

Capas del subsistema de E/S

  • Hardware: dispositivos físicos (disco, teclado, NIC).
  • Controladores de dispositivo (drivers): software que habla con el hardware.
  • SO — capa de E/S independiente: buffers, caché, planificación.
  • Llamadas al sistema: interfaz para el software de usuario.
IRQ, DMA y Polling

IRQ (Interrupt ReQuest)

Los dispositivos señalan a la CPU que necesitan atención mediante interrupciones hardware. La CPU suspende la tarea actual, ejecuta el ISR (Interrupt Service Routine) y reanuda.

DMA (Direct Memory Access)

Controlador que transfiere datos entre dispositivo y RAM sin intervención de la CPU. Libera la CPU para otras tareas durante transferencias grandes (disco, red, sonido).

Polling (Espera activa)

La CPU comprueba periódicamente el estado del dispositivo. Simple pero ineficiente (desperdicia ciclos de CPU).
💡 IRQ en Linux: cat /proc/interrupts — ver asignación de interrupciones.
💿 Planificación de disco
El planificador de disco ordena las peticiones de lectura/escritura para minimizar el tiempo de acceso:
  • FCFS: por orden de llegada.
  • SSTF (Shortest Seek Time First): el más cercano al cabezal actual.
  • SCAN (Ascensor): el cabezal barre de un extremo al otro atendiendo peticiones.
  • C-SCAN: igual que SCAN pero solo atiende en un sentido.
💡 Los SSD no tienen cabezal mecánico, por lo que la planificación de disco tiene menos impacto. NVMe usa colas paralelas.
🖨️ Tipos de dispositivos E/S

Clasificación

  • Dispositivos de bloque: transfieren datos en bloques fijos (discos, USB). Admiten acceso aleatorio.
  • Dispositivos de carácter: flujo de bytes secuencial (teclado, ratón, serial).
  • Dispositivos de red: envían/reciben paquetes (NIC).

Comandos útiles Linux

lsblk          # Listar dispositivos de bloque
lsusb          # Dispositivos USB
lspci          # Dispositivos PCI
dmesg | grep   # Mensajes del kernel sobre hardware
hdparm -tT /dev/sda  # Velocidad del disco

🃏 Conceptos clave — Flashcards

Concepto
IRQ
Click para ver definición
Interrupt ReQuest: señal hardware que solicita atención de la CPU
Click para volver
Concepto
DMA
Click para ver definición
Direct Memory Access: transferencia entre dispositivo y RAM sin intervención de la CPU
Click para volver
Concepto
Driver
Click para ver definición
Software que permite al SO comunicarse con un dispositivo hardware
Click para volver
Concepto
Polling
Click para ver definición
Espera activa: la CPU consulta periódicamente el estado del dispositivo
Click para volver
Concepto
SSTF
Click para ver definición
Shortest Seek Time First: planificación de disco que atiende la petición más cercana al cabezal
Click para volver
Concepto
ISR
Click para ver definición
Interrupt Service Routine: rutina que el SO ejecuta cuando llega una interrupción
Click para volver

📝 Test de autoevaluación

🎯 Quiz — Tema 6