APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

2004/08/01 Mach

Mach is a microkernel system, which means that most of the features that are ordinarily within the kernel are instead separate servers - think of them as daemons, though they aren't necessarily running in user space.

At one time, this concept was all the rage. Microkernels, and Mach specifically, were going to take over the world. That has yet to happen. GNU Hurd is a microkernel OS. Through a complicated lineage, Mac OSX is also a Mach off-shoot. Hurd, by the way, owes part of its naming to the phrase "Unix Replacing Daemons", which is what Mach was doing.

The original Mach was developed on a BSD 4.2 box, and they went along replacing parts of the BSD kernel with Mach "servers". This apparently didn't get them too far, so at some point they took the entire BSD kernel and turned it into a Mach server process, running in user space. The performance of this system (called "POE") was less than stellar, as might be imagined.

There are Linux Mach implementations too.

Windows NT has microkernel aspects and I vaguely remember Bill Gates saying something like "it effectively is Unix" way back when. I think he was being asked how NT compared with Mach, or perhaps how much of Mach actually went into NT. He may have also been thinking of the Posix subsystem, which was something Windows trumpeted quite a bit back then. Whatever he as thinking or not thinking, I don't believe he has associated NT and Unix ever again, for obvious reasons. All of that makes Microsoft's disparagement of OS X ("It's a warmed-over Mach") ironically amusing. Is it more amusing that Richard F. Rashid, the "father" of Mach, now runs Microsoft research?



Got something to add? Send me email.




Increase ad revenue 50-250% with Ezoic


More Articles by

Find me on Google+

© Tony Lawrence



Kerio Samepage


Have you tried Searching this site?

Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us





The activity of "debugging", or removing bugs from a program, ends when people get tired of doing it, not when the bugs are removed. (Datamation)





This post tagged: