XNU
| XNU | |
|---|---|
The XNU kernel | |
| Developer | Apple Inc. |
| Written in | C, C++, assembly language |
| OS family | Unix-like, Unix |
| Working state | Current |
| Source model | Open-source |
| Initial release | December 1996 |
| Repository | |
| Supported platforms | Current: x86-64, 64-bit ARM, 32-bit ARM (32-bit ARM support is closed-source) Historical: PowerPC (32-bit and 64-bit), IA-32 |
| Kernel type | Hybrid |
| License | Apple Public Source License 2.0 |
| Preceded by | Mach, Nukernel, NeXTSTEP kernel |
| Official website | github |
XNU ("X is Not Unix") is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X (now macOS) operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for iOS, iPadOS, watchOS, visionOS, and tvOS.
XNU was originally developed by NeXT for the NeXTSTEP operating system. It was a hybrid kernel derived from version 2.5 of the Mach kernel, developed at Carnegie Mellon University, which incorporated the bulk of the 4.3BSD kernel modified to run atop Mach primitives, along with an application programming interface (API) in Objective-C for writing drivers named DriverKit.
After Apple acquired NeXT, the kernel was updated with code derived from OSF MK 7.3 from OSF, and the FreeBSD project, and the DriverKit was replaced with new API on a restricted subset of C++ (based on Embedded C++) named IOKit.
macOS achieved UNIX certification in 2007 with the release of Mac OS X 10.5 Leopard under the Single UNIX Specification (SUS) by The Open Group. Despite this, Apple retained the original 'XNU' name, which stands for 'X is Not Unix,' a relic from its NeXTSTEP origins before macOS was UNIX-certified. This has led to confusion, as the name suggests that XNU is separate from UNIX, even though macOS, as a whole, is officially recognized as a UNIX operating system.