On 11/27/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Doug McNaught <doug@mcnaught.org> writes:
> > Kind of. Mach is still running underneath (and a lot of the app APIs
> > use it directly) but there is a BSD 'personality' above it which
> > (AIUI) is big parts of FreeBSD ported to run on Mach. So when you use
> > the Unix APIs you're going through that.
> The one bit of the OSX userland code that I've really had my nose rubbed
> in is libedit, and they definitely took that from NetBSD not FreeBSD.
> You sure you got your BSDen straight?
>
> Some random poking around at
> http://www.opensource.apple.com/darwinsource/10.5/
> finds a whole lot of different-looking license headers. But it seems
> pretty clear that their userland is BSD-derived, whereas I've always
> heard that their kernel is Mach-based. I've not gone looking at the
> kernel though.
The majority of the BSDness in the kernel is from FreeBSD, but it is
very much a hybrid, Mach being the other parent. Userland is a mixed
bag; FreeBSD, NetBSD, OpenBSD are all visible in different places. In
older versions I've also seen 4.4BSD credited directly (as in not even
caught up with FreeBSD), but I believe most of that has been updated
in newer versions of the OS. Apple also has employees who are major
developers for both FreeBSD and NetBSD at least, though I haven't kept
up with who is doing what.
http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/Architecture/chapter_3_section_3.html