Mil cosas a la vez

Por qué tu PC no colapsa con 20 pestañas abiertas.

Multiprogramación vs. Multitarea

Multiprogramación

Varios programas cargados en memoria al mismo tiempo. Mientras uno espera (ej. leer disco), otro usa la CPU. Así no se desperdicia tiempo.

Multitarea

La CPU cambia entre programas tan rápido (milisegundos) que parece que todos se ejecutan al mismo tiempo. Es lo que usas todos los días.

Analogía: La multiprogramación es como tener varios libros abiertos en tu escritorio. La multitarea es leer un párrafo de cada libro, rotando tan rápido que parece que los lees todos a la vez.

Jerarquía de Memoria: La pirámide de velocidad

No toda la memoria es igual. Existe una pirámide donde lo más rápido es lo más pequeño y costoso:

Nivel Tipo Velocidad Tamaño Ejemplo
1 Registros CPU ⚡ Instantáneo Bytes Datos que la CPU procesa ahora
2 Caché (L1, L2, L3) ⚡⚡ Muy rápida KB-MB Copia de datos frecuentes
3 RAM ⚡ Rápida GB Programas abiertos
4 SSD / Disco 🐢 Lenta TB Archivos guardados

Explorando la jerarquía en Linux

# Ver la información de la caché del CPU
lscpu | grep -i cache

# Ver el uso de RAM en tiempo real
free -h

# Ver qué porcentaje de la caché de disco se usa
cat /proc/meminfo | grep -i "cached"

# Ver la velocidad de lectura del disco
sudo hdparm -t /dev/sda

# Monitorear todo junto con htop
htop

Demo: Multitarea en acción

Veamos cómo Linux gestiona múltiples tareas en tiempo real:

# 1. Abre htop en una terminal
htop

# 2. En otra terminal, abre varias tareas en paralelo
firefox &
gedit &
sleep 100 &

# 3. Observa en htop cómo se reparten CPU y RAM

# 4. Ver cuántos procesos tienes activos
ps aux | wc -l

# 5. Ver estadísticas de E/S (velocidad de disco)
iostat 1 3
¿Sabías que? Un sistema Linux típico ejecuta entre 200 y 400 procesos simultáneamente, incluso cuando parece que no estás haciendo nada.

Laboratorio Vivo

# 1. ¿Cuántos niveles de caché tiene tu CPU?
lscpu | grep -i cache

# 2. ¿Cuánta RAM tienes y cuánta usas?
free -h

# 3. Crea carga: abre 5 procesos en paralelo
for i in {1..5}; do yes > /dev/null & done

# 4. Observa el impacto en htop
htop

# 5. Limpia los procesos de carga
killall yes

Galería de Videos

Jerarquía de Memoria
Multitarea en Sistemas Operativos

Referencias Bibliográficas

  • Silberschatz, A. (2018). Operating System Concepts, 10th Ed. Wiley.
  • Ward, B. (2021). How Linux Works, 3rd Edition. No Starch Press.
  • Love, R. (2010). Linux Kernel Development, 3rd Edition. Addison-Wesley.