Red de conocimiento informático - Material del sitio web - En los sistemas informáticos, explique qué es una interrupción y utilice un diagrama de flujo para dibujar un proceso de manejo de interrupciones.

En los sistemas informáticos, explique qué es una interrupción y utilice un diagrama de flujo para dibujar un proceso de manejo de interrupciones.

Interrupción significa que cuando ocurren algunas situaciones inesperadas durante el funcionamiento de la computadora y requieren la intervención del host, la máquina puede detener automáticamente el programa en ejecución y cambiar al programa que maneja la nueva situación una vez completado el procesamiento. , volverá al programa suspendido original. El programa continúa ejecutándose.

El diagrama de flujo de interrupción es el siguiente:

Proceso de interrupción

Según el orden de los eventos, el proceso de interrupción incluye:

①La fuente de interrupción emite una Solicitud de interrupción;

②Juzga si el procesador actual permite interrupciones y si la fuente de interrupción está bloqueada;

③Cola de prioridad;

④El procesador finaliza ejecutar la instrucción actual Si la instrucción o la instrucción actual no se pueden ejecutar, el programa actual se detendrá inmediatamente, se protegerán la dirección del punto de interrupción y el estado actual del procesador y se transferirá la rutina de servicio de interrupción correspondiente;

⑤Ejecutar la rutina del servicio de interrupción;

⑥Restaurar el estado protegido, ejecutar la instrucción "retorno de interrupción" para regresar al programa interrumpido o transferir a otros programas.

Las primeras cuatro operaciones del proceso anterior se completan mediante hardware y las dos últimas operaciones se completan mediante software.

Información ampliada

Como todos sabemos, la velocidad del procesador muchas veces no es del mismo orden de magnitud que la velocidad de los dispositivos periféricos de hardware, por lo tanto, si el kernel toma la decisión. forma de permitir que el procesador emita una solicitud al hardware, y luego específicamente El método de esperar una respuesta obviamente reduce la eficiencia del kernel.

Dado que la respuesta del hardware es tan lenta, el kernel debe procesar otras transacciones durante este período, esperar hasta que el hardware realmente complete la operación solicitada y luego regresar y procesarla. Para lograr esta funcionalidad, el sondeo puede ser una solución. Puede dejar que el kernel consulte periódicamente el estado del dispositivo y luego lo maneje en consecuencia.

Sin embargo, es probable que este método haga que el kernel realice una gran cantidad de trabajo inútil, porque no importa si el dispositivo de hardware está ocupado completando la tarea o ya la ha completado, el sondeo siempre se repetirá periódicamente. Una mejor manera es que proporcionemos un mecanismo que permita que el hardware envíe una señal al kernel cuando sea necesario (cambie la iniciativa del kernel a la iniciativa del hardware). Este es el mecanismo de interrupción.

Las interrupciones permiten que el hardware se comunique con el procesador. Por ejemplo, cuando escribe en el teclado, el controlador del teclado (el dispositivo de hardware que controla el teclado) enviará una interrupción para notificar al sistema operativo que se presionó una tecla. La esencia de una interrupción es una señal eléctrica especial que se envía desde el dispositivo de hardware al procesador.

Después de recibir la interrupción, el procesador reflejará inmediatamente la llegada de esta señal al sistema operativo, y luego el sistema operativo será responsable de procesar estos datos recién llegados. Cuando el dispositivo de hardware genera una interrupción, no considera la sincronización con el reloj del procesador; en otras palabras, las interrupciones se pueden generar en cualquier momento. Por lo tanto, el kernel puede verse interrumpido en cualquier momento por una nueva interrupción.

Diferentes dispositivos corresponden a diferentes interrupciones, y cada interrupción se identifica mediante un número único. Por lo tanto, las interrupciones del teclado son diferentes de las interrupciones del disco duro, lo que permite al sistema operativo distinguir las interrupciones y saber qué dispositivo de hardware generó cada interrupción. De esta manera, el sistema operativo puede proporcionar diferentes controladores de interrupciones para diferentes interrupciones.

Mientras se ejecuta el programa, si ocurre otro evento (por ejemplo, el usuario abre otro programa), entonces este tiempo debe ser manejado por el mecanismo de interrupción del sistema informático.

El mecanismo de interrupción incluye dispositivos de interrupción de hardware y programas de servicio de procesamiento de interrupciones del sistema operativo.

Deja que el hardware envíe señales al kernel cuando sea necesario.

Enciclopedia Baidu-Mecanismo de interrupción

Enciclopedia Baidu-Interrupción