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 (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/rmacklem%40uoguelph.ca
This email sent to rmacklem@uoguelph.ca
Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com
participants (1)
-
Rick Macklem