En los sistemas Linux, las interrupciones se pueden compartir para que varios dispositivos puedan responder simultáneamente a una interrupción, formando una lista de interrupciones. Incluso los programas que no generen una interrupción serán ejecutados. Este artículo le enseñará cómo manejar interrupciones compartidas en sistemas Linux.
compartir interrupciones y ninguna diferencia compartida
1, request_irq () banderas de parámetros se deben establecer bandera SA_SHIRQ.
2. Para cada controlador de interrupciones registrado, el parámetro dev_id debe ser único. Un puntero a cualquier estructura de dispositivo puede satisfacer este requisito, la estructura del dispositivo generalmente se elige porque es única y puede ser utilizada por el manejador de interrupciones. No puede pasar un valor NULL a un controlador compartido.
3, el controlador de interrupciones debe poder distinguir si su dispositivo ha generado realmente una interrupción. Esto requiere tanto soporte de hardware como lógica de procesamiento en el controlador. Si el hardware no es compatible con esta función, entonces el manejador de interrupciones definitivamente estará indefenso. Simplemente no puede saber si el dispositivo correspondiente ha emitido la interrupción, o si el otro dispositivo que comparte la línea de interrupción emitió la interrupción.
Todos los controladores que comparten líneas de interrupción deben cumplir los requisitos anteriores. Mientras las reglas no compartan ningún dispositivo, las líneas de interrupción no se pueden compartir. Cuando se especifica el indicador SA_SHIRQ para llamar a request_irq (), solo puede tener éxito si la línea de interrupción no está registrada actualmente, o se especifica SA_SHIRQ para todos los manejadores registrados en la línea.
Nota: En este punto 2.6 es diferente del kernel anterior, los controladores compartidos pueden mezclar SA_INTERRUPT.
Lo anterior es compartir el manejo del sistema Linux de las interrupciones compartidas, por lo que después de que ocurra una interrupción, el programa determinará si responder o no, lo cual es fácil de implementar para la mayoría de los equipos.
En el sistema RHEL6, algunas operaciones se llevan a un cambio en el disco de nombr
Comando de Ubuntu, comando useradd se puede utilizar para crear un usuario, pero ta
Como mencionamos anteriormente, el uso de Linux puede convertirse en un buen enrutador. Hoy, este ar
Después de instalar el sistema dual con Ubuntu, el inicio indica que no se encontró
Linux usa el método de comando hadoop dfs
Cómo crear un paquete RPM o DEB desde el código fuente de Linux
Linux cómo configurar git para compartir con svn
Pasos de Ubuntu para instalar el gestor de paquetes de Pacman
Linux método de imagen personalizada acoplable
Cómo instalar el kit de herramientas Mapnik en Ubuntu
Pasos para configurar una red KVM en RedHat
Los pasos específicos para instalar el complemento Flash en Firefox en Linux
Linux para aumentar la resolución de VirtualBox
Cómo los sistemas Ubuntu usan scripts para actualizar kernels
¿Cómo realiza el sistema CentOS7 la configuración de red de IP y nombres de host?
Win10 muestra el icono del programa gráfico tutorial en la barra de tareas
Agregue la función boot killer a Windows XP y Vista (2)
Cómo restaurar la barra flotante
Cómo abrir /cerrar las opciones de proyectos utilizadas recientemente en Windows 7 Menú Inicio
Impresora con varias personas compartiendo cómo configurar
¿Por qué falla el envío de correo electrónico?
Win10 utilizará la función de pantalla dividida para aumentar la eficiencia del trabajo.