Contexto
Introducción
En sistemas Linux, la ejecución está separada en dos dominios fundamentales:
espacio de usuario y espacio del kernel.
El espacio de usuario contiene los programas que ejecuta el usuario (shell, editores, aplicaciones), mientras que el kernel es el núcleo encargado de administrar:
- Procesador
- Memoria
- Dispositivos
- Procesos
Todo acceso al hardware es controlado por el kernel. Ninguna aplicación interactúa directamente con los recursos físicos.
Esta práctica analiza esta separación en un entorno real multiusuario accedido por red.
Objetivo
Objetivo
- Diferenciar espacio usuario y espacio kernel
- Identificar procesos y recursos del sistema en ejecución
- Interpretar cómo el sistema operativo controla el acceso al hardware
Entorno
Condiciones del entorno
La práctica se ejecuta en un servidor Linux accesible por red mediante SSH.
El comportamiento observado dependerá del estado real del sistema y de los permisos disponibles.
ssh usuario@IP_SERVIDOR
Verificar disponibilidad:
whoami
uname -a
ps -ef
top
ls /proc
Algunas funciones pueden estar restringidas dependiendo de la configuración del sistema:
dmesg
En caso de restricción:
sudo dmesg
Los resultados pueden variar entre ejecuciones debido a la naturaleza dinámica del sistema.
Comandos
Comandos y explicación
whoami → usuario actual en ejecución
whoami
id → UID, grupos y nivel de privilegio
id
uname -a → información del kernel
uname -a
ps -ef → procesos activos del sistema
ps -ef
top → monitoreo en tiempo real
top
dmesg → mensajes internos del kernel
dmesg | less
/proc → interfaz del kernel en forma de sistema de archivos
ls /proc
Ejecución
Actividad paso a paso
- Conectarse al servidor por SSH
- Identificar usuario:
whoami
- Consultar privilegios:
id
- Identificar kernel:
uname -a
- Listar procesos:
ps -ef | less
- Ejecutar monitoreo:
top
- Salir con "q"
- Explorar mensajes del kernel:
dmesg | less
- Explorar interfaz del kernel:
ls /proc
- Consultar CPU:
cat /proc/cpuinfo
Análisis
Análisis del sistema
- Diferenciar procesos visibles en usuario vs control interno del sistema
- Identificar qué información es accesible y cuál está restringida
- Observar la variación de procesos en tiempo real
- Interpretar la información expuesta por /proc
El kernel permite observar el sistema, pero controla estrictamente su modificación.
Reflexión
Preguntas de reflexión
- ¿Por qué existe separación entre usuario y kernel?
- ¿Qué ocurriría si una aplicación accede directamente al hardware?
- ¿Por qué dos usuarios pueden observar diferentes estados del sistema?
- ¿Qué implica que /proc no sea un sistema de almacenamiento real?
Extensión
Actividad complementaria
- Investigar qué es una system call (syscall)
- Describir cómo un proceso interactúa con el kernel
- Explicar diferencia entre modo usuario y modo kernel en CPU
Entrega: documento técnico breve con ejemplos en Linux
Entrega
Evidencia
- Capturas de ejecución de:
- whoami
- uname -a
- top
- /proc/cpuinfo
- Respuestas de reflexión
- Investigación complementaria