9 ms·
"minix has a spot, and that spot is in education," Yet they're pushing for reliable embedded hardware. Not all that bad of an idea. Given the nightmare of an
by VLM 12y ago
"minix has a spot, and that spot is in education,"
Yet they're pushing for reliable embedded hardware. Not all that bad of an idea. Given the nightmare of android security updates (or complete lack there of) this would make a nice embedded controller.
Need RTOS features. For .edu or .com embedded use.
The microkernel idea is pretty much dead outside the ivory tower, as in practice it didn't work, so I wouldn't be so pessimistic about how things turned out.
- wolfgke 12y ago> The microkernel idea is pretty much dead outside the ivory tower, as in practice it didn't work, The L4 microkernel > http://en.wikipedia.org/wiki/L4_microkernel_family http://en.wikipedia.org/wiki/L4_microkernel_family is really fast and used quite often. See > http://en.wikipedia.org/wiki/L4_microkernel_family#Commercial_deployment http://en.wikipedia.org/wiki/L4_microkernel_family#Commercia... for details about its usages.
- jacquesm 12y ago> The microkernel idea is pretty much dead outside the ivory tower, as in practice it didn't work A huge swath of the real time world (process and industrial control, all kinds of embedded gear) runs on microkernels. They're enormously successful, just not very visible.
- VLM 12y agoI guess what I'm getting at, is in a fair fight, an open source monolithic always works better than an open source microkernel. Behind closed doors decisions always have other concerns... licensing, support contracts, standardized docs, porting assistance, the list goes on and on. For example, look at the recent minix release notes listing the well known theoretical advantages of a micro when a driver fails. Then look at the actual release notes where ARM USB is broken and crashes the entire kernel, in practice. So with a theoretically superior microkernel design, you could restart a crashed driver in theory, although in practice when drivers crash they take the kernel with them. So you could recover from an error although in practice it doesn't work. With a theoretically inferior monolithic design, you can't (easily) restart a crashed driver. Monoliths work around that problem by not crashing. See linux USB support on ARM. So you can't recover from errors, that don't happen anyway, so in practice it doesn't matter. In actual deployment it doesn't matter anyway because software of a low enough quality to suffer severe driver problems most likely won't live long in the marketplace, and most driver software issues are a symptom of the device hardware being damaged, destroyed, or removed. So if your mass spectrometer A/D converter was vaporized by literal lightning, it doesn't really matter if the kernel crashes; besides the lightning probably vaporized the CPU at the same time. One event like this is an anecdote. A couple is a trend. A couple decades of this in the marketplace, well thats something else.
- jacquesm 12y agoMinix is not at all the best example of a microkernel, which is why I have yet to see it in production. QnX is an example of a best-of-breed microkernel and the thing is for want of a better word indestructible. We ran large clusters (for the day) of these and there has never been a documented case of a crash of a kernel that was not hardware related. Pretty impressive given the number of transactions that we would push through those boxes. Device drivers in QnX are completely separate processes that use send/receive/reply to communicate with the kernel, just like every other process. On top of that they have the ability to talk to hardware. If a device driver causes a bus to be locked and never unlocked or if a device driver starts talking to ports that it has no business talking to then that can cause a problem. So as long as hardware is involved device drivers can cause trouble for all the other processes on the system. But in QnX those are very rare instances, I've never seen one but my QnX days preceded the arrival of USB.
- taeric 12y agoCan you share some of what these clusters were doing? Sounds interesting.
- jacquesm 12y agoA very large message switch with very harsh penalties in case it was down. At some point in time it brokered a substantial portion of the worlds shipping tonnage. Privately held company, very small, very wealthy.
- taeric 12y agoWhat sort of messages? And, any logic in routing them? Or is this literally a network switch? Curious how this stacks up against the likes of Amazon's or Twitter's stuff. Or do they have Qnx based setups, as well?
- jacquesm 12y ago> What sort of messages? Broadcasts of capacity seekers and offerers. Along the lines of 'I have 50 40' containers sitting in Panama, Colón, destination Rotterdam, bids in by 14:00 GMT tomorrow'. This would then get broadcasted to all parties that were capable of taking on all or part of that load, within a guaranteed delivery time through just about every medium you can think of with the exception of carrier pigeons. This does not compare at all with Amazon or Twitter, though twitter uses 'Erlang' in their stack somewhere and quite a bit of the philosophy Erlang uses dovetails with the way you build such systems (which is perfectly logical because Erlang came out of Ericsson and they had problems that were mostly synonymous with message switching). I'm not aware of either using QnX in their setup.
- valarauca1 12y ago>as in practice it didn't work QNX says, "Hi." Nearly every router with >1GB/s ports run a microkernel. Blackberry's phones run microkernels. Yeah its closed source locked down, but its a functioning high performance micro-kernel.
- jacquesm 12y agoI've sent a bunch of letters to Quantum software when they still owned it about open sourcing QnX but they never bit. In spite of substantial backing and a pretty good plan (a redhat like model) there was absolutely no interest.
- mwcampbell 12y ago> Nearly every router with >1GB/s ports run a microkernel. Do you mean home wireless routers, or higher-end routers? I thought most home wireless routers these days, including gigabite-capable ones, were running Linux. Can you give specific examples?
- jacquesm 12y agoHe means non-(pro)consumer stuff.
- noselasd 12y agoHere's one: http://www.cisco.com/c/en/us/products/routers/crs-1-multishelf-system/index.html http://www.cisco.com/c/en/us/products/routers/crs-1-multishe... Here's another: http://www.infinera.com/products/dtn.html http://www.infinera.com/products/dtn.html
- deleted 12y ago[deleted]
- cgh 12y agoNo, Cisco's NX-OS, which runs on Nexus-series ethernet switches and MDS-series SANs, is based on MontaVista Linux. These are not niche products.
- pjmlp 12y agoExcept most embedded and real time kernels are micro-kernels or hybrid designs. Talk about being dead.
- taeric 12y agoThis point is easy to mislead, though. Consider, the android kernel is probably rapidly growing in the realm of what would have once been considered for embedded kernels. And it isn't like most of us do not like some of the ideas behind microkernels and the like. The empiricist in me has grown to doubt that it is as much of a win as the hopefuls keep talking about. That is, even if someday microkernels make a pretty big comeback, I doubt it will be as dramatic of a change as is always heralded.
- Symmetry 12y agoI'm given to understand that on many phones Android runs in the application core on top of an L4 kernel, which provides resources to Android but also controls the various DSP and embedded cores.
- jacquesm 12y ago> I doubt it will be as dramatic of a change as is always heralded. I doubt it will happen. But if it happens the difference will be so large that you will be wondering why we didn't do that decades earlier. It's a bit like those people that work with emacs and lisp at home that then have to go to work and use Java or PHP.
- taeric 12y agoI'm one of those people, actually. To the point that I now just use emacs at work. Have slowly started using it for all things. Email, irc, im, etc. Is very very nice. Always amusing to hear folks talk about how limited it is. But, I still can't deny that the modern IDE has gone a long way to advance what can be done outside of emacs. To the point that I just can't bring myself to think the difference between the LISP world and any other is as large as it is often made out to be.
- 12y ago
- Zardoz84 12y agoI belive that AmigaOS was based on microkernel ideas. Not pure, but very near. And it was working very well. My Amiga 1200 boot ups much more faster that Windows or Linux in my moderm quad core machine
- imanaccount247 12y ago>The microkernel idea is pretty much dead outside the ivory tower, as in practice it didn't work, That would certainly explain the billions of microkernels running in production as we speak. Better tell amazon to shut down their whole webhosting business since microkernels don't work. I'm sure they'll be dissapointed to learn about this.