2 ms·
"The solution for hardware device drivers is to push the complexity where it belongs in 2015, not where it belonged in 1965. Some say they would not trust hardw
by simoncion 11y ago
"The solution for hardware device drivers is to push the complexity where it belongs in 2015, not where it belonged in 1965. Some say they would not trust hardware vendors to get complex software right, and therefore the complexity should remain in software running on the CPU. As long as systems software authors cannot get software right either, there is no huge difference in correctness."
It's not a matter of whether hardware companies can get their firmware right, it's a matter of
* Who keeps developing the firmware after the company abandons the hardware?
* Who bothers to realize that the code for $HARDWARE_COMPANY's 200+ devices can be refactored down to a single module with a few, very minor tweaks for each device?
History tells us (and the explosion of model-specific drivers on Windows, for which there exist single-driver-with-minor-model-specific-tweaks on Linux, demonstrates) that hardware manufacturers generally have little to no desire to do either thing.
"Even on the desktop, the square peg is not the correct shape: we know that the system will be used by a single person and that the system does not need to protect the user from non-existent other users."
As I've intimated elsewhere, an (ostensibly single-user) modern PC has a bunch of unrelated daemons running to serve the logged-in user. User isolation, along with running each daemon as a different system user is what keeps those daemons from messing with the actual computer user's files and processes. This isolation is a pretty important property. Extending that isolation further; by -perhaps- writing wrappers that run each application as a different system user might be quite desirable. :)
"The current cloud trend is gearing towards unikernels, a term coined and popularized by the MirageOS project..."
Maybe. As Linux's ability to sandbox a given process from the rest of the system gets better and better, I suspect that this sandboxing will be the way that a lot of people choose to secure their systems. The sandstorm.io folks report that they have had great success just by using libseccomp on the software that they deploy.