Linux IRQ konflikter

Brukere ofte tenker på datamaskiner som monolittiske maskiner som inneholder alle nødvendige deler for å kjøre jevnt og effektivt, og at disse delene er alle laget for at felles mål. Men, er datamaskiner ofte bygget fra ulike tillegg og forbedringer. Det er opp til datamaskinens prosessor og operativsystem til å håndtere datamaskinen slik at den oppfører seg som en smidig drift maskin. For å gjøre dette, operativsystemet, for eksempel Linux, og prosessoren bruker en rekke "avbrudd", som maskinvaren bruker for å signalisere at det krever tid prosessor, eller at den har fullført sin oppgave.

avbrudds~~POS=TRUNC Forespørsler

Under drift håndterer Linux operativsystem alle de forskjellige komponenter i en datamaskin samtidig. Dette betyr at alle input og output operasjoner, samt minne- og beregningsprosedyrer, skjer samtidig. Disse operasjonene ta tid fra operativsystemet og prosessoren. Dette er spesielt plagsom når en enkelt ressurs krav utvidet prosessor tid, slik som inngang og utgang. For å dempe nedgangen involvert med å bruke inngang og utgang, bruker operativsystemet Linux avbrudd. Når en I / O-enheten er klar til å frigjøre styring av ressurser, fortsetter operativsystem med andre oppgaver til I / O-sender et avbruddsforespørsel (IRQ) for å signalisere sin tilstand.

IRQ konflikter

Siden IRQ utpeke når bestemte deler av maskinvaren løp, de tjener som direkte former for kommunikasjon mellom prosessoren og maskinvaren. Avhengig av Linux-distribusjonen, kan hvert stykke maskinvare krever sin egen IRQ kanal. Når to stykker av maskinvare har samme IRQ kanal, deretter en hardware interrupt konflikt oppstår. Siden prosessoren forventer en del av maskinvaren per IRQ kanal, det har ingen anelse om hvem som kommuniserer med det hvis to hardware enheter bruker samme kanal.

Mulige konfliktscenarier

Den vanligste scenariet som hever en hardware interrupt konflikt omfatter installasjon av ny maskinvare. Noen Linux-distribusjoner støtte flere hardware tilgang til IRQ linjer, men de som ikke vil kjøre inn i konflikter når et stykke maskinvare, for eksempel et grafikkort eller nettverkskort, forsøker å bruke en IRQ linje tildelt en annen perifer. I dette tilfellet er den nylig installerte programvaren, og hva andre ytre tidligere ble tilordnet til IRQ kanalen, vil ikke fungere på riktig måte, hvis i det hele tatt.

Løse IRQ konflikter

Den beste løsningen på IRQ konflikt problemet innebærer at maskinvaren har sin egen tildelt IRQ kanal. Noen kort, som for eksempel PCI-kort, kan ikke håndtere sin egen IRQ-tildelingen. Hvis det er en konflikt, må du manuelt gå inn i Basic Input / Output System, eller BIOS, for å administrere IRQ-kanaler. Også sørge for at alle enhetsdriverne er oppdatert kan tjene som et forebyggende verktøy, slik at all maskinvare kan samhandle best mulig firmware samt annen maskinvare.