Re: Darwin
Re: Darwin
- Subject: Re: Darwin
- From: Andrew Gallatin <email@hidden>
- Date: Mon, 20 May 2013 16:00:34 -0400
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.
> 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
References: | |
| >Darwin (From: Christ Levesque <email@hidden>) |
| >Re: Darwin (From: Alexander von Below <email@hidden>) |
| >Re: Darwin (From: Michael Crawford <email@hidden>) |