XNU
|
XNU is the name of the kernel used in the open source Darwin computer operating system, that Apple uses as the foundation of its Mac OS X operating system. It is a hybrid kernel based on a mixed Mach kernel and FreeBSD kernel codebase. XNU is a recursive acronym for XNU is Not Unix.
The primitives and fundamental services of the XNU kernel are based on Mach 3.0. Apple modified and extended Mach to meet the functional and performance goals of Mac OS X. Mach 3.0 was originally conceived as a simple, extensible microkernel. As such, it is able to run the core of an operating system as a separated process, which allows a great flexibility (one could run several operating systems in parallel above the Mach core), but this reduces performance because of the translations between Mach and the different codebases. With Mac OS X, since the behavior of the system is known in advance, BSD functionalities were built in to the core with Mach. The result is a combination of the assets of Mach and BSD. The Mach side of the kernel is responsible for the memory management, inter-process communication and the input/output system, it also allows protected memory, pre-emptive multitasking and advanced virtual memory. The BSD side of the kernel manages users and the permissions, contains the network stack, offers a virtual file system and maintains POSIX compatibility.
External links
- Building the XNU kernel on Mac OS X 10.3.x / OpenDarwin 7.2.1 (for mortals) (http://www.opendarwin.org/en/articles/building_xnu/)
- XNU: The Kernel (http://www.kernelthread.com/mac/osx/arch_xnu.html) - an overview of the components of XNU on kernelthread.com