Hva er kjerneforlengelser?
En kjerneforlengelse er et stykke dataprogramvare som lastes inn i et operativsystems sentrale komponent. Kjerneutvidelser kan brukes til å gi funksjonalitet eller maskinvarestøtte som ellers ikke ville være en del av kjernen. En kjerneforlengelse har ofte lov til å utføre oppgaver eller få tilgang til deler av operativsystemet som normal programvare ikke kan. I noen operativsystemer blir kjerneforlengelser referert til som kjernemoduler, eller ganske enkelt moduler.
I de fleste operativsystemer er tilgangen til nettverk, filsystemer og systemanrop begrenset for å opprettholde et stabilt og sikkert system. Kjerneutvidelser kan få tilgang til disse funksjonene og systemene fordi de kjører som en del av kjernen. En kjerne uten utvidelser er kjent som en basekjerne. Utvidelser kan legges til eller fjernes fra basekjernen.
Utvidelser gir større fleksibilitet i en kjernefunksjoner uten å øke kompleksiteten til basekjernen. For eksempel kan en kjerneforlengelse være LOADed for å aktivere strømsparende funksjoner som er passende for bærbare datamaskiner. Disse funksjonene er vanligvis ikke inkludert i basekjernen fordi operativsystemet kanskje ikke brukes på en bærbar PC.
Kernelutvidelser eller moduler kan også lastes og losses dynamisk, noe som betyr at de blir lagt til og fjernes fra kjernen etter behov. Dette lar datamaskinen spare minne og andre ressurser når utvidelsen ikke er i bruk. En Universal Serial Bus (USB) nettverksadapter kan laste de nødvendige driverne som kjerneforlengelser når de er koblet til, og deretter loss ut utvidelsene når enheten er fjernet.
De har mer autoritet enn andre programmer, så kjerneutvidelser og moduler kan forårsake unike problemer. En dårlig kodet enhetsdriver som kjører som en kjerneforlengelse, kan føre til at hele systemet krasjer. Av denne grunn oppfordres programvareutviklere ofte til å bruke kjerneutvidelser bare nårdet er ikke noe alternativ.
For de fleste brukere skjer konfigurasjon av utvidelser automatisk. Noen brukere, spesielt de som bruker bestemte operativsystemer, administrerer kjerneforlengelse eller moduler selv. Det er variasjoner i versjonene av kjerner, så utvidelse og moduler er kanskje ikke kompatible med alle kjerner eller alle operativsystemer.