Hvad er kerneudvidelser?
En kerneudvidelse er et stykke computersoftware, der indlæses i et operativsystems centrale komponent. Kerneudvidelser kan bruges til at levere funktionalitet eller hardwarestøtte, der ellers ikke ville være en del af kernen. En kerneudvidelse har ofte tilladelse til at udføre opgaver eller få adgang til dele af operativsystemet, som normal software ikke kan. I nogle operativsystemer omtales kerneudvidelser som kernemoduler eller simpelthen moduler.
I de fleste operativsystemer er adgang til netværk, filsystemer og systemopkald begrænset for at opretholde et stabilt og sikkert system. Kerneudvidelser har adgang til disse funktioner og systemer, fordi de kører som en del af kernen. En kerne uden udvidelser er kendt som en basekerne. Udvidelser kan føjes til eller fjernes fra basenkernen.
Udvidelser tillader større fleksibilitet i en kernels kapaciteter uden at øge kompleksiteten af basenkernen. For eksempel kan en kerneudvidelse indlæses for at aktivere strømbesparende funktioner, der er passende til bærbare computere. Disse funktioner er typisk ikke inkluderet i basenkernen, fordi operativsystemet muligvis ikke bruges på en bærbar computer.
Kerneudvidelser eller moduler kan også indlæses og aflæses dynamisk, hvilket betyder, at de tilføjes og fjernes fra kernen efter behov. Dette gør det muligt for computeren at gemme hukommelse og andre ressourcer, når udvidelsen ikke er i brug. En Universal Serial Bus (USB) netværksadapter indlæser muligvis de krævede drivere som kerneudvidelser, når den er tilsluttet, og fjern derefter udvidelserne, når enheden fjernes.
De har mere autoritet end andre programmer, så kerneudvidelser og moduler kan forårsage unikke problemer. En dårligt kodet enhedsdriver, der kører som en kerneudvidelse, kan forårsage, at hele systemet går ned. Af denne grund opfordres softwareudviklere ofte til kun at bruge kerneudvidelser, når der ikke er noget alternativ.
For de fleste brugere sker konfiguration af udvidelser automatisk. Nogle brugere, især dem, der bruger bestemte operativsystemer, administrerer kerneludvidelse eller moduler selv. Der er variationer i versionerne af kerner, så udvidelse og moduler er muligvis ikke kompatible med alle kerner eller alle operativsystemer.