Linked by Thom Holwerda on Fri 26th Dec 2008 11:58 UTC, submitted by probono
BSD and Darwin derivatives Most of you will know that the underlying core set of components of Mac OS X and the iPhone operating system are released under the Apple Public Source License, an FSF-approved open source license. Few of you, however, will have actually used Darwin in any other form than Mac OS X or the iPhone OS. Despite numerous projects attempting so, Darwin has never gained any significant traction apart from Apple's own interest. The PureDarwin project tries to rise from the ashes of the OpenDarwin project, and has just released a Christmas developer preview.
Thread beginning with comment 341553
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Comment by Kroc
by Thom_Holwerda on Fri 26th Dec 2008 13:30 UTC in reply to "RE[2]: Comment by Kroc"
Thom_Holwerda
Member since:
2005-06-29

I guess you guys should read up on what Darwin has to offer. Most importantly, it differs a GREAT deal from Linux, BSD, and Solaris in that it uses a diferent kernel type, closer to that of Windows NT than that of the aforementioned.

It also has something called I/O kit, an object-oriented device driver kit that is very, very different from that othe roperating systems have to offer.

Those are just two I knew from the top of my head.

Sometimes, you need to dig a little deeper before you see the real differences. Sometimes, they just don't show up in the GUI. Sometimes, you need a little more technical knowledge.

Edited 2008-12-26 13:31 UTC

Reply Parent Bookmark Score: 3

RE[4]: Comment by Kroc
by javiercero1 on Fri 26th Dec 2008 17:50 in reply to "RE[3]: Comment by Kroc"
javiercero1 Member since:
2005-11-10

When all you can tell about a microkernel is that it is NT-like, I would refrain from questioning other people's technical knowledge.

In any case, Linux, BSDs, and OpenSolaris... all use different kernels, threading approaches, and heck even io subsystems. Simply saying that "it is different" doesn't quite answer the question of what makes Darwin interesting. Don't you think?

Reply Parent Bookmark Score: 3

RE[5]: Comment by Kroc
by Thom_Holwerda on Fri 26th Dec 2008 18:02 in reply to "RE[4]: Comment by Kroc"
Thom_Holwerda Member since:
2005-06-29

When all you can tell about a microkernel is that it is NT-like, I would refrain from questioning other people's technical knowledge.


Exept... XNU isn't a microkernel.

It's a hybrid kernel - a loaded term among Linux enthusiasts, but a valid term, nonetheless. Linux, the BSDs, and Solaris all use monolithic kernels, meaning there certainly is a difference between the two. If you don't know the differences between micro, monolithic, and hybrid kernels, then feel free to Google around.

In any case, Linux, BSDs, and OpenSolaris... all use different kernels, threading approaches, and heck even io subsystems. Simply saying that "it is different" doesn't quite answer the question of what makes Darwin interesting. Don't you think?


From the top of my head, these first two came to my mind. If you think that employing a totally different kernel type, as well as a radically different device driver kit unlike any of the others mentioned in this thread doesn't justify calling Darwin unique... Well, then you might as well call Linux, Solaris, BSD, Windows NT, Mac OS X, AmigaOS, etc. etc. the same.

Me thinks people are simply too lazy to study the more technical differences, instead focussing on the stuff they can grasp, which rarely - if ever - goes any further than the colour scheme and 3D effects used.

Edited 2008-12-26 18:03 UTC

Reply Parent Bookmark Score: 3

RE[4]: Comment by Kroc
by apotheon on Fri 26th Dec 2008 21:43 in reply to "RE[3]: Comment by Kroc"
apotheon Member since:
2008-02-05

It's not very NT-like. It's a Mach kernel, "inherited" by Apple from its acquisition of NeXT. The Mach kernel has some interesting architectural features that make an open source Darwin-based OS an interesting idea indeed, and a worthy project to pursue.

Microsoft's NT kernel pretended to offer similar architectural features with all its dithering on about how it uses a "hybrid" kernel, but the truth is that the NT kernel just made use of some superficial characteristics of a modularized monolithic kernel without actually leveraging any of the advantages thereof. PureDarwin may actually prove to offer the kind of benefits NT only pretended (and failed) to offer, because of its choice of core architecture.

Reply Parent Bookmark Score: 2

RE[5]: Comment by Kroc
by silix on Wed 31st Dec 2008 20:10 in reply to "RE[4]: Comment by Kroc"
silix Member since:
2006-03-01

It's not very NT-like. It's a Mach kernel, "inherited" by Apple from its acquisition of NeXT. The Mach kernel has some interesting architectural features that make an open source Darwin-based OS an interesting idea indeed, and a worthy project to pursue.
but also some very bad performance drawbacks ( that other microkernels like L4 or KeyKos have successfully tackled in the last decades, btw)

PureDarwin may actually prove to offer the kind of benefits NT only pretended (and failed) to offer, because of its choice of core architecture.
what some people don't remember or deliberately ignore, is that:
1) Darwin is NOT NT, and its architecture is now totally different;
2) NT too was based on a pure microkernel (actually a Mach derivative) for some time, in the early days
3) NT being hybrid doesn't have to do with filesystem and networking stacks being merged into the kernel, but with the latter being a layered (and "ringed") structure made of elements interfaced by versioned APIs and accessed with LPC
4) NT4+ applications could be written, link, and work the same way (and with the same runtime libraries) as application for previous (3.x) versions of NT, and these could continue to run on the newer (integrated hybrid) kernel - this was because (thanks to architectural provisioning for messaging, transactions and local RPC, and the use of a dispatch system) they were independent from whether function providers were in- kernel or external;
5) "inner core" facilities (those that would be placed in a microkernel too) like VM, scheduling, messaging, are logically separated from less vital ones (whose memory may also be *paged out* to disk, btw - few other monolit... ehm, macrokernels can swap out parts of their address space, afaik...);
then, NT can be said to have a *microkernel centered*, structured, hybrid kernel

Microsoft's NT kernel pretended to offer similar architectural features with all its dithering on about how it uses a "hybrid" kernel, but the truth is that the NT kernel just made use of some superficial characteristics of a modularized monolithic kernel without actually leveraging any of the advantages thereof.
given the above, you see that NT has not "failed" in delivering a structured hybrid kernel
at least less of a failure than some other OS's one at leveraging the monolithic kernel design...
if the monolithic approach is chosen to reduce context switch overhead;
but, if user space daemons have to be present anyway to supply functionality required for the base platform to *work* at all (functionality such as event notifications or messaged ipc, that even other *microkernels* have implemented internally for ages);
and moreover, if they have to communicate in the most inefficient way possible (plain marshaling over sockets, even for local interaction - when things like protected procedure calls and Lightweight RPC, have existed for decades on other systems);
then i'm inclined to believe that in that case, there's something wrong in the way the monolithic kernel has been designed and deployed ...

after all, everything boils down to NIH syndrome, doesnt it?

Edited 2008-12-31 20:23 UTC

Reply Parent Bookmark Score: 1