Manual de Pr谩cticas: Sistemas Operativos

Ingenier铆a de Sistemas - Gu铆a del Estudiante 2026

Objetivo General: Al finalizar estas pr谩cticas, los alumnos ser谩n capaces de observar la interacci贸n entre el espacio de usuario y el kernel, analizando el rendimiento y la seguridad en entornos modernos.

Perfilado de Rendimiento con strace -c Linux

Objetivo: Cuantificar la sobrecarga que las llamadas al sistema (syscalls) imponen sobre el tiempo de ejecuci贸n de una aplicaci贸n.

Paso 1: Ejecuci贸n del perfilador

Ejecuta un comando sencillo pero intensivo en entrada/salida para ver el resumen estad铆stico:

strace -c find /etc -name "*.conf" 2> resumen.txt

Paso 2: An谩lisis de datos

Observa la columna % time. Los alumnos deben identificar cu谩l es la syscall que m谩s tiempo consume (generalmente read, openat o getdents64).

Pregunta de reflexi贸n: 驴Por qu茅 el tiempo total reportado por strace es mayor que si ejecutamos el comando solo? (Pista: Costo del cambio de contexto).

Seguimiento en Tiempo Real con strace Linux

Objetivo: Observar la estabilidad de la ABI de Linux y la interfaz POSIX en acci贸n.

Instrucciones:

Sigue el rastro de un servidor web simple (o incluso de cat) para ver c贸mo se abren descriptores de archivo:

strace -e trace=open,read,write,close cat /etc/passwd

Pide a los alumnos que busquen el n煤mero de ID de la syscall y comparen los argumentos con la documentaci贸n del kernel.

Inspecci贸n del Sistema con ProcMon Windows

Objetivo: Entender la opacidad de las syscalls en Windows y el uso de capas de abstracci贸n (Win32 API).

Pasos del Laboratorio:

  1. Descarga y ejecuta Process Monitor (Sysinternals).
  2. Configura un filtro: Process Name is notepad.exe.
  3. Guarda un archivo en el bloc de notas y observa la avalancha de eventos.
Nota t茅cnica: Observar谩s que Notepad no llama directamente a una "Syscall de escritura", sino a funciones en KERNELBASE.dll o ntdll.dll. Esto demuestra que en Windows, la interfaz oficial es la API, no la syscall.

Inyecci贸n de Sondas con eBPF Linux

Objetivo: Lograr observabilidad profunda con "Cero Sobrecarga" usando la tecnolog铆a m谩s avanzada de 2026.

Paso 1: Instalaci贸n

sudo apt install bpftrace

Paso 2: Monitorizaci贸n de procesos

Inyecta un script que detecte cada vez que se inicia un nuevo proceso en el sistema:

sudo bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("%s ejecut贸 %s\n", comm, str(args->filename)); }'

Esta pr谩ctica demuestra c贸mo eBPF permite "programar el kernel" sin reiniciarlo ni comprometer su estabilidad.

An谩lisis Forense en Ring 0 con WinDbg Windows

Objetivo: Identificar el origen de un colapso del sistema (BSOD) analizando privilegios de Ring 0.

Procedimiento:

  1. Cargar el archivo MEMORY.DMP proporcionado por el profesor en WinDbg.
  2. Ejecutar el comando m谩gico de an谩lisis: !analyze -v
  3. Localizar la secci贸n MODULE_NAME y FAULTING_IP.
An谩lisis: Si el fallo ocurre en un driver (.sys), significa que una instrucci贸n en Ring 0 intent贸 acceder a memoria no v谩lida, disparando una excepci贸n que el kernel no pudo manejar.