Linked by Thom Holwerda on Fri 26th Dec 2008 11:58 UTC, submitted by probono
Thread beginning with comment 341582
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
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






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.