Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Oct 2008 18:36:59 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        "Dr. Aharon Friedman" <afriedman@drsns.com>
Cc:        freebsd-stable@freebsd.org, David Sanders <dsuzukisanders@gmail.com>
Subject:   Re: Is FreeBSD a suitable choice for a MacBook? --- WHY?
Message-ID:  <alpine.BSF.1.10.0810061829190.59341@fledge.watson.org>
In-Reply-To: <C070B5C3-5EBC-42D6-A194-69AF2CAD7184@drsns.com>
References:  <363BDDAF-76C7-49AE-A8F5-EE1995C4CCBF@drsns.com> <6228eb140810060825g784d0d1fle6738d3186cc4451@mail.gmail.com> <C070B5C3-5EBC-42D6-A194-69AF2CAD7184@drsns.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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

> Sorry, I meant BSD.
>
> Here is the link:
>
> http://www.freebsd.org/news/press-rel-3.html
>
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.1.10.0810061829190.59341>