Volver al temario
Tema 02 · 44 páginas

El sistema operativo: una máquina virtual

Tema completo Modo estudio
GUÍA DE ESTUDIO · Páginas 1315 Ver PDF

2.1. Mecanismos directos (traps, excepciones e interrupciones)

Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.

Mecanismos directos de entrada al SO

Hay tres mecanismos basicos para transferir la ejecucion al SO:

Llamadas al sistema (traps)

Provocadas por las aplicaciones de usuario cuando piden un servicio. En un punto concreto del codigo se hace una transferencia explicita del control al SO mediante la instruccion del lenguaje maquina que lo permite (en Intel es int). Son acontecimientos sincronos y tambien se llaman interrupciones de software. El SO define parametros de entrada y salida y como se pasan (por registros o pila).

Interrupciones

Provocadas por dispositivos de hardware cuando informan de un cambio de estado (pulsacion de tecla, fin de operacion E/S). Son acontecimientos asincronos ajenos al proceso en ejecucion. Típicamente se llaman interrupciones hardware.

Excepciones

Se producen cuando el hardware detecta una anomalia. Ejemplo: division por cero. Son interrupciones provocadas directamente por la ejecucion del codigo del usuario en curso.

Tratamiento comun

Todos reciben un tratamiento similar:

  1. Salvar el estado del proceso de usuario en ejecucion (registros del procesador).
  2. Determinar la rutina del SO que debe tratar el acontecimiento (vector de interrupciones).
  3. Ejecutar la rutina de atencion correspondiente.
  4. Continuar la ejecucion de un proceso de usuario (el mismo u otro).

Diferencias con rutinas convencionales

  • El codigo de atencion pertenece al nucleo, no a ejecutables de usuario.
  • La direccion de memoria se determina en tiempo de ejecucion.
  • Se ejecutan en modo privilegiado, con acceso completo al hardware.

Esquema de repaso

  • Tres mecanismos: traps (sincronos), interrupciones (asincronos), excepciones (anomalias).
  • Cuatro pasos: salvar estado, buscar rutina, ejecutar, continuar.
  • El nucleo controla todo el proceso en modo privilegiado.

Debes poder explicar

  • Las diferencias entre traps, interrupciones y excepciones.
  • Los cuatro pasos del tratamiento de un acontecimiento.
  • Por que el codigo de atencion no puede estar en el ejecutable de usuario.
Consultar el contenido original