Jump To:
Leopard Guides: Darwin
The Mac OS X kernel is the fundamental layer of the Mac OS X operating system. This environment includes the I/O Kit, the Mach kernel, and a BSD personality layer. Apple discourages developers from programming in the kernel, because kernel bugs can reduce the stability of the entire system. Many device drivers can be written entirely in user space and should be, where possible.

Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Date
Coding in the Kernel (HTML)
Considerations and caveats about programming in the kernel.
2005-11-09
File System Events Programming Guide (HTML) (PDF)
Explains how applications can detect changes in the file system.
2008-03-11
Kernel Extension Programming Topics (HTML) (PDF)
Combines the HOWTOs that were previously documented in Hello Debugger, Hello IOKit, Hello KEXT, Packaging KEXT, and KEXT Dependencies.
2007-10-31
Kernel Programming Guide (HTML) (PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
2006-11-07
Network Kernel Extensions (legacy) (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.3 and earlier).
2006-10-03
Network Kernel Extensions Programming Guide (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.4 and later).
2009-03-02