6 ms·
Mach is a microkernel. That means it's a way to design an OS such that most of the things application programs rely on are outside the kernel, provided by serve
by derleth 16y ago
Mach is a microkernel. That means it's a way to design an OS such that most of the things application programs rely on are outside the kernel, provided by servers that can be restarted and replaced without rebooting the whole system. For example, the majority of the filesystem is provided by a filesystem server, most of the networking code is in a networking server, and so on.
You begin to see why a microkernel that needs to be bounced more often than, say, Linux, which is not a microkernel, begins to lose some of the appeal of having a microkernel in the first place.
(Aside: Mac OS X is based on Mach, but practically all of the stuff applications see is provided by a single server which (to the best of my knowledge) can't be restarted without taking down the whole system. It's a hybrid design.)
Also, just to confirm a stereotype, do you use Windows for your servers?
- stcredzero 16y agoAlso, just to confirm a stereotype, do you use Windows for your servers? Related tangent: There was a time when the the US military's COTS (Civilian Off The Shelf) initiative resulted in AEGIS missile cruisers running largely on machines running Windows NT. Yes, the ships responsible for screening carrier task forces against attack -- had to be rebooted on a weekly schedule. To be fair, the unmolested NT kernel is rock solid. I know people used to run RAID arrays with it, but for the desktop, Microsoft allowed the crossing of certain architectural lines.
- rst 16y agoAnd if the NT machines running your missile cruiser don't come back up, then you have real problems. During trials, the USS Yorktown had to be repeatedly towed into port after systems failures... http://lists.essential.org/1998/am-info/msg03829.html http://lists.essential.org/1998/am-info/msg03829.html
- VladRussian 16y ago>the unmolested NT kernel is rock solid. which, if memory serves me right, directly translates to "OS/2 kernel is rock solid"
- stcredzero 16y agoAlso closely related to "VAX kernel is rock solid"
- wmf 16y agoNo, I don't think NT is a derivative of OS/2. "Given these issues [with OS/2], Microsoft started to work in parallel on a version of Windows which was more future-oriented and more portable. The hiring of Dave Cutler, former VMS architect, in 1988 created an immediate competition with the OS/2 team, as Cutler did not think much of the OS/2 technology and wanted to build on his work at Digital rather than creating a "DOS plus". His "NT OS/2," was a completely new architecture." http://en.wikipedia.org/wiki/OS/2 http://en.wikipedia.org/wiki/OS/2
- deleted 16y ago[deleted]
- derleth 16y agoWindows NT is more closely related to VMS than OS/2, but most directly related to DEC's unreleased Mica OS for their unreleased PRISM CPU architecture. This is unsurprising: They're all designed by the same guy, Dave Cutler.
- rbanffy 16y ago> the unmolested NT kernel is rock solid Too bad it resents running programs on it so much...
- stcredzero 16y agoIt's not that. It's more boneheaded stuff like injecting components supporting the GUI into the kernel. When that happens, it doesn't resent those programs so much as that it's been violated and turned into a warped version of itself. Sort of like Jeff Goldblum's character in The Fly.
- patrickgzill 16y agoFrom what I understand the NT kernel was rock solid, if a little picky about hardware. The problem was that graphics performance suffered due to the strict isolation of the drivers from the kernel. MS relaxed those restrictions in later versions of their OS (either NT4 or Windows 2000), gaining better graphics performance at the cost of kernel stability.
- reeses 16y agoMach isn't a microkernel. For example, NeXTSTEP was based on Mach 2.5, which is a monolithic kernel. Mach 3.0 was the only microkernel version, and to my knowledge, no one has adopted it with any success.
- msbarnett 16y agoMach 3.0 was folded into XNU in roughly the same way that earlier versions of Mach were used, but with more of the BSD functionality ported down into Mach rather than hosted POE-style in kernel space. So 3.0 was adopted, with success, but not as a microkernal hosting user-space servers.
- glhaynes 16y agoDoes "POE" stand for something? POSIX Operating Environment, maybe? A quick Googling and a look at the Mach Wikipedia page doesn't reveal the answer.
- mobilemonkey 16y agoHmm, nope. Solaris of some flavor I think.
- rbanffy 16y agoOh boy... That's what you get when you assign the management of Solaris servers to MCSAs...
- josephcooney 16y agoSo if windows systems are unreliable it's windows fault, and if other OSs are unreliable it's also windows fault?
- rbanffy 16y agoNo. It's just that Solaris (and every other kind of Unix) admins know very well that they don't bounce servers when they don't know what's wrong - they find out what's causing the problem and correct it. There is a very rich set of tools to make that easy. Bouncing a server may even make the problem go away, but it does little to enlighten you on why it happened in the first place. And yes, If your MCSAs tend to bounce servers all the time, that's because their experiences have shown this works for Windows.
- josephcooney 16y agoThere are plenty of tools for troubleshooting problems on windows. And your statement that "every kind of unix admin knows not to do that" seems plainly at odds with the reality here.
- rbanffy 16y ago> seems plainly at odds with the reality here. You have a human resources problem, not a technical one.
- mobilemonkey 16y agoThanks for the great explanation, too, btw.