4 ms·
If Darwin uses a Microkernel then so does Microsoft Windows. They are very similar designs. In case you are wondering: I don't think that Microsoft Windows use
by natermer 11y ago
If Darwin uses a Microkernel then so does Microsoft Windows. They are very similar designs.
In case you are wondering: I don't think that Microsoft Windows uses a microkernel.
Some versions of Mach are micro, other versions are not. OS X doesn't use a microkernel, neither does Darwin. They use XNU kernel. XNU has code from Mach and it also uses code from FreeBSD.
People call it a 'hybrid kernel', but I think that is a misnomer and only really exists through the effectiveness of Apple's marketing. XNU is a monolithic kernel with message passing capabilities inspired from microkernels. Makes it so they can isolate certain features and drivers better then, say, Linux can.
Unlike Apple, Microsoft actually did release a version of NT that was a true microkernel, but they quickly realized that it is not a practical approach to creating a OS that was competitive with Unix.
Regardless...
This seems pretty much Darwin grafted with FreeBSD.
For a commercial network appliance device it's probably a good approach. They get all the benefits from using source code from Apple, FreeBSD, and ZFS without having to actually provide much source code in the way of real improvements that could be used to enhance a competitor's product.
- Maarten88 11y ago> Microsoft actually did release a version of NT that was a true microkernel, You mean Windows NT 3.1 and 3.5, right? I used those intensively, and it worked really well. > but they quickly realized that it is not a practical approach.. With Windows NT 4.0 they left the original design and moved everything including the graphics into the kernel. But that was not because the original approach was not practical or did not work. It was because Windows 95. The wanted Win32 to be API compatible with that crap (desktop 'gadgets' and such) and that's why they did it. I remember hating NT 4.0 because it was so much less stable than the original versions.
- gpvos 11y agoAt least for the graphics, performance was an important factor. API compatibility can be reached through other means than moving stuff into the kernel.