What are Kexts?

Print anything with Printful



Kernel extensions are software that load into an operating system’s core component, providing hardware support and access to restricted functions. They can be added or removed from the base kernel, allowing for flexibility in capabilities. However, poorly coded extensions can cause system crashes. They are often managed automatically, but some users may need to manage them manually. Compatibility with different kernels and operating systems may vary.

A kernel extension is computer software that loads into the core component of an operating system. Kernel extensions may be used to provide hardware support or functionality that would otherwise not be part of the kernel. A kernel extension can often perform tasks or access parts of the operating system that normal software cannot. In some operating systems, kernel extensions are called kernel modules or simply modules.

In most operating systems, access to network, file systems, and system calls is restricted to keep a system stable and secure. Kernel extensions are able to access these functions and systems because they run as part of the kernel. A kernel without any extensions is known as a core kernel. Extensions can be added or removed from the base kernel.

Extensions allow for more flexibility in a kernel’s capabilities without increasing the complexity of the core kernel. For example, a kernel extension might be loaded to enable power management features appropriate for portable computers. These features are typically not included in the base kernel because the operating system may not be used on a laptop.

Kernel extensions or modules can also be dynamically loaded and unloaded, which means they are added and removed from the kernel as needed. This allows your computer to save memory and other resources when the extension is not in use. A Universal Serial Bus (USB) network adapter might load the required drivers as kernel extensions when plugged in, then unload the extensions when the device is removed.

They have more authority than other programs, so kernel extensions and modules can cause unique problems. A poorly coded device driver running as a kernel extension could cause the entire system to crash. For this reason, software developers are often encouraged to use kernel extensions only when there is no alternative.

For most users, setting up extensions happens automatically. Some users, especially those running particular operating systems, manage kernel extension or modules themselves. There are variations in kernel versions, so extensions and modules may not be compatible with all kernels or operating systems.




Protect your devices with Threat Protection by NordVPN


Skip to content