Conflitti IRQ Linux

March 13

Gli utenti spesso pensano di computer come macchine monolitici che contengono tutti i componenti necessari per eseguire senza intoppi e in modo efficiente, e che queste parti sono tutti realizzati per questo obiettivo comune. Tuttavia, i computer sono spesso costruiti da diversi componenti aggiuntivi e miglioramenti. Spetta a sistema di processore e operativo del computer per gestire il computer in modo che si comporta come una macchina senza problemi di funzionamento. A tale scopo, il sistema operativo, come Linux, e il processore utilizzano una serie di "interrupt", che l'hardware utilizza per segnalare che richiede tempo di processore, o che ha terminato il suo compito.

Le richieste di interrupt

Durante il funzionamento, il sistema operativo Linux gestisce tutti i vari componenti di un computer contemporaneamente. Ciò significa che tutte le operazioni di input e output, nonché procedure di memoria e di calcolo, avvengono contemporaneamente. Queste operazioni richiedono tempo dal sistema operativo e il processore. Ciò è particolarmente problematico quando una singola richiesta di risorse estese tempo processore, come ingresso e uscita. Al fine di mitigare il rallentamento coinvolti con l'utilizzo di input e output, il sistema operativo Linux utilizza gli interrupt. Quando un dispositivo di I / O è pronto per rilasciare il controllo delle risorse, il sistema operativo continua con altri compiti fino alla I / O invia una richiesta di interruzione (IRQ) per segnalare la sua condizione.

I conflitti IRQ

Dal momento che gli IRQ designano quando pezzi particolari della corsa hardware del computer, servono i modi come diretti di comunicazione tra il processore e l'hardware. A seconda della distribuzione Linux, ogni pezzo di hardware può richiedere il proprio canale IRQ. Quando due pezzi di hardware hanno lo stesso canale IRQ, allora si verifica un conflitto di interrupt hardware. Poiché il processore prevede un pezzo di hardware per canale IRQ, non ha idea che sta comunicando con se due periferiche hardware utilizzano lo stesso canale.

Possibili scenari di conflitto

Lo scenario più comune che genera un conflitto di interrupt hardware prevede l'installazione di nuovo hardware. Alcune distribuzioni Linux supportano l'accesso all'hardware multiplo per linee IRQ, ma quelli che lo fanno non incorrere in conflitti quando un pezzo di hardware, come ad esempio una scheda grafica o scheda di rete, tenta di utilizzare una linea IRQ assegnato ad un'altra periferica. In questo caso, il nuovo software installato, e qualunque altra periferica precedentemente assegnata al canale IRQ, non funzionerà correttamente, se non del tutto.

Risolvere i conflitti IRQ

La soluzione migliore al problema dei conflitti di IRQ coinvolge in modo che l'hardware ha il suo canale IRQ assegnato. Alcune carte, come le schede PCI, non possono gestire il proprio IRQ. Se c'è un conflitto, allora è necessario immettere manualmente il Basic Input / Output, o BIOS, di gestire i canali IRQ. Inoltre, assicurando che tutti i driver dei dispositivi siano aggiornati può servire come strumento di precauzione, in modo che tutto l'hardware in grado di interagire con il miglior firmware possibile, così come altri componenti hardware.