Diferencia entre trampa e interrupción

los diferencia principal entre trampa e interrupcion es que un programa de usuario activa la captura para invocar la funcionalidad del sistema operativo, mientras que un dispositivo de hardware activa la interrupción para permitir que el procesador ejecute la rutina correspondiente del controlador de interrupciones.

Un sistema operativo es impulsado por eventos. Un evento puede ocurrir repentinamente mientras se ejecuta un programa. Se activará el sistema operativo para ejecutar. Esto cambiará el modo de usuario en modo kernel. Después de la ejecución del sistema operativo, el control se pasa de nuevo al programa original. Las trampas y las interrupciones son dos tipos de eventos. Un programa de usuario genera una trampa, mientras que un dispositivo de hardware, como un teclado, un temporizador, provoca una interrupción. Una trampa pasa el control al manejador de trampas y la interrupción pasa el control a un manejador de interrupciones. Después de ejecutar el controlador, el control vuelve al programa original..

Áreas clave cubiertas

1. Que es trampa
     - Definición, Funcionalidad
2. Que es la interrupcion
     - Definición, Funcionalidad
3. Relación entre trampa e interrupción
     - Esquema de asociación
4. Diferencia entre trampa e interrupción
     - Comparación de diferencias clave

Términos clave

Interrupción, sistema operativo, trampa

Que es trampa

El programa de usuario lanza las trampas para invocar una funcionalidad del sistema operativo. Supongamos que el programa de usuario requiere imprimir algo en la pantalla. Invocaría una trampa y el sistema operativo realizará la escritura de esos datos en la pantalla. Las trampas se utilizan principalmente para implementar llamadas al sistema..

Figura 1: Tipos de eventos

Un ejemplo es el siguiente. Supongamos que hay una declaración como printf ("% s \ n", str); Invocará la función de escritura para imprimir la salida en la salida estándar que es el monitor. Esto invocará una trampa y pasará el control al manejador de trampas. Luego, el modo de usuario cambia al modo kernel y el sistema operativo ejecuta la llamada de escritura. Una vez completada la tarea, el control se transfiere de nuevo al modo de usuario desde el modo de núcleo..

Que es la interrupcion

Una interrupción es provocada por un dispositivo de hardware. Dispositivo USB, tarjeta NIC, teclado puede causar interrupciones. Las interrupciones son asíncronas. Por lo tanto, pueden ocurrir en cualquier momento..

Un procesador tiene un pin dedicado llamado pin de interrupción. También se le llama un pin INT. Los dispositivos como los teclados están conectados al procesador a través del pin de interrupción. Cuando se presiona una tecla, generará una interrupción. El procesador pasará del proceso que se está ejecutando actualmente a una rutina de manejo de interrupciones. En este escenario, se invoca la rutina del manejador de interrupciones del teclado. Después de completar la rutina del manejador de interrupciones, el procesador vuelve al programa original que se está ejecutando. Básicamente, cuando ocurre una interrupción, el procesador cambia el contexto y ejecuta el controlador de interrupción. Una vez finalizado, vuelve al estado anterior..

Un procesador tiene un solo pin de interrupción pero hay varios dispositivos de hardware. El controlador de interrupción ayuda a compartir el único pin de interrupción entre múltiples pines. El procesador se comunicará con el controlador de interrupción para determinar qué dispositivo realmente generó la interrupción. Dependiendo de eso, el procesador ejecutará la rutina correspondiente del controlador de interrupciones. Puede ser temporizador, USB o rutina de manejo de interrupciones de teclado. 

Además de las trampas y la interrupción, hay otro tipo de evento llamado excepciones. Son generados por el procesador automáticamente. Las excepciones se dividen en fallas y abortan. Un error es un error recuperable, mientras que una cancelación es un error que es difícil de manejar.

Relación entre trampa e interrupción

  • Trampa e interrupción son tipos de eventos.

Diferencia entre trampa e interrupción

Definición

La trampa es una señal proveniente de un programa de usuario que indica que el sistema operativo debe funcionar en alguna funcionalidad inmediatamente, mientras que la interrupción es una señal al procesador emitida por el hardware que indica un evento que necesita atención inmediata.

Método de Generación

Las instrucciones en el programa del usuario generan una captura, mientras que los dispositivos de hardware generan una interrupción..

Funcionalidad principal

Además, una trampa invoca la funcionalidad del sistema operativo. Transfiere el control al manipulador de trampas. Una interrupción activa el procesador para ejecutar la rutina correspondiente del controlador de interrupciones.

Ocurrencia

Además, una trampa es sincrónica y puede llegar después de la ejecución de cualquier instrucción, mientras que una interrupción es asíncrona y puede ocurrir en la ejecución de cualquier instrucción.

Sinónimos

Una trampa también se denomina interrupción de software, mientras que una interrupción también se denomina interrupción de hardware.

Conclusión

La trampa y la interrupción son dos tipos de eventos. La diferencia entre captura e interrupción es que la captura es activada por un programa de usuario para invocar la funcionalidad del sistema operativo, mientras que la interrupción es activada por un dispositivo de hardware para permitir que el procesador ejecute la rutina correspondiente del controlador de interrupción.

Referencia:

1. Sistema operativo # 14 ¿Qué es una interrupción? Tipos de interrupciones, Xoviabcs, 31 de agosto de 2017, disponibles aquí.
2. Interrupciones del software del sistema operativo # 16 | Llamadas del sistema en xv6, Xoviabcs, 1 de septiembre de 2017, disponible aquí.