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 describir el proceso de manejo de interrupciones.

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

La interrupción significa que cuando la computadora está funcionando, cuando ocurren algunas situaciones inesperadas que requieren la intervención del host, la máquina puede detener automáticamente el programa en ejecución, cambiar al programa que maneja la nueva situación y luego regresar al programa suspendido original para continuar ejecutándose.

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

Procesamiento de interrupción

Según la secuencia de eventos, el proceso de interrupción incluye:

(1) Envío de fuente de interrupción Solicitud de interrupción

(2) Determinar si el procesador actual permite interrupciones y si la fuente de interrupción está bloqueada

3 Cola de prioridad

(4) Al procesar Cuando el procesador termina de ejecutar la instrucción actual o la instrucción actual no se puede ejecutar, detiene inmediatamente el programa actual, protege la dirección del punto de interrupción y el estado actual del procesador y cambia a la rutina de servicio de interrupción correspondiente. ;

⑤Ejecutar la rutina del servicio de interrupción;

⑤Ejecutar la rutina del servicio de interrupción;

p>

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

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

Datos ampliados

Como todos sabemos, la velocidad del procesador a menudo no es del mismo orden de magnitud que la velocidad de los dispositivos periféricos de hardware. Entonces, si el kernel adopta el método de hacer que el procesador haga una solicitud al hardware y luego espere una respuesta, la eficiencia del kernel obviamente se reducirá.

Dado que la respuesta del hardware es tan lenta, el kernel debería procesar otras transacciones durante este período y luego volver a procesarlas después de que el hardware realmente complete la operación solicitada. 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 enfoque haga que el kernel realice una gran cantidad de trabajo inútil, porque el sondeo siempre se repetirá periódicamente, independientemente de si el dispositivo de hardware está ocupado completando la tarea o ya la ha completado. Una mejor manera es proporcionar un mecanismo que permita al hardware enviar señales al kernel cuando sea necesario (cambiar la iniciativa del kernel a 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) envía una interrupción para notificar al sistema operativo que se ha presionado una determinada tecla. Una interrupción es una señal eléctrica especial enviada por un 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á el responsable de procesar estos datos recién llegados. Los dispositivos de hardware generan interrupciones independientemente de la sincronización con el reloj del procesador; en otras palabras, las interrupciones pueden generarse en cualquier momento. Por lo tanto, el kernel puede interrumpirse en cualquier momento debido a una nueva interrupción.

Diferentes dispositivos tienen diferentes interrupciones y cada interrupción tiene un número único. Entonces, las interrupciones del teclado y las del disco duro son diferentes, de modo que el sistema operativo puede 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.

Cuando ejecuta un programa, si ocurre otro evento (por ejemplo, el usuario abre otro programa), 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