Rozszerzenie jądra to oprogramowanie komputerowe, które jest ładowane do centralnego składnika systemu operacyjnego. Rozszerzenia jądra mogą być używane do zapewnienia funkcjonalności lub obsługi sprzętu, które w przeciwnym razie nie byłyby częścią jądra. Rozszerzenie jądra często może wykonywać zadania lub uzyskiwać dostęp do części systemu operacyjnego, których normalne oprogramowanie nie może. W niektórych systemach operacyjnych rozszerzenia jądra nazywane są modułami jądra lub po prostu modułami.
W większości systemów operacyjnych dostęp do sieci, systemów plików i wywołań systemowych jest ograniczony w celu utrzymania stabilnego i bezpiecznego systemu. Rozszerzenia jądra mają dostęp do tych funkcji i systemów, ponieważ działają jako część jądra. Jądro bez rozszerzeń nazywane jest jądrem podstawowym. Rozszerzenia można dodawać lub usuwać z jądra podstawowego.
Rozszerzenia umożliwiają większą elastyczność w możliwościach jądra bez zwiększania złożoności jądra podstawowego. Na przykład rozszerzenie jądra może zostać załadowane, aby włączyć funkcje oszczędzania energii odpowiednie dla komputerów przenośnych. Te funkcje zazwyczaj nie są zawarte w jądrze podstawowym, ponieważ system operacyjny może nie być używany na laptopie.
Rozszerzenia lub moduły jądra można również ładować i rozładowywać dynamicznie, co oznacza, że są one dodawane i usuwane z jądra w razie potrzeby. Pozwala to komputerowi oszczędzać pamięć i inne zasoby, gdy rozszerzenie nie jest używane. Karta sieciowa Universal Serial Bus (USB) może załadować wymagane sterowniki jako rozszerzenia jądra po podłączeniu, a następnie zwolnić rozszerzenia po odłączeniu urządzenia.
Mają większe uprawnienia niż inne programy, więc rozszerzenia jądra i moduły mogą powodować unikalne problemy. Źle zakodowany sterownik urządzenia działający jako rozszerzenie jądra może spowodować awarię całego systemu. Z tego powodu twórcy oprogramowania często są zachęcani do używania rozszerzeń jądra tylko wtedy, gdy nie ma alternatywy.
W przypadku większości użytkowników konfiguracja rozszerzeń odbywa się automatycznie. Niektórzy użytkownicy, zwłaszcza ci korzystający z określonych systemów operacyjnych, samodzielnie zarządzają rozszerzeniami jądra lub modułami. Istnieją różne wersje jąder, więc rozszerzenia i moduły mogą nie być kompatybilne ze wszystkimi jądrami lub wszystkimi systemami operacyjnymi.