Não, você não pode compartilhar diretamente um IRQ (linha de solicitação de interrupção) entre dispositivos em ônibus mais recentes como PCI e USB da mesma maneira que os ônibus ISA mais antigos permitiam.
Aqui está o porquê:
*
Arquiteturas de ônibus modernas: PCI e USB utilizam controladores e mecanismos de interrupção que são fundamentalmente diferentes das linhas IRQ compartilhadas da ISA. Cada dispositivo PCI, por exemplo, recebe suas próprias interrupções sinalizadas de mensagem (MSI) ou MSI-X (MSI), que são essencialmente interrupções virtuais mapeadas para locais de memória específicos. O USB usa pontos de extremidade de interrupção gerenciados pelo controlador USB. Estas não são linhas de interrupção física diretamente compartilhadas.
*
Rotamento de interrupção: O controlador de interrupção do sistema operacional gerencia o mapeamento entre as linhas de interrupção física e o software interrompido que os aplicativos usam. Esse mapeamento é atribuído dinamicamente e cuidadosamente gerenciado para evitar conflitos. Compartilhar um único IRQ físico entre dois dispositivos levaria a um manuseio de interrupções imprevisíveis e não confiáveis.
*
Drivers de dispositivo: Os drivers de dispositivo para dispositivos PCI e USB são escritos com o entendimento de que cada dispositivo possui seu próprio mecanismo de interrupção dedicado. Eles não esperariam compartilhar um IRQ com outro dispositivo.
Embora o conceito de "compartilhar" um IRQ possa parecer atraente de uma perspectiva de gerenciamento de recursos, as complexidades e os possíveis conflitos superam quaisquer benefícios. A abordagem moderna fornece um sistema de manuseio de interrupções mais robusto e confiável, mesmo que pareça usar mais recursos (embora os recursos sejam virtuais e gerenciados com eficiência). Em vez de compartilhar, os dispositivos recebem mecanismos de interrupção dedicados que o SO gerencia efetivamente.