This topic was published by DevynCJohnson and viewed 2230 times since "". The last page revision was "".
- Topics - 444
XNU is the OS kernel used in OS X, Darwin, and iOS. XNU may also be referred to as the "OS X kernel" or "iOS kernel". XNU stands for "X is Not Unix". XNU was first made by NeXT in 1989 for their operating system called NeXTSTEP. On December 20, 1996, Apple Inc. purchased NeXT and its software. Afterwards, the XNU kernel was used to make OS X and related operating systems. Apple licensed XNU under the Apple Public Source License v2.0 (APSL). Therefore, XNU is open source.
A kernel is the core of an operating system. The operating system is all of the programs that manages the hardware and allows users to run applications on a computer. The kernel controls the hardware and applications. Applications do not communicate with the hardware directly, instead they go to the kernel. In summary, software runs on the kernel and the kernel operates the hardware. Without a kernel, a computer is a useless object.
XNU is a hybrid kernel (like Windows); although XNU is primarily monolithic (like Linux). This means that it uses concepts from both microkernel and monolithic kernels, but mainly monolithic ideas. The XNU kernel is a combination of the v3 Mach kernel, FreeBSD kernel, and a C++ API called I/O Kit. Because XNU uses parts from Mach, the kernel can run as separate processes. XNU itself is written in C/C++.
NOTE: For information about monolithic kernels and microkernels, read the related articles at http://dcjtech.info/topic/general-operating-system-concepts/
Despite the kernel's acronym, XNU is UNIX 03 (as of OS X Leopard) and POSIX (as of OS X Yosemite) compliant. In other words, OS X is now a Unix and POSIX operating system that follows those standards and specifications.
NOTE: Leopard is OS X version 10.5 and Yosemite is version 10.10.
XNU supports x86, x86-64, IA-32, PowerPC, and ARM processors. In addition, the XNU kernel works on single processor and SMP systems. In 32-bit mode (called K32), the kernel can support over 32GB of memory while most 32-bit kernels are restricted to 4GB.
The source code for XNU can be obtained from multiple places as seen below.
- Official Tarballs - http://www.opensource.apple.com/tarballs/xnu/
- Official Site - https://opensource.apple.com/source/xnu/
- GitHub - https://github.com/opensource-apple/xnu/
Information on the Apple Public Source License can be seen at http://www.opensource.apple.com/license/apsl/
OSX and Darwin Article Index - http://dcjtech.info/topic/os-x-darwin-and-friends/