Ekstensi kernel adalah bagian dari perangkat lunak komputer yang dimuat ke dalam komponen pusat sistem operasi. Ekstensi kernel dapat digunakan untuk menyediakan fungsionalitas atau dukungan perangkat keras yang tidak akan menjadi bagian dari kernel. Ekstensi kernel sering diizinkan untuk melakukan tugas atau mengakses bagian dari sistem operasi yang tidak dapat dilakukan oleh perangkat lunak normal. Dalam beberapa sistem operasi, ekstensi kernel disebut sebagai modul kernel, atau hanya modul.
Di sebagian besar sistem operasi, akses ke jaringan, sistem file, dan panggilan sistem dibatasi untuk mempertahankan sistem yang stabil dan aman. Ekstensi kernel dapat mengakses fungsi dan sistem ini karena dijalankan sebagai bagian dari kernel. Kernel tanpa ekstensi dikenal sebagai kernel dasar. Ekstensi dapat ditambahkan atau dihapus dari kernel dasar.
Ekstensi memungkinkan fleksibilitas yang lebih besar dalam kemampuan kernel tanpa meningkatkan kompleksitas kernel dasar. Misalnya, ekstensi kernel mungkin dimuat untuk mengaktifkan fitur hemat daya yang sesuai untuk komputer laptop. Fitur-fitur ini biasanya tidak disertakan dalam kernel dasar karena sistem operasi mungkin tidak digunakan pada laptop.
Ekstensi atau modul kernel juga dapat dimuat dan dibongkar secara dinamis, artinya mereka ditambahkan dan dihapus dari kernel sesuai kebutuhan. Ini memungkinkan komputer untuk menghemat memori dan sumber daya lainnya saat ekstensi tidak digunakan. Adaptor jaringan Universal Serial Bus (USB) mungkin memuat driver yang diperlukan sebagai ekstensi kernel saat dicolokkan, lalu membongkar ekstensi saat perangkat dilepas.
Mereka memiliki otoritas lebih dari program lain, sehingga ekstensi kernel dan modul dapat menyebabkan masalah yang unik. Driver perangkat berkode buruk yang berjalan sebagai ekstensi kernel dapat menyebabkan seluruh sistem macet. Untuk alasan ini, pengembang perangkat lunak sering didorong untuk menggunakan ekstensi kernel hanya jika tidak ada alternatif lain.
Bagi sebagian besar pengguna, konfigurasi ekstensi terjadi secara otomatis. Beberapa pengguna, terutama yang menggunakan sistem operasi tertentu, mengelola ekstensi kernel atau modul sendiri. Ada variasi dalam versi kernel, sehingga ekstensi dan modul mungkin tidak kompatibel dengan semua kernel atau semua sistem operasi.