Nej, du kan inte direkt dela en IRQ (avbrottsbegäran) mellan enheter på nyare bussar som PCI och USB på samma sätt som äldre ISA -bussar tillät.
Här är varför:
* Moderna busarkitekturer: PCI och USB använder avbrottskontroller och mekanismer som i grunden skiljer sig från de delade IRA -linjerna. Varje PCI-enhet tilldelas till exempel sina egna meddelandesignerade avbrott (MSI) eller MSI-X (flera MSI) som i huvudsak är virtuella avbrott som är mappade till specifika minnesplatser. USB använder avbrotts slutpunkter som hanteras av USB -styrenheten. Dessa är inte direkt delade fysiska avbrottslinjer.
* Interrupt Routing: Operativsystemets avbrottskontroller hanterar kartläggningen mellan de fysiska avbrottslinjerna och programvaran avbryter som applikationer använder. Denna kartläggning tilldelas dynamiskt och lyckas noggrant för att undvika konflikter. Att dela en enda fysisk IRQ mellan två enheter skulle leda till oförutsägbar och opålitlig avbrottshantering.
* enhetsdrivare: Enhetsdrivare för PCI- och USB -enheter är skrivna med förståelsen att varje enhet har sin egen dedikerade avbrottsmekanism. De skulle inte förvänta sig att dela en IRQ med en annan enhet.
Medan begreppet "delning" en IRQ kan tyckas tilltalande ur ett resurshanteringsperspektiv, uppväger komplexiteten och potentiella konflikter alla fördelar. Det moderna tillvägagångssättet ger ett mer robust och pålitligt avbrottshanteringssystem även om det verkar använda fler resurser (även om resurserna är virtuella och hanteras effektivt). Istället för att dela får enheter dedikerade avbrottsmekanismer som operativsystemet hanterar effektivt.