Bir çekirdek uzantısı, bir işletim sisteminin merkezi bileşenine yüklenen bir bilgisayar yazılımı parçasıdır. Çekirdek uzantıları, aksi takdirde çekirdeğin bir parçası olmayacak işlevsellik veya donanım desteği sağlamak için kullanılabilir. Bir çekirdek uzantısının genellikle, normal yazılımın yapamadığı görevleri gerçekleştirmesine veya işletim sisteminin bölümlerine erişmesine izin verilir. Bazı işletim sistemlerinde, çekirdek uzantıları çekirdek modülleri veya basitçe modüller olarak adlandırılır.
Çoğu işletim sisteminde, ağa erişim, dosya sistemleri ve sistem çağrıları, istikrarlı ve güvenli bir sistem sağlamak için sınırlandırılmıştır. Çekirdek uzantıları bu işlevlere ve sistemlere erişebilir çünkü çekirdeğin bir parçası olarak çalışırlar. Uzantı içermeyen bir çekirdek, bir temel çekirdek olarak bilinir. Temel çekirdeğe uzantılar eklenebilir veya çıkarılabilir.
Genişletmeler, temel çekirdeğin karmaşıklığını arttırmadan çekirdeğin yeteneklerinde daha fazla esneklik sağlar. Örneğin, dizüstü bilgisayarlara uygun güç tasarrufu özelliklerini etkinleştirmek için bir çekirdek uzantısı yüklenebilir. Bu özellikler tipik olarak temel çekirdeğe dahil edilmez, çünkü işletim sistemi bir dizüstü bilgisayarda kullanılamayabilir.
Çekirdek uzantıları veya modülleri de dinamik olarak yüklenebilir ve boşaltılabilir, yani çekirdeğe gerektiği gibi eklenir ve çıkarılır. Bu, uzantı kullanılmadığında bilgisayarın belleği ve diğer kaynakları kaydetmesini sağlar. Bir Evrensel Seri Veri Yolu (USB) ağ bağdaştırıcısı, gerekli sürücülerini takıldığında çekirdek uzantıları olarak yükleyebilir, ardından aygıt çıkarıldığında uzantıları kaldırabilir.
Diğer programlardan daha fazla yetki sahibi oldukları için, çekirdek uzantıları ve modüller benzersiz sorunlara neden olabilir. Çekirdek uzantısı olarak çalışan, kodlanmamış aygıt sürücüsü tüm sistemin çökmesine neden olabilir. Bu nedenle, yazılım geliştiricilerin çoğu zaman yalnızca alternatif olmadığında çekirdek uzantılarını kullanmaları teşvik edilir.
Çoğu kullanıcı için uzantıların yapılandırması otomatik olarak gerçekleşir. Bazı kullanıcılar, özellikle belirli işletim sistemlerini kullananlar, çekirdek uzantılarını veya modüllerini kendileri yönetir. Çekirdek sürümlerinde farklılıklar vardır, bu nedenle uzatma ve modüller tüm çekirdekler veya tüm işletim sistemleriyle uyumlu olmayabilir.


