From the course: macOS for IT Administrators

Kernel extensions and system extensions - Mac OS Tutorial

From the course: macOS for IT Administrators

Start my 1-month free trial

Kernel extensions and system extensions

- [Instructor] Kernel extensions are pieces of software that allow low level access to the hardware and software of the system. They include device drivers, network extensions file system extensions and software that modifies file system data on the fly. The kernel loads software that isn't quite so low level as the firmware or the booter, but is significantly lower level than the launchd process, or where user level processes launch. Kernel extensions are dangerous because of their more direct access to the hardware and the system. An example is turning off the system fans and running the CPU at full speed, overheating the system and potentially destroying the hardware. Apple decided to move from kernel extensions to a different model with less direct access to hardware control called system extensions. The network system extension is an example of how this works. Third party developers of low level network tools used to write their own network kernel extensions to accomplish their goals. Now, they write network system extensions. Network system extensions can be written to do content filters, transparent proxies, DNS proxies, VPNs, virtual machines and custom protocols. All manner of kernel extensions of the past will go away over time, replaced by system extensions that have to go through a safer layer of APIs that Apple has written so the operating system can better protect itself if something goes wrong. To learn more about kernel extensions, search on the web for keep out, avoid kernel programming by Apple.

Contents