Re: Darwin
Re: Darwin
- Subject: Re: Darwin
- From: Rick Macklem <email@hidden>
- Date: Mon, 20 May 2013 16:37:03 -0400 (EDT)
Andrew Gallatin wrote:
> Some corrections:
>
> On 05/20/2013 03:23 PM, Michael Crawford wrote:
> > The Darwin kernel is a massive fork of the FreeBSD kernel. Darwin
> > has
> > the Mach microkernel statically linked in - not as a microkernel -
> > to
> > enable
>
> Although it is a common misconception, the darwin kernel is most
> certainly not a fork of FreeBSD. It is a direct descendant of the NeXT
> kernel, which is a shotgun wedding of BSD and Mach (those were popular
> in the 90s, DEC Tru64 UNIX is another example) and it far pre-dates
> FreeBSD. The similarities between FreeBSD & MacOSX are mainly due to
> common BSD heritage, as well as some code ported between the two
> (kqueue, ipfw). They are more like second or 3rd cousins than
> siblings.
>
Well, if you looked at xnu-592 (or somewhere around there, which is
the open sourced kernel sources related to OS X 10.3 Panther) you
will see a lot of FreeBSD code in it and not just 4.nBSD.
Mac OS X diverged dramatically when Apple did 10.4 Tiger, at least
in the vfs/vop area that I worked in. I would have called the early
10.n (up to n == 3) closer that 2nd cousin, but I'm just nitting picks.
rick
> > I should have said in my first reply that network drivers are not
> > part
> > of the I/O Kit. They are written in C and work just like the FreeBSD
> > net drivers.
>
> Having written 10GbE drivers for both OSes, I can say with authority
> that this is totally & utterly false. Network device drivers are c++
> in
> MacOSX, and C in FreeBSD, and use a totally different driver API
> (IOKit
> vs FreeBSD's own nameless API). Now, some of the core kernel
> structures are similar (ifnet, mbufs) but none are exposed directly to
> drivers in MacOSX, and the core things a driver has to do
> (configuration, interrupts, transmits, receives) are quite different
> between the two OSes.
>
> Drew
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-kernel mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
References: | |
| >Re: Darwin (From: Andrew Gallatin <email@hidden>) |