OSX is commonly seen as the graphical shell on top of BSD. Lately, it seems as though Apple is adding more and more to 'core' OS functionality (sandboxing, versioning). Is there a steady progression to an eventually all-proprietary kernel, or is the microkernel approach flexible enough to be persisted?
closed as not constructive by Daniel Beck♦, slhck, Nifle, studiohack♦ Aug 1 '11 at 1:05
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
The Wikipedia article on XNU answers much of this question.
XNU was a hybrid kernel combining version 2.5 of the Mach kernel developed at Carnegie Mellon University with components from 4.3BSD and an object-oriented API for writing drivers called Driver Kit. After Apple acquired NeXT, the Mach component was upgraded to 3.0, the BSD components were upgraded with code from the FreeBSD project and the Driver Kit was replaced with a C++ API for writing drivers called I/O Kit.
The Berkeley Software Distribution (BSD) portion of the kernel provides the POSIX API (BSD system calls), the Unix process model atop Mach tasks, basic security policies, user and group ids, permissions, the network stack, the virtual file system code (including a filesystem independent journalling layer), several local file systems such as HFS/HFS+, the Network File System (NFS) client and server, cryptographic framework, UNIX System V inter-process communication (IPC), Audit subsystem, mandatory access control, and some of the locking primitives. The BSD code present in XNU came from the FreeBSD kernel. Although much of it has been significantly modified, code sharing still occurs between Apple and the FreeBSD Project.
So OS X's graphical shell does not sit atop a BSD kernel. The kernel is a hybrid one and I believe it is therefore not the same as any kernel in any mainstream system from FreeBSD, OpenBSD, NetBSD or any other BSD variant. Only a relatively small (but important) part of BSD is in OSX.