To read all comments associated with this story, please click here.
Yes but we're talking about protecting users from themselves. Hardware has vastly outstripped the performance needs of most users. That's why this big "end of the pc"/tablet/smartphone movement has any legs at all and why ARM is becoming so attractive with its much lower power usage/performance ratio.
For probably 90% of most corporate/enterprise users the performance penalty paid by all this virtualization/context switching would be negligible on current hardware compared to the needs of the task that is putting the system at risk, (browsing, installing questionable/untrusted executables, viewing email attachments in unsecure plugins/viewers, etc). The more we go down the absurd road of let's turn the browser into an operating system with hardware acceleration, webGL, etc that will perhaps be less true.
I think the biggest hurdle facing user adoption is making its use painless/seamless. Remember (one of?) the biggest gripes about Vista in the enterprise was all those UAC dialogs. Qubes seems to paint each "domain" in a different color window which is a nice UI cue, but graduating data from one domain to the other beyond the copy/cut/paste metaphor is always the sticking point.
And while it isn't absolutely a new concept, it is a project worth watching imho.
Yes but we're talking about protecting users from themselves.
A noble idea, but software can't protect against user ignorance. Once you foolproofed a thingamajig, nature goes and invents a bigger fool.
Education would solve a lot of problems out there, but somehow the belligerent end-user won. Now techies are trying to find ways to let untrained individuals wield tremendous power without causing too much damage. Which is strange, because every other powertool comes with the expectation that anybody wielding it knows how to operate one.
A multipurpose computer simply isn't a toaster and treating it like one will, sooner or later, get you burned.
Not that it ultimately matters. Some belligerent end-user or a brainwashed techie will label me an elitist and the quest for uneducated toaster computing will hurry forward unabashed.
As a aside, maybe uneducated computing will become a reality with true A.I. Then again, the computer may opt to kill the dunce who is trying to give it commands :-)
UAC was intentionally designed to be annoying, to raise awareness of apps running as administrative users without good reason and trigger a sort of roundabout kick in the pants to developers via annoyed users.
I absolutely agree though that the big issue will be putting the metaphors into a scheme that feels natural to use for the average user instead of feeling like it's fighting against the user.
If the features are compelling enough the performance hit will be overlooked, just like it has been in most of the big jumps in computing.
I hate when people say 'For 90% of users out there...". What they're really saying is "we're about to piss off the other 10%", and I always seem to be a part of that 10%.
The same is also being tried with Minix 3:
http://www.minix3.org/





Member since:
2006-06-28
vs Static Kernel Organization....
Since this is so obvious...let me start by saying:
1) Separation of these functions is nothing new. It has already been tried to various degrees using Mach.
2) Seems like a great idea, however, implementing the details reveals really really bad performance for lots things.
For one, context switching.
3) Unlike the static guys, who pretty much hammered out how they want to organize a static kernel, and what operations should be built into the CPU hardware wise to speed things up, not so in the Mach world.
Nobody in the Mach world can come up with a agreed plan on how to do all of this compartmentalized sharing of messaging and security context switching between parts.
Till everyone agrees, the hardware manufacturers are not going to support it.
Till then, any sort of non static kernel OS implementation is going to get its arse beat in economy of scale and performance.
Furthermore, advances in static kernel design are gradually eliminating a lot of the concerns over shared address space issues.
By the time the Mach guys figure out what they want or need, static kernels will already be there, and probably beyond.
-Hack