Elegir espacio

Dos espacios

¿Qué quieres consultar?

Elige el espacio al que quieres entrar.

Recorrido · SistemasSYS-L-202

Sistemas · Bloque II · SYS-L-202 · Laboratorio · EC

Observar jobs, señales, prioridad y /proc

Un contenedor genera un pequeño árbol de workers con comportamientos de señal distintos y carga acotada.

Contenido de la actividad

EC · Contenedor rootless desechable con límite de CPU y PIDs.

Capacidad

Observar el ciclo de vida y elegir señales proporcionales con evidencia.

Enunciado

Sigue el árbol preparado, cambia estados con señales no destructivas primero y documenta qué interfaz demuestra cada transición.

Estado inicial

  • Launcher con attempt-id.
  • Tres workers ficticios y carga limitada.
  • Sin PID namespace compartido ni mounts del host.

Límites del sandbox

  • Extrae el paquete fuera del checkout y usa Podman rootless, Docker rootless o Docker Desktop.
  • No uses sudo, no montes rutas del host y no retires contenedores ajenos al attempt-id.
  • Antes de reset o destroy, comprueba la etiqueta y el identificador exacto creados por el launcher.

Fases de trabajo

1. Preparar

Validar aislamiento.

  1. Ejecuta preflight.
  2. Arranca el intento.
  3. Conserva etiqueta y límites.
./lab preflight
./lab start

2. Observar

Construir el árbol real.

  1. Consulta ps/pstree.
  2. Lee status y cmdline en /proc.
  3. Compara jobs cuando proceda.

3. Señalizar

Observar transiciones proporcionadas.

  1. Predice antes de cada señal.
  2. Detén y continúa un worker.
  3. Solicita terminación al worker indicado y verifica.

4. Prioridad y cierre

Interpretar nice y probar reinicio.

  1. Compara nice sin prometer CPU.
  2. Reinicia el fixture.
  3. Destruye solo el intento.

Evidencia que debes conservar

  • Árbol con PID/PPID/PGID.
  • Timeline de señal, estado esperado y observado.
  • Explicación de nice y evidencia de limpieza.

Criterios de aceptación

  • El contenedor está limitado y no comparte namespace PID con el host.
  • Relaciona al menos dos procesos por PPID y grupo.
  • Distingue detener, continuar, solicitar terminación y forzarla.
  • Interpreta nice como preferencia de planificación, no como reserva.
  • Recrea el estado inicial sin afectar procesos externos.

Decisiones abiertas

  • Elegir formato de ps.
  • Usar pstree como apoyo, no como única evidencia.
  • Seleccionar la señal inicial más proporcionada.

Materiales

Se guarda solo en este navegador. Puedes descargarlo para enviarlo a Codex junto con los materiales que hayas completado.

Sin borrador guardado.

Revisión y reinicio

Revisión: Codex debe comparar la evidencia con estos criterios, señalar primero el supuesto no demostrado y proponer una sola comprobación siguiente. No hay una solución oficial publicada.

Reinicio: El launcher recrea únicamente el contenedor etiquetado con el attempt-id; destroy valida nombre y etiqueta.

Pistas graduadas

Pista 1 · kill envía
  • El nombre histórico no describe todos los efectos.
  • Observa disposición y resultado de la señal.
Pista 2 · /proc pertenece al namespace
  • Compara PID observado dentro y fuera.
  • No asumas que todos ven la misma numeración.
Pista 3 · nice es relativo
  • No es un porcentaje reservado.
  • Interpreta junto con carga y política.