Is FreeBSD a suitable choice for a MacBook? --- WHY?
rwatson at FreeBSD.org
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
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
University of Cambridge
More information about the freebsd-stable