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..
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
Interrupción, sistema operativo, 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..
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.
Las instrucciones en el programa del usuario generan una captura, mientras que los dispositivos de hardware generan una interrupción..
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.
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.
Una trampa también se denomina interrupción de software, mientras que una interrupción también se denomina interrupción de hardware.
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.
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í.