Is FreeBSD a suitable choice for a MacBook? --- WHY?

Robert Watson rwatson at
Mon Oct 6 17:37:00 UTC 2008

On Mon, 6 Oct 2008, Dr. Aharon Friedman wrote:

> Sorry, I meant BSD.
> Here is the link:
> Aharon Friedman

I don't see the origina message you replied to on the list, so am replying to 
it via your post...

>> I'm just a lurker, but even I know that only some of the userland apps in 
>> OS X are BSD-based. The kernel is mach microkernel based and not even 
>> slightly similar.

This claim regarding the kernel is highly inaccurate.  There are significant 
quantities of FreeBSD, Mach, and Apple-originated code in the Mac OS X kernel, 
both because Apple pulled in a lot of FreeBSD code early on, but also because 
code moves between the two kernels fairly easily and fairly frequently, and in 
both directions. You'll find a FreeBSD-derived VFS, network stack, and 
countless other kernel parts in Mac OS X from their first open source drop 
forward.  More recently, though, you'll find that the Audit implementation 
present in FreeBSD 6.x and later is based on the Mac OS X kernel audit code, 
and the TrustedBSD MAC Framework that appeared in Mac OS X Leopard is straight 
from FreeBSD.

It's certainly true that there's a lot of non-FreeBSD code -- XNU uses the 
Mach scheduler and Mach IPC, and a quite different driver framework, for 
example.  There's also some convergent evolution: FreeBSD contains a 
Mach-derived VM that also comes from the original Mach project.

Finally, just to be clear: XNU is not a micro-kernel, even though it contains 
significant amounts of Mach code.  The "microkernel" and remainder of the 
kernel run in a single address space, and although certain separation is 
(often) maintained in the source code / abstractions, the Mach, FreeBSD, and 
device driver parts run in a unified and tightly integrated way.

Robert N M Watson
Computer Laboratory
University of Cambridge

More information about the freebsd-stable mailing list