Práctica 4: Planificación del CPU en Linux

Sistemas Operativos - Asignación de tiempo de procesador

Contexto

Introducción

El sistema operativo es responsable de decidir qué proceso utiliza el CPU en cada momento. Este mecanismo se conoce como planificación del procesador (CPU Scheduling).

En Linux, el planificador utiliza diferentes criterios como prioridad, uso de CPU y comportamiento del proceso para distribuir el tiempo de ejecución.

El CPU nunca está realmente "libre": siempre está asignado a algún proceso, incluso si es un proceso del sistema.

En esta práctica se observará cómo múltiples procesos compiten por el CPU y cómo el sistema asigna recursos dinámicamente.

Objetivo

Objetivo

Entorno

Condiciones del entorno

La práctica se ejecuta en un entorno Linux compartido mediante SSH.

ssh usuario@IP_SERVIDOR

Verificar disponibilidad:

top ps nice

Opcional (si está disponible):

htop
El comportamiento dependerá de la carga del sistema y la ejecución de otros usuarios.
Comandos

Comandos y explicación

top → Monitor de uso de CPU en tiempo real

top

ps → Lista procesos con consumo de CPU

ps aux --sort=-%cpu

nice → Ejecuta proceso con prioridad modificada

nice -n 10 comando

renice → Cambia prioridad de proceso en ejecución

renice 10 -p PID
Ejecución

Actividad paso a paso

  1. Monitorear el sistema: top
  2. Identificar procesos con mayor uso de CPU
  3. Ejecutar procesos que consuman CPU: yes > /dev/null & yes > /dev/null & yes > /dev/null &
  4. Observar comportamiento en top
  5. Identificar PID: ps aux | grep yes
  6. Cambiar prioridad: renice 10 -p PID
  7. Comparar consumo de CPU entre procesos
  8. Finalizar procesos: kill PID
Análisis

Análisis del sistema

El planificador distribuye el CPU buscando equilibrio entre rendimiento y equidad.
Reflexión

Preguntas de reflexión

Extensión

Actividad complementaria

Entrega: análisis técnico con ejemplos

Entrega

Evidencia