Re: Time for a new OS - From Scratch
We really need something completely new
We do, but we're not going to get it for a number of reasons. The most obvious being that we want most of the existing software to keep running - and that largely assumes either a POSIX or Windows API and both of those, at least implicitly, assume the underlying OS will function in some specific way. More depressingly, the history of operating systems has been one of successive regression followed by a clawing back of the status quo ante and there's presently no indication that will change.
Multics in some ways is still the pinnacle of OS development but its security and flexibility came at a cost - hence Unix which stripped out most of the features and has gradually been putting them back ever since. Minicomputers (such as the PDP-7 on which Unix started) began as a way of providing low(er)-cost computers, mostly for labs, but were necessarily much less complex and generally had very limited memory available, hence operating systems were stripped back to bare essentials. Interestingly, though, even the PDP-1 (or possibly just some of them) had rudimentary security protection: a restricted mode in which certain instructions were disallowed and the ability to bank-switch memory. As minicomputers got more complicated, they grew back most of the features that had been discarded from mainframes and VMS, for example, was indistinguishable from a mainframe operating system.
Then personal computers sent us back before even PDP-1 days with no thought of security at all, but gradually went through the same process and Windows and Linux on modern processors are comparable again to the "advanced" operating systems of the '60s and '70s, though we've stripped out things like multiple protection rings in the interests of portability.
The trouble is we live in a very different world. We're not buying most of our software from computer vendors and writing the rest ourselves. We don't have stable and quantifiable demand. We rent other people's computers and share them with strangers. We have loose working arrangements with people on various contractual terms having access to systems from all over the world. But we still keep revisiting the old solutions of which the most pernicious are all-or-nothing permissions (root, kernel-mode, administrator...) and the notion that security is based on keeping "users" apart.
To the extent we are making any progress, it seems to be reactive - trying to patch up holes in the existing models - rather than trying to imagine something different. It sometimes seems that computer science has fallen down a rabbit hole and is stuck reinventing new ways of doing the same things (programming languages seem to be all the rage presently) rather than looking over the horizon. And that's before we get started on the vested interests...