Sistemas operativos · Sección 7

Modo usuario, kernel y arranque

Llamadas al sistema, interrupciones, cambio de contexto y recorrido desde el firmware hasta los servicios del sistema.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Planificación e interbloqueos.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Llamadas al sistema con Interrupciones y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Puedes leer desde cualquier equipo. Para los laboratorios usa una terminal Linux o WSL en Windows.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Llamadas al sistema y Interrupciones?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Conectarás aplicaciones con el núcleo del sistema: llamadas al sistema, interrupciones, cambios de contexto y la secuencia que convierte una máquina apagada en servicios disponibles.

Al terminar podrás
  • Una llamada al sistema solicita al kernel una operación protegida
  • Interrupciones y excepciones transfieren control de manera ordenada
  • El arranque es una cadena de confianza y responsabilidades
01
Frontera de privilegios

Una llamada al sistema solicita al kernel una operación protegida

El código de usuario no accede libremente a memoria, disco o red. Abre archivos, crea procesos o envía datos mediante una interfaz controlada; el kernel valida permisos y coordina el recurso.

01

Modo usuario limita instrucciones y direcciones accesibles.

02

Modo kernel ejecuta operaciones privilegiadas.

03

La biblioteca puede envolver varias llamadas al sistema.

Comprueba lo aprendido · 01

¿Cada llamada a una función de una biblioteca cambia a modo kernel?

Mostrar respuesta

No. Muchas funciones trabajan por completo en usuario. Solo las que necesitan servicios protegidos terminan realizando una llamada al sistema.

02
Eventos y contexto

Interrupciones y excepciones transfieren control de manera ordenada

Un dispositivo genera una interrupción; una instrucción inválida produce una excepción; una llamada al sistema usa una entrada deliberada. El kernel guarda contexto, atiende el evento y decide qué tarea continúa.

01

Interrupción: evento externo y asíncrono.

02

Excepción: evento causado por la instrucción actual.

03

Cambio de contexto: guardar y restaurar estado de ejecución.

Comprueba lo aprendido · 02

¿Una interrupción obliga a que el proceso relacionado ejecute inmediatamente?

Mostrar respuesta

No. El kernel atiende el evento y cambia estados, pero el planificador elige cuándo y en qué CPU se ejecutará el proceso.

03
Del encendido al servicio

El arranque es una cadena de confianza y responsabilidades

Firmware inicializa hardware, el cargador ubica el kernel, el kernel prepara memoria y controladores, y el proceso inicial levanta servicios y objetivos. Los registros de cada etapa ayudan a localizar fallos.

01

Firmware y cargador encuentran el sistema arrancable.

02

Kernel monta una raíz inicial y descubre dispositivos.

03

El gestor de servicios expresa dependencias y reinicios.

Comprueba lo aprendido · 03

¿Por qué reiniciar repetidamente puede ocultar la causa?

Mostrar respuesta

Porque cambia el estado y puede borrar evidencia temporal. Conviene capturar mensajes, etapa fallida y dependencias antes de modificar el sistema.

Resumen de la sección

Tu recorrido en tres ideas

  1. Una llamada al sistema solicita al kernel una operación protegida
  2. Interrupciones y excepciones transfieren control de manera ordenada
  3. El arranque es una cadena de confianza y responsabilidades
PROFUNDIZACIÓN / LABORATORIO GUIADO

Localiza por qué un servicio no aparece después de reiniciar

Une llamadas al sistema, interrupciones, cambios de contexto y etapas de arranque en una explicación causal.

CASO

El ejecutable funciona manualmente, pero el servicio no queda disponible tras encender el equipo.

Procedimiento

  1. Separa firmware, cargador, kernel, sistema inicial y gestor de servicios.
  2. Comprueba en qué etapa aparece la primera evidencia incorrecta.
  3. Sigue una lectura del servicio desde usuario hasta kernel y dispositivo.

Evidencia mínima

  • Estado y registro de la unidad.
  • Dependencias y orden de inicio.
  • Permisos, ruta y llamada fallida concreta.
Mostrar razonamiento modelo

Reinstalar o reiniciar no identifica la causa. La respuesta avanza por etapas y detiene la búsqueda en la primera divergencia: unidad deshabilitada, dependencia ausente, identidad sin permiso o recurso todavía no preparado.

Para ir más lejos

¿Cómo distinguirías “proceso iniciado” de “servicio preparado para recibir tráfico”?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Confundir una función de biblioteca con una llamada al sistema.

ERROR 02

Reiniciar antes de identificar la etapa del arranque que falló.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Explica el recorrido de leer un archivo y diagnostica por etapas un servicio que no inicia después del arranque.

Mostrar pauta de corrección
Una respuesta sólida:
  • Distingue usuario, kernel y dispositivo.
  • Relaciona interrupción con estados del proceso.
  • Usa evidencia de firmware, kernel o gestor de servicios.