Vad är hårdvarudrivrutiner och varför orsakar de så många problem?

Om du har upplevt en datorkrasch kan en hårdvarudrivrutin ha varit orsaken. Det här är mjukvara som din dators operativsystem använder för att prata med sin hårdvara. Alla operativsystem – från Windows till Android – använder hårdvarudrivrutiner.

Drivrutiner är som översättare för din dator

På en grundläggande nivå består två huvudkomponenter av en dator – mjukvara och hårdvara. Programvaran är ditt operativsystem (OS) och alla program och appar som du har installerat på det. Ditt moderkort, RAM, mus, tangentbord, skrivare och allt annat fysiskt anslutet till din dator utgör hårdvaran.

Utan någon hjälp vet inte programvaran hur man pratar med din hårdvara och vice versa. Hårdvarudrivrutiner är bitar av programvara som lär ditt operativsystem, program och appar hur man arbetar med dina enheter. Föreställ dig att ditt operativsystem talar engelska och din hårdvara talar tyska. Hårdvarudrivrutiner är alltså språktolken som konverterar engelska till tyska och tillbaka igen.

Tillverkare gör förare; Mjukvaruutvecklare använder dem

Eftersom drivrutiner hanterar hårdvaruöversättning, kanske du tror att det betyder att tillverkarna som tillverkar hårdvara gör drivrutinerna. Det är sant ibland; chansen är att tillverkaren har gjort din grafikdrivrutin, till exempel. Men det är inte alltid sant.

Microsoft (och vissa tillverkare) tillhandahåller universella drivrutiner som alla kan använda. Dessa drivrutiner erbjuder kostnadsbesparingar och konsekvent prestanda över enheter. Att hoppa över processen för att skapa drivrutiner ger tillverkaren möjlighet att anpassa sin hårdvara till en välkänd grundligt testad drivrutin med specifikationer som passar företagets behov. Din mus, tangentbord och USB-enheter använder till exempel generiska drivrutiner från Microsoft.

Vissa enheter kan använda generiska drivrutiner men kan fungera bättre med enhetsspecifika drivrutiner. Till exempel kan din dators grafikkort (GPU) mata ut ditt skrivbord till en skärm med generiska drivrutiner, men det behöver drivrutiner från dess tillverkare – NVIDIA, AMD eller Intel – för optimal 3D-spelprestanda.

Oavsett vem som tillverkar drivrutinen, utnyttjar och använder mjukvaruutvecklare dem. Din textredigerare eller ordbehandlare anropar skrivardrivrutinen för att arbeta med skrivaren och grafikdrivrutinen för att visa text. Utan dessa drivrutiner vet inte ditt program hur man pratar med skrivaren eller bildskärmen för att utföra viktiga funktioner som att skriva ut och ändra teckenstorleken. Hårdvarudrivrutiner ger dock mjukvaruutvecklare ett steg upp; de behöver inte lära sig detaljerna i hårdvaruspråket för att använda hårdvaran.

Mjukvaruutvecklaren behöver inte lägga massor av tid på att uppfinna hjulet på nytt. Om en app behöver skriva ut kan dess utvecklare implementera en grundläggande utskriftsfunktion och lita på att systemets skrivardrivrutiner hanterar detaljerna. Annars kan mjukvaruutvecklaren behöva designa en utskriftsoperation för HP-skrivare, sedan Brother-skrivare och så vidare.

Programvaran använder ibland flera drivrutiner för att arbeta med en enhet och skickar data genom var och en. För att återgå till vårt exempel på språkbarriärer, föreställ dig att din programvara talar engelska och din maskinvara talar tyska. Tyvärr talar den första enhetstolken bara engelska och italienska. Det räcker för att underlätta kommunikationen. Föreställ dig nu att en andra tolk anlände som talade italienska och tyska. Genom att skicka ner linjen genom de två tolkarna skulle kommunikationen så småningom fungera. Samma grundläggande koncept uppstår när flera drivrutiner används mellan mjukvara och hårdvara.

Varför hårdvarudrivrutiner kan orsaka systemkrascher

Det nära samspelet mellan mjukvara, drivrutin och hårdvara är det som gör att allt fungerar på din dator. Det är också det som bryter sönder saker. Låt oss gå tillbaka till vår språktolkningsanalogi. Språköversättning är bara så bra som den sämsta talaren av ett språk i kedjan. Om din tolk talar mycket bra engelska men bara godkänd tyska, är det möjligt att de talar fel, och den tysktalande kommer inte riktigt att förstå vad som sägs.

Samma sak händer med drivrutiner, men problemet är förvärrat. Det är inte bara så att själva drivrutinen kanske inte är perfekt, utan mjukvaran och hårdvaran kan också ha problem. Och dessa problem kan förstoras när de går ner i kedjan, ungefär som ett telefonspel. Så om du berättar för programvaran att du vill skriva ut, och den skickar vägbeskrivningen till föraren felaktigt, kommer föraren i sin tur att tolka så gott den kan och skicka dessa vägbeskrivningar till hårdvaran. Om allt går bra blir du ingen desto klokare.

Men programvara, drivrutiner och din hårdvara är inte alltid tillräckligt smarta för att återställa från dålig data. Om din tolk verkar förvirrad eftersom de inte vet varför den tysktalande vill ha ”handskor” (handschue på tyska) kan ni samarbeta för att fastställa att de menar handskar. Men om ditt operativsystem säger till din grafikdrivrutin att stänga av grafikkortets fläkt när det betydde på, kommer ditt grafikkort att göra som sagt, vilket leder till en potentiell överhettning och avstängning av systemet.

Problemet blir mer komplicerat än så, men på sina grundläggande nivåer kan de kokas ner till det faktum att dålig data gjorde en omöjlig begäran och systemet kunde inte återställas. Ditt operativsystem kan frysa eller krascha. Drivrutinerna i sig kan innehålla buggar eller inkompatibiliteter, men en drivrutin kan också tyckas vara fel när den underliggande hårdvaruenheten inte fungerar eller har ett annat fysiskt problem.

Vad du ska göra om du misstänker dåliga drivrutiner för hårdvara

Detta är det första stället att gå för uppdaterade hårdvarudrivrutiner.

Om du tror att du har ett problem med hårdvarudrivrutiner är det första du bör göra att ta ett steg tillbaka och undersöka varför du har kommit till den slutsatsen. Om en mjukvara rekommenderar att du uppdaterar ”inaktuell” programvara och lovar att hjälpa dig att uppdatera, bör du sluta. Vi rekommenderar inte drivrutinsuppdateringsverktyg; de kan orsaka mer skada än nytta; i själva verket är det diskutabelt om de orsakar någon nytta överhuvudtaget. Det bästa du kan göra för din maskin är att avinstallera drivrutinsuppdateringen.

Sanningen är att du vanligtvis inte behöver uppdatera hårdvarudrivrutiner. Om du inte ser ett problem med din hårdvara och den verkar fungera bra, är det bättre att lämna saker som de är än att riskera att introducera ett problem. Ett undantag är grafikdrivrutiner förknippade med grafikkort; dessa uppdateras regelbundet för att lösa problem, lägga till nya funktioner och förbättra prestanda för nya PC-spel. Men de flesta av dina hårdvarudrivrutiner behöver troligen inte uppdateras.

Men om du har sett en BSOD (Blue Screen of Death) som listar ett felmeddelande om en hårdvarudrivrutin, är du förmodligen på rätt spår. Om en hårdvarudrivrutin orsakar krascher bör ditt nästa steg vara att leta efter nya drivrutiner.

Men även i så fall, använd inte drivrutinsuppdateringsverktyget. Det bästa sättet att uppdatera din drivrutin är genom Windows Update eller tillverkarens webbplats. Börja med att leta efter eventuella Windows-uppdateringar, Microsoft gör ett anständigt jobb med att ta hand om hårdvaruuppdateringar åt dig vid det här laget, och det kan spara mycket ansträngning.

Om du inte ser något i Windows Update, gå till tillverkarens webbplats och kontrollera dess supportområde för nedladdningar av drivrutiner. Jämför den senaste versionen som tillverkaren erbjuder med versionen som visas i Enhetshanteraren.

För det mesta bör hårdvarudrivrutiner fungera i bakgrunden, och du bör inte märka deras närvaro. Tyvärr gör allt som får hårdvarudrivrutiner att fungera bra dem också till en potentiell källa till problem. Men vanligtvis behöver du inte oroa dig för dem alls. De behöver antingen inte uppdateras, eller så tar Windows hand om det åt dig. Att förstå dessa nyckelfakta hjälper dig att lösa ett problem om du har det – och undvika att orsaka ett problem där det inte fanns något i första hand.