Contexto
Introducción
Un sistema operativo moderno permite la ejecución simultánea de múltiples procesos. Aunque el procesador ejecuta instrucciones de forma secuencial, el sistema simula concurrencia mediante cambios rápidos de contexto entre procesos.
Cada proceso tiene su propio espacio de memoria, identificador (PID) y estado. El kernel es responsable de administrar su ejecución.
La concurrencia no implica ejecución paralela real en todos los casos, sino administración eficiente del tiempo de CPU.
Objetivo
Objetivo
- Identificar procesos en ejecución en el sistema
- Ejecutar procesos en foreground y background
- Analizar comportamiento concurrente
- Controlar procesos mediante señales
Entorno
Condiciones del entorno
La práctica se realiza en un servidor Linux accesible mediante SSH en un entorno multiusuario.
ssh usuario@IP_SERVIDOR
Verificar disponibilidad:
ps
top
kill
El comportamiento puede variar dependiendo de la carga del sistema y la ejecución de otros usuarios.
Comandos
Comandos y explicación
ps → Lista procesos activos
ps aux
top → Monitor en tiempo real
top
& → Ejecuta proceso en background
sleep 60 &
jobs → Lista procesos en background
jobs
kill → Envía señal a proceso
kill PID
kill -9 → Terminación forzada
kill -9 PID
Ejecución
Actividad paso a paso
- Ejecutar proceso en foreground:
sleep 30
- Ejecutar múltiples procesos en background:
sleep 60 &
sleep 60 &
sleep 60 &
- Verificar procesos:
jobs
- Identificar PID:
ps aux | grep sleep
- Monitorear en tiempo real:
top
- Finalizar proceso:
kill PID
- Forzar terminación:
kill -9 PID
Análisis
Análisis del sistema
- ¿Qué diferencia existe entre foreground y background?
- ¿Cómo se comportan múltiples procesos simultáneamente?
- ¿Qué ocurre al finalizar un proceso?
- ¿Qué impacto tiene la concurrencia en el sistema?
El sistema operativo distribuye el tiempo de CPU entre procesos, generando la percepción de ejecución simultánea.
Reflexión
Preguntas de reflexión
- ¿Por qué el sistema permite múltiples procesos simultáneamente?
- ¿Qué pasaría si todos los procesos tuvieran máxima prioridad?
- ¿Cuál es el riesgo de usar kill -9?
- ¿Cómo afecta la concurrencia al rendimiento?
Extensión
Actividad complementaria
- Investigar estados de un proceso (running, sleeping, zombie)
- Analizar diferencia entre proceso y hilo
- Explicar qué es un cambio de contexto
Entrega: documento técnico breve con ejemplos
Entrega
Evidencia
- Capturas de:
- Ejecución de procesos en background
- Terminación de procesos
- Respuestas de reflexión