O p e r a t i n g S y s t e m W o e s " a spectre is haunting the computer industry - the spectre of object/capability systems. All the powers of old computing have entered into a holy alliance to exorcise this spectre. " Recently, a friend pointed me to this thing written by Rob Pike, way back in the year 2000. Love him or hate him, but it is pretty spot on I think: http://doc.cat-v.org/bell_labs/utah2000/utah2000.html Ignore the Microsoft and or programming language comments in there if you don't agree with them, or if they haven't aged well - The essense of the talk - how monetization destroyed innovation, and how there's little to no real systems and OS innovation happening rings very true And I would say things have gotten worse since Rob gave this talk in 2000, much worse. A lot of us have come to believe Unix is pretty great. Treat everything as a file, have simple small utilities that do one thing well, etc,... After all, if all we have to compare against is GUI systems such as those used on Microsoft's Windows OS'es, this approach seems a lot more flexible. But, can you imagine better ways a system might work? Believe it or not, there is a lot more to computer history than Unix (+derivatives) and Windows, and we've thrown out a lot of good ideas with the bath- water in the name of standardization, and it not making short-term business-sense to work on new groundbreaking OS technology for most companies. Imagine an operating system where you can just grab variables/objects out of another process without having to worry about inter-process communications. Things like serialization, and the funky formats that come with it, like json and the like, would suddenly become obsolete. Security could be dealt with on a per-object level, or objects of a given type/category. This is how capability-based operating systems could work. If everything interacts with objects, and object-based permissions, you also no longer have to worry so much about isolating individual processes memory address space - heck, you could do away with addresses all together. This would also mean less(/no?) context- switching etc,... If this sounds like crazy science fiction, think again, because it's been done before. MCP did some of this on Burroughs B5000 mainframes way back in 1961. An example of a later, more advanced systems is the BiiN systems which grew out of the intel iAPX 432 project. These systems included a full UI, filesystem, etc,... Manuals for the BiiN can be found here, these include some pictures of these beautiful systems and some gui examples. http://bitsavers.org/pdf/biin/ If you're interested in cap-based systems, give this book a read: https://homes.cs.washington.edu/~levy/capabook/ This is not about which operating system is better than others, it is about encouraging people to think outside of the boxes we're so used to. Like all software, every operating system will inevitably start to suck the more general purpose it's trying to be, the more usecases & people it's trying to cater to, which is a function of how popular it is, and thus the more organic growth and compromises have been layered on it's foundation. That doesn't mean we should stop striving for a better foundation, or be afraid to start with a clean slate and try to make things better, or re-imagine what computing COULD be. It also shows that studying older systems isn't just a thing to be dismissed as a hobby with little value. There is a lot to be learned from our history. Older does not mean worse and newer does not imply better. Better/worse/whatever, it's all a matter of perspective and what you're comparing against what. In any event, I hope this post inspired someone, somewhere, somehow!